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

Создание постпроцессора на токарный станок в NX/Post Builder


avd

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

Уважаемые,

Необходимо в токарном постпроцессоре реализовать нарезание резьбы 2-мя способами.

В токарной операции нарезания резьбы (например THREAD_OD) есть переключатель Станок -> Использ. циклы станка (Встроенные).

Вопрос в студию: "В Post Buildere я не знаю как перехватить нажат переключатель Использ. циклы станка или нет?"

Под отладкой посмотрел какие события имеются. Ручками эти события не проблема подправить под себя, а вот как это сделать через PB?

Заранее спсб

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


В таком случае, если я правильно понимаю задачу, траектория как таковая вообще не нужна.

Может проще создать событие пользователя и его описать в Постпроцессоре.

В качестве примера могу предложить цикл резьбофрезерования для Sinumeric 840D, просто для токарки у меня подобного примера нет.

EVENT BL_CYCLE90

{

UI_LABEL "Фрезерование резьбы"

CATEGORY MILL DRILL

PARAM Cycl_DIATH

{

TYPE d

DEFVAL "48"

UI_LABEL "Наружный диаметр"

}

PARAM Cycl_KDIAM

{

TYPE d

DEFVAL "46.3762"

UI_LABEL "Внутренний диаметр"

}

PARAM Cycl_PIT

{

TYPE d

DEFVAL "2"

UI_LABEL "Шаг"

}

PARAM Cycl_CDIR

{

TYPE o

DEFVAL "G2"

OPTIONS "G3","G2"

UI_LABEL "Направление вращения"

}

PARAM Cycl_TYPTH

{

TYPE o

DEFVAL "INTERNAL"

OPTIONS "EXTERNAL","INTERNAL"

UI_LABEL "Тип резьбы"

}

}

Изменено пользователем GES
Ссылка на сообщение
Поделиться на других сайтах

Ну этот вариант могет быть, но я его приберегу на самый последний случай.

Есть вариант написать маленькую DLL и вызывать ее из TCL файла и потом как-то возвращать. Как пока не знаю.

Может кто подскажет, как обмениваться информацией между DLL в TCL?

Всех с наступающим НГ!

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

Один из моих знакомых пользовался библиотеками какое-то время, хотя потом отказался от этого.

Если я правильно понял его объянение, то указывается путь к этой библиотеке, а затем можно вызывать нужную финкцию.

Выглядит примерно так :

#=============================================================

proc PB_CMD_dll { } {

#=============================================================

global user_dll

set user_dll [MOM_ask_env_var UGII_CAM_POST_DIR]user.dll

START $user_dll "start"

}

Можешь более подробно поинтересоваться у Ug_user, он любитель работать с библиотеками.

Может и поделится информацией.

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

Как вызвать DLL из TCL я знаю. Вопрос как лучше передавать данные из DLL в TCL обратно. Есть вариант через файл, но лучше бы через переменную mom_чего-нибудь, но пока не пробовал.

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

Была похожая задача по реализации циклов резьбофрезерования (нет в NX)

Создали событие пользователя, все нормально работает.

#---------------------------------------------------------------------------

#

# Event for zagotovka_1

#

EVENT zagotovka_1

{

POST_EVENT "zagotovka_1"

UI_LABEL "Резьбофрезерование внутреннее"

PARAM command_status

{

TYPE o

DEFVAL "Active"

OPTIONS "Active","Inactive"

UI_LABEL "Резьбофрезерование внутреннее"

}

PARAM X_param

{

TYPE d

DEFVAL "0.000"

UI_LABEL "Коорд.центра отверстия_X"

}

PARAM Y_param

{

TYPE d

DEFVAL "0.000"

UI_LABEL "Коорд.центра отверстия_Y"

и т.д все необходимые парметры цикла.

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

Потихоньку разобрался с темой. Напомню что главным условие было остаться работать в PB. Если кому интересно сделал так:

1. Создал файл my_thread.tcl и поместил его в %UGII_BASE_DIR%\MACH\RESOURCE\POSTPROCESSOR

2. В проекте Постбилдера во вкладке Output Settings - Other options - Source User's TCL File вкл. - File Name указал my_thread.tcl

3. В файле описал четыре процедуры MOM_thread, MOM_start_of_thread, MOM_end_of_thread и MOM_lathe_thread

Соответственно MOM_thread вызывается когда переключатель Станок - Использ. циклы станка (Встроенные) ВКЛ, потом работает MOM_lathe_thread

MOM_start_of_thread работает когда переключатель Станок - Использ. циклы станка (Встроенные) ВЫКЛ, потом работает MOM_lathe_thread и еще несколько функций (подробно можно посмотреть в отладке).

4. С помощью переменной-флага делаем, так что бы вызывалось все один раз. В присоединение есть файлик где указано как это сделать.

Удачи

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

Все из предложенных вариантов возможны были с постбилдером ... :rolleyes:

Родился какой-то новый - тоже неплохо ... :clap_1:

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

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

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

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

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

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

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

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

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

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

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




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