Jump to content

NX смена системы координат обработки (вопросы новичка)


Recommended Posts

s_liam

Добрый день, коллеги.

В NX не работал, поэтому не знаю некоторых элементарных моментов.
Но задачи научиться в нём работать пока не стоит.
И тут есть несколько вопросов.
Существует проект в NX, который создан под станок, где ось Z станка - это вертикальная ось. Соответственно в CLSF файл вектор инструмента передаётся I J K со значениями 0 0 1.
Проект нужно портировать на другой станок, где вертикальная ось станка - это Y.
В данном проекте нужно выполнить разворот системы координат обработки, чтобы ось инструмента была I J K 0 1 0.
И вроде как, чтобы это сделать, нужно выполнить некоторый перерасчёт процедур, в общем повозиться (как мне сказали).

В CATIA, например, с этим нет никаких проблем и ничего почти делать не нужно. Задаётся процедура смены системы координат обработки и все векторы инструмента и координаты инструмента выводятся уже в ней. Трудозатрат минимум.
Как это в NX реализовано? Неужто нужно будет пересчитывать процедуры и осуществлять какие-то иные действия, кроме как создать смену системы координат обработки? Мне сказали, что якобы в процедурах по уровням надо будет указывать иную ось и это несколько долго.
Постпроцессор для станка - внешний, написанный в IMSPost (портированный с CATIA).

Edited by s_liam
Link to post
Share on other sites


UnPinned posts
vicebear
3 часа назад, s_liam сказал:

Мне сказали, что якобы в процедурах по уровням надо будет указывать иную ось и это несколько долго

 А тут вопрос - как в операции изначально ось инструмента задана? Если как нормаль к грани, то при другой ориентации системы координат не нужно ничего править будет. Или постом главную ось менять. У меня для таких станков два постпроцессора было - для Y и для Z.

Link to post
Share on other sites
s_liam

Да уж. В каждой CAM свои костыли... Вроде элементарная штука для одной CAM, и апендикс для другой.
На уровне поста крутить - надо команду придумать, матрицы крутить (надо же как-то ему сказать, что, Z в данный момент совсем не Z. А пользователю не забыть, что Z это не Z). А потом если ещё какой поворот нужен рабочей плоскости - ещё раз крутить. И вот не знаю я, насколько там всё правильно развернётся. Думаю, делается всё это, но пока доводилось работать с тем, что CLSF файле уже нужная информация по векторам и при необходимости развернуть рабочую плоскость уже постом преобразуется.

Link to post
Share on other sites
s_liam

А такой вопрос. В CATIA есть ещё опция трансформации. То есть ставится опция открытия трансформации (поворота, смещения, масштабирования, зеркала) траектории. В NX есть такое?

Link to post
Share on other sites
vicebear
7 часов назад, s_liam сказал:

А такой вопрос. В CATIA есть ещё опция трансформации. То есть ставится опция открытия трансформации (поворота, смещения, масштабирования, зеркала) траектории. В NX есть такое?

Через "События пользователя" можно почти всё что угодно вывести. Только зачем? Весь смысл в том, что как программа отрисовывается на мониторе, так она идёт и на станке, а не в зеркальном, смещённом или масштабированном виде.

Link to post
Share on other sites
s_liam
Posted (edited)
05.07.2023 в 15:17, vicebear сказал:

Через "События пользователя" можно почти всё что угодно вывести. Только зачем? Весь смысл в том, что как программа отрисовывается на мониторе, так она идёт и на станке, а не в зеркальном, смещённом или масштабированном виде.

Согласен. Но, к примеру, это нужно для снижения трудозатрат для программиста. Например, обрабатывалась деталь на станке, когда она лежит на столе, перпендикулярно столу идёт ось Z станка. И нужно тоже самое вывести на другой станок, где она также будет на столе лежать, но перпендикулярно столу на этом станке идёт уже ось Y. Соответственно, и в программу надо выводить уже другие координаты.
Как мне сказали, просто изменить направление системы координат обработки в NX не получится, так как придётся всё или часть операций пересчитывать программисту. А без этого в программу выведутся векторы инструмента, как будто он направлен по оси Z (I0 J0 K1) и постпроцессор в нормальном варианте выведет в УП не те координаты. Поэтому я и спросил, с помощью чего можно вывести в промежуточный clsf файл уже нужные координаты. Пусть это будут события (или как они там называются, не знаю), любая другая опция. В противном случае придётся уже на уровне постпроцессора дополнительно обрабатывать информацию в строках GOTO и прочих.

Я не знаю, как в NX постпроцессоры делаются и нужен ли для постбилдера какой-то промежуточный файл. Но в CATIA всегда используется промежуточный файл, у неё нет своего генератора.
Так вот в него выводится вся информация по векторам инструмента и все остальные команды.
И, соответственно, из NX мне нужно получить CLS файл уже в развёрнутой системе координат.

Edited by s_liam
Link to post
Share on other sites
kosmonaft
05.07.2023 в 06:58, s_liam сказал:

А такой вопрос. В CATIA есть ещё опция трансформации. То есть ставится опция открытия трансформации (поворота, смещения, масштабирования, зеркала) траектории. В NX есть такое?

А правая кнопка на траектории и выбрать Траектория и дальше посмотреть вроде Изменить  (не помню названия с планшета пишу) там и зеркало  где-то было. А в Изменить и сместить точку или всю траекторию можно. Вот масштабировать , честно не помню и не искал, завтра на работе посмотрю!
 

и к первому посту, а зачем промежуточный файл вам? Может пост сделать? Может бред, но сделать пост и заменить адреса Z->Y и т.д. и множитель добавить -1 если какая-то ось не туда смотрит? Это просто предложение, могу ошибаться!

Link to post
Share on other sites
s_liam
Posted (edited)
33 минуты назад, kosmonaft сказал:

и к первому посту, а зачем промежуточный файл вам? Может пост сделать? Может бред, но сделать пост и заменить адреса Z->Y и т.д. и множитель добавить -1 если какая-то ось не туда смотрит? Это просто предложение, могу ошибаться!

Я ж написал вроде, что NX у меня нет и работать в нём я не умею, как и в его постбилдере. Есть пост для CATIA, а пост написан в универсальном генераторе IMSPost, который также позволяет получать УП из под NX. Для этого генератора нужны входящие данные, которые называются промежуточным файлом, CLData итд.

Edited by s_liam
Link to post
Share on other sites
Vladislav-dobrynin
04.07.2023 в 09:34, s_liam сказал:

Проект нужно портировать на другой станок, где вертикальная ось станка - это Y.

Что значит вертикальная ось - Y? ось шпинделя станка направлена вдоль оси Y - нужно чтобы обработка была в плоскости G18? Значит надо произвести поворот координат в IMS - берите формулу матрицы поворота в пространстве - домножайте на нее координаты. Более простой вариант - просто поверните плоскость обработки G17 командами - Arot X90 (Siemens) или G68I1J0K0R90 (Fanuc)

Edited by Vladislav-dobrynin
Link to post
Share on other sites
  • 2 months later...
08.07.2023 в 13:04, Vladislav-dobrynin сказал:

Что значит вертикальная ось - Y? ось шпинделя станка направлена вдоль оси Y - нужно чтобы обработка была в плоскости G18? Значит надо произвести поворот координат в IMS - берите формулу матрицы поворота в пространстве - домножайте на нее координаты. Более простой вариант - просто поверните плоскость обработки G17 командами - Arot X90 (Siemens) или G68I1J0K0R90 (Fanuc)

В общем, добавил я команду пользователя для постпроцессора, где можно через Событие пользователя в NX указать вокруг какой оси на сколько градусов повернуть оси обработки, чтобы постпроцессор сам развернул всё. А там уже по необходимости при 3+2 обработке ставил ROTы итд.
Мой-то вопрос заключался в основном  в том, насколько сложно и долго в большом проекте NX задать новую систему координат обработки? Не хотелось костыли в постпроцессор вот эти прикручивать. Не совсем верный это путь, на мой взгляд.
 

Link to post
Share on other sites
Vladislav-dobrynin

Вы изначально сказали - что с  проекта нужно постпроцессировать на другой станок . Другой станок - это новый постпроцессор . Зачем вы в старый постпроцессор забиваете костыли - события пользователя используете ? 

Создаёте новый постпроцессор который будет выводить эти довороты без назначения событий . Другой станок - новый постпроцессор -  Такой путь верный на ваш взгляд ?

Link to post
Share on other sites
8 минут назад, Vladislav-dobrynin сказал:

Вы изначально сказали - что с  проекта нужно постпроцессировать на другой станок . Другой станок - это новый постпроцессор . Зачем вы в старый постпроцессор забиваете костыли - события пользователя используете ? 

Создаёте новый постпроцессор который будет выводить эти довороты без назначения событий . Другой станок - новый постпроцессор -  Такой путь верный на ваш взгляд ?

Да. Проект нужно постпроцессировать на другой станок.
Да, другой станок - другой постпроцессор. Так и есть.
Я не в старый постпроцессор для старого станка костыли забиваю Старый постпроцессор сделан в Post Builder. На новый станок постпроцессор сделан в IMSPost под CATIA. Мне пришлось костыль забить в постпроцессор под IMSPost. Потому что:
- на старом станке деталь ставилась на угольники, система координат обработки располагалась осью Z к угольникам.
- на новом станке деталь будут класть на стол, не на угольники ставить. Соответсвенно, всю обработку в старом проекте надо повернуть вокруг оси X на 90 градусов.
- Я сам не знаю NX, но те, кто работают, сказали, что развернуть оси в большом проекте достаточно муторно и долго. Отсюда возник и вопрос здесь, насколько это реально долго сделать, если проект большой. В CATIA, например, поменять направление системы координат обработки - быстро, не пересчитывая никаких процедур.
Но чтобы оси развернуть в постпроцессоре, нужно какое-то событие, иначе для всех проектов под этот станок придётся оси не как на станке позиционировать.
Так, надеюсь, понятно будет.
Вот пока одно за другое, решил, что быстрее прикрутить костыль, нешёл, что в NX, как и в CATIA, можно события пользователя создавать и прописывать любые команды.
Что и сделал.


 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.




  • Сообщения

    • gudstartup
      KEY4 и все остальные эьо комментарии сигналов описанные в вашем ладдере и имена там могут быть какие угодно
    • palmerson
      спасибо, уже исправил, запутался в порядке, забываю что нумерация с 0)
    • Viktor2004
      Не правильно. Бит 6
    • palmerson
      Открывал) я просто уточняю, я же правильно написал что бит #6 это key4, я же не из головы это взял, а из руководства, просто стойка не отображает что там key4 Пробовал, может что то не так сделал. может вместе с аварийным остановом или еще с чем нужно было пробовать, но просто поменять бит 7 на 1 не даёт право редактирования таблицы Да и как я понял 1 наоборот отключает key4, должен стоять в 3290 0 , я вот думаю просто в key 4 установить 1 и всё должно работать или нет? 
    • Kelny
      Меню Вид-Наименования/Имена размеров https://help.solidworks.com/2010/russian/SolidWorks/whatsnew/AllContent/SolidWorks/Core/Detailing/wn_2010/c_wn_2010_Dimension_Names.html
    • Сергей П.
      Siemens Sinumerik 805 6FC4100-IAAOO-z F-NR/ T 412B090-90 DC 24V 75VA Кабеля смотрели, там всё нормально
    • Anat2015
      Тут когда то выкладывалась инфа по старым Фанукам, поищите. Хотя, думаю, программирование не должно меняться, почитайте на другую подобную систему. Думаю, вам скорее всего нужен чей-то совет, кто занимался подобным.
    • Viktor2004
    • boomeeeer
      Что-то вроде этого наверное https://www.taobao.com/list/item/wap/44165253685.htm
    • boomeeeer
      Нет в вашем ладдере активации сигнала G46.6 (KEY4). Пока там не будет единицы, то не даст ничего менять.  Кстати есть такой вот параметр 3290 и его бит 7 #7    KEY  For memory protection keys:  0:  The KEY1, KEY2, KEY3, and KEY4 signals are used.  1:  Only the KEY1 signal is used.    Что если вам там 1 поставить. В таком случае даже при наличии 1 в KEY1 всё должно быть доступно  
×
×
  • Create New...