Перейти к публикации

FAQ/Unigraphics/POST


Рекомендованные сообщения

В 15.11.2020 в 17:40, kosmonaft сказал:

Для чего? - Обработка 3+2 в конце траектории если нет изменения углов поворота то станок не "отпрыгивает" в безопасное положение , а если есть то отпрыгивает! 

Может проще сделать так, чтобы станок всегда "отпрыгивал" при смене позиции 3+2 обработки? Максимально безопасно.

Можно оставлять метку в месте предполагаемого "отскока". Пройтись по всем операциям, сохраняя инфу об изменениях позиции (их число должно совпадать с числом меток, нет?). Естественно, инфа должна быть не только об углах поворота. А после пройтись по тексту УП с начала и, встретив метку, решать на основе сохраненных данных, нужен ли в данном месте отскок или нет (можно будет легко подсмотреть меняется ли позиция в следующей операции или меняется она несколько раз подряд в пределах одной операции).

Ссылка на сообщение
Поделиться на других сайтах


15.11.2020 в 19:06, grOOmi сказал:

 

Так и проверяй в следующей операции. Там же и отвод делать, или не делать.

 

16.11.2020 в 12:09, Ug_user сказал:

Да...да...да... Правильные вопросы.

1. Можно тупо анализировать шаблон операции и в зависимости от этого принимать решение - есть 3+2 или непрерывная 5-осевая обработка. Но - я могу в шаблоне planar насовать 5-осевых перемещений... 

2. А как правильно? По хорошему, перед стартом операции нужно остановить вывод в программу, добежать до конца операции и понять - меняется или не меняется ось инструмента в программе. Вернуться на место развилки и  уже делать правильный вывод. Но и тут засада!!! Представь себе операцию hole_making, в которой ты сверлишь 20 отверстий и все - с разным положением оси инструмента. Представил? Так это непрерывная 5-осевая? Или набор нескольких 3+2? И какие твои действия в этом случае? 

 

16.11.2020 в 17:46, mr_Voden сказал:

Может проще сделать так, чтобы станок всегда "отпрыгивал" при смене позиции 3+2 обработки? Максимально безопасно.

Можно оставлять метку в месте предполагаемого "отскока". Пройтись по всем операциям, сохраняя инфу об изменениях позиции (их число должно совпадать с числом меток, нет?). Естественно, инфа должна быть не только об углах поворота. А после пройтись по тексту УП с начала и, встретив метку, решать на основе сохраненных данных, нужен ли в данном месте отскок или нет (можно будет легко подсмотреть меняется ли позиция в следующей операции или меняется она несколько раз подряд в пределах одной операции).

Спасибо всем за советы! Ув. Ug_user сказал слишком много и слишком мало, что заставило пересмотреть свой подход к постам! В итоге пришел к тому (придумал алгоритм и начал реализовывать) что действительно анализирую изменение оси в траектории и при изменение оси при 3+2 "смотрю"  изменилась ли ось! Но пока до конца не добил - главное теперь есть идея и алгоритм, а дальше дело техники! 

Ссылка на сообщение
Поделиться на других сайтах
16.11.2020 в 11:09, Ug_user сказал:

Представь себе операцию hole_making, в которой ты сверлишь 20 отверстий и все - с разным положением оси инструмента. Представил? Так это непрерывная 5-осевая? Или набор нескольких 3+2? И какие твои действия в этом случае? 

 

Самое смешное, что в зависимости от одного параметра это может быть или непрерывная 5-осевая, или 3+2. А параметр этот многие пользователи по незнанию часто задают даже если станок 3+2.

Ссылка на сообщение
Поделиться на других сайтах
15.11.2020 в 15:40, kosmonaft сказал:
Скрытый текст

 

Здравствуйте уважаемые форумчане!

Спросить не кого, а вопрос мучает!

Как реализовать в постбилдере "просмотр" (или проверку) есть ли в следующей операции изменение угла по поворотным осям (или как считать значение поворотных осей в следующей операции)???? Вообще интересно как получать данные из следующей (или предыдущей) операции при постпроцессировании! 

Для чего? - Обработка 3+2 в конце траектории если нет изменения углов поворота то станок не "отпрыгивает" в безопасное положение , а если есть то отпрыгивает! 

Заранее благодарен за любую подсказку!

 

 

 

Использую такую проверку на не 3-х осевые операции, помещённую в PB_CMD_before_motion

 

if { ! [ EQ_is_equal $mom_tool_axis(2) 1.0 ] } {

MOM_abort "your message"

}

Ссылка на сообщение
Поделиться на других сайтах
22 часа назад, grOOmi сказал:

 

Самое смешное, что в зависимости от одного параметра это может быть или непрерывная 5-осевая, или 3+2. А параметр этот многие пользователи по незнанию часто задают даже если станок 3+2.

Если не секрет, скажите пожалуйста какой параметр вы имеете ввиду? 

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, kosmonaft сказал:

Если не секрет, скажите пожалуйста какой параметр вы имеете ввиду?

 

Ускоренные перемещения поставь по G1 и всё резко поменяется.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Добрый день.

Прошу помощи: 

Мне нужно, что-бы пост в зависимости от "В" выводил так:

...

G0 B0.0
G52 Z#500 X#501 Y#502

....

G0 B90.
G52 Z#503 X#504 Y#505

....

М30

Создал команду пользователя:


global mom_out_angle_pos
      if {$mom_out_angle_pos(0)==0.0} {
      MOM_output_literal"G52 Z#500 X#501 Y#502"
      }
      if {$mom_out_angle_pos(0)==90.} {
      MOM_output_literal"G52 Z#503 X#504 Y#505"
      }
Вставил команду в "начало программы".

 

после запуска постпроцессирования выдает ошибку

 

 

 

 

 

Снимок.JPG

Снимок.JPG

Изменено пользователем gera-174
Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, gera-174 сказал:

if {$mom_out_angle_pos(0)==0.0} 

if {$mom_out_angle_pos(0)==90.}

Ошибка не в этом, но эти условия лучше заменить на 

if {abs($mom_out_angle_pos(0))<0.0001}

и

if {abs($mom_out_angle_pos(0)-90.)<0.0001}

потому что в переменной $mom_out_angle_pos(0) может оказаться, например, значение 90.000000000000014

 

Ссылка на сообщение
Поделиться на других сайтах

@A_1 Немного дополню Ваш пост. Есть встроенные функции, например EQ_is_equal которые сравнивают числа корректно. Подробно можно глянуть в "папка с NX\MACH\resource\postprocessor\ugpost_base.tcl"

Ссылка на сообщение
Поделиться на других сайтах

Доброе утро,

 

Это журнал.

Журнал.doc

14 часов назад, A_1 сказал:

Ошибка не в этом, но эти условия лучше заменить на 

if {abs($mom_out_angle_pos(0))<0.0001}

и

if {abs($mom_out_angle_pos(0)-90.)<0.0001}

потому что в переменной $mom_out_angle_pos(0) может оказаться, например, значение 90.000000000000014

 

Заменил строки, как Вы предлагаете - выдает ошибку:

 

Снимок.JPG

Ссылка на сообщение
Поделиться на других сайтах

@gera-174Судя по журналу у вас в посте написано MOM_output_literal"G52. Пробел после literal поставьте. 

Ссылка на сообщение
Поделиться на других сайтах
14 часов назад, A_1 сказал:

Ошибка не в этом, но эти условия лучше заменить на 

if {abs($mom_out_angle_pos(0))<0.0001}

и

if {abs($mom_out_angle_pos(0)-90.)<0.0001}

потому что в переменной $mom_out_angle_pos(0) может оказаться, например, значение 90.000000000000014

 

Заменил строки, как Вы предлагаете - выдает ошибку:

 

100.JPG

101.JPG

Журнал.doc

Ссылка на сообщение
Поделиться на других сайтах

Решетка случайно не служебный символ TCL? Может его через обратный слэш надо? Не уверен, могу ошибаться! 

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, kosmonaft сказал:

Решетка случайно не служебный символ TCL? Может его через обратный слэш надо? Не уверен, могу ошибаться! 

 

нет

Ссылка на сообщение
Поделиться на других сайтах
15.11.2020 в 15:40, kosmonaft сказал:

Вообще интересно как получать данные из следующей (или предыдущей) операции при постпроцессировании! 

Тоже очень интересен этот вопрос. Если скинете пример, буду очень признателен. Например, как проверить, будет ли следующая операция циклом сверления или нарезания резьбы метчиком?

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, vanek77777 сказал:

Если скинете пример, буду очень признателен. Например, как проверить, будет ли следующая операция циклом сверления или нарезания резьбы метчиком?

 

Какой в этом смысл?

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, grOOmi сказал:

 

Какой в этом смысл?

На токарно-фрезерном станке при радиальном нарезании резьбы метчиком вместо S300M3 используем М329S300. Но проблема в том что обороты S выводятся для всех операций, и перед первым перемещением. Получается выводятся обороты, а потом уже пост анализирует какие перемещения ему делать. По g0, g1 или циклы. Допустим если бы пост заранее знал, что будет цикл, можно было бы менять М3 и М329, в зависимости от необходимости. Могу конечно и ошибаться, тогда прошу подправить. Может есть другой алгоритм подмены М3 на М329 если есть цикл g88. Сейчас решено достаточно просто. При g88 выводится M5 (Выключаем s300m3, иначе не сработает М329) потом М329s300, делаем цикл и m5.

Ну всегда хочется стремиться к совершенству))) и не выводить лишнего)) Ну и в целях саморазвития было бы не плохо знать, то о чем спросил в предыдущем сообщении)

 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...