Ресурсы Unigraphics: Создание постпроцессоров. Создание дополнительных MOM функций. |
МОМ расширения: pb_base_stub.zip
Все Ваши расширяемые функции следует использовать по схеме:
if {[llength [info commands ВашаФункция ] ]} { ВашаФункция ; # выполняемые действия }- это избавит Вас от ошибок, если по каким то причинам Юниграфика не сможет загрузить библиотеку.
Для построения функций диалога необходимо использовать или WinApi, или UGStyler, или .Net (C++,VB,Java,C#).
Если Вы хотите использовать в MOM-расширении функции диалога UG uc1608 или uc1609. То использовать их, необходимо по схеме показанной ниже:..... int ia4[2]={0,0}, ip6[2] = { 1, 1 }, resp; double ra5[2] = { 30000.0 , 60000.0 } ; char menu[2][16]; strcpy(&menu[0][0], ":F (реза)="); strcpy(&menu[1][0], ":F (ускоренной)="); //ra5[0] = *f0; //ra5[1] = *f1; UF_UI_close_listing_window(); UF_UI_lock_ug_access(UF_UI_FROM_CUSTOM); resp = uc1608(":Введите подачи F:", menu, 2, ia4, ra5, ip6); //*f0 = ra5[0]; //*f1 = ra5[1]; UF_UI_unlock_ug_access(UF_UI_FROM_CUSTOM); UF_MOM_set_double(mom_id, "feed_rate", ra5[0]); UF_MOM_set_double(mom_id, "rapid_rate", ra5[1]); ........
здесь только часть их, я убрал функции работы с реестром, математические, а также экспериментальные.
MOM команда |
Описание |
Ограничения |
MOM_ui_set_status ?str | Вывод сообщения в строку статуса. Например: proc MOM_before_output { } { global mom_o_buffer MOM_ui_set_status $mom_o_buffer } |
|
MOM_box_message ?m1 ?m2 ?m3 ?m4 ?m5 .... | Вывод сообщения на экран. выводит сообщение на экран (используя функцию uc1601) и останавливает постпроцесс. Параметры обьединяются: m =m1 \n m2 \n m3 \n m4 \n m5 \n ... |
|
set ret [ MOM_ui_message ?typesign ?button
?m1 ?m2 ?m3 .... ] |
Вывод сообщения на экран. typesign = { ERROR|WARNING|INFORMATION|QUESTION } - тип значка (сообщения) или { ERROR|WARN|INFO|? } - их сокращения button = ABORTRETRYIGNORE The message box contains three push buttons: Abort, Retry, and Ignore. OK The message box contains one push button: OK. This is the default. OKCANCEL The message box contains two push buttons: OK and Cancel. RETRYCANCEL The message box contains two push buttons: Retry and Cancel. YESNO The message box contains two push buttons: Yes and No. YESNOCANCEL The message box contains three push buttons: Yes, No, and Cancel. выводит сообщение на экран (используя функцию UF_UI_message_dialog) и останавливает постпроцесс. вариант выбора кнопки пользователем возвращается функцией как результат. ret = {1 2 3} if message box contains three push buttons ret = {1 3} if message box contains two push buttons |
В
NX
9 разработчики ввели MOM команду: MOM_display_message <message> <title> <type> [<button1>][<button2>][<button3>] Показывает диалоговое сообщение в NX, где <type> это тип выводимого сообщения I|E|W|Q, I - информация, E - ошибка, W - предупреждение, Q - вопрос. Функция возвращает номер выбранной кнопки (1, 2, или 3). |
MOM_abort_ex ?m1 ?m2 ?m3 ?m4 ?m5 .... | Вывод сообщения на экран и прерывание постпроцесса. частный случай функции MOM_ui_message когда: typesign = ERROR button = ABORT выводит сообщение на экран (используя функцию UF_UI_message_dialog) и останавливает постпроцесс, после нажатия кнопки возвращает в интерпретатор код ошибки для завершения постпроцесса. |
если использовать эту
функцию в конструкции: catch { MOM_abort_ex "Конец" } - то Tcl - выловит исключение и постпроцесс не остановиться. |
MOM_info_message ?where ?m1 ?m2 ?m3 ?m4 ?m5 .... | Вывод сообщения на экран. where = { CURSOR|CASCADE|RIGHT|LEFT } - где появляется окно выводит сообщение на экран (используя функцию UF_UI_display_nonmodal_msg), постпроцесс не останавливается. параметры обьединяются: m =m1 \n m2 \n m3 \n m4 \n m5 \n ... |
|
set file [ MOM_ui_filebox ?file ?ext ] | Создание диалога выбора файла. возвращаемое значение: file - полное имя выбранного файла, МОМ переменные: mom_ui_filebox_return - код нажатия кнопки (ок,cancel) . mom_ui_filebox_filename - имя файла = полное имя выбранного файла |
|
set ret [ MOM_assign_attribute $title {$value|NULL|TIME} {operation_name|group_name}
] |
Создание атрибутов операции/программы. - при постпроцессе устанавливает атрибут операции или программы Параметры: title - имя атрибута value - значение атрибута, создается атрибут типа UF_ATTR_string NULL - создается атрибут типа UF_ATTR_null TIME - создается атрибут типа UF_ATTR_time - с текущим временем {operation_name , group_name} - имя операции или группы (программы),для которой создается атрибут. возвращается результат: ret= 0 - атрибут установлен. 1 - ошибка, атрибут НЕ установлен. |
В процессе создания
своих постпроцессоров: не изменяйте созданные UG
значения mom_operation_name ,
mom_group_name, ... -
других переменных. Лучше создайте свою и работайте с ней.
Начиная с
NX8.5.3 UgOpen <uf_attr.h>
Юниграфики обновлен новыми функциями для работы с
'Атрибутами'.
|
MOM_set_attribute_program 1) вызов без параметров - установка атрибутов согласно выделенным обьектам 2) вызов с параметрами - MOM_set_attribute_program $mom_group_name $ptp_file_name $mom_machine_time $mom_machine_name или MOM_set_attribute_program $mom_operation_name $ptp_file_name $mom_machine_time $mom_machine_name |
Создание атрибутов операции/программы (специальных). - при постпроцессе устанавливает атрибуты операции или программы названия атрибутов: OPU_FILE_UP_NAME - имя файла управляющей программы OPU_FILE_UP_CREATE - время создания CNC - управляющих программ (УП) OPU_FILE_UP_TIME - машинное время OPU_FILE_UP_MACHINE - станок Эти атрибуты необходимы, для того, чтобы после, запустив другую программу технолог - автоматически создал операционную карту, и занес данные в базу данных отдела (SQL), что он сделал. |
Начиная с
NX8.5.3 UgOpen <uf_attr.h>
Юниграфики обновлен новыми функциями для работы с
'Атрибутами'. Функционально разбиты на 3-и части: новые для работы с PDM Teamcenter, новые для работы внутри модели и старые. Разработчики советуют использовать новые. |
set name_part [ MOM_ask_part_attr ] | Выводить имя части. используя UGMGR устанавливает mom переменные (переменные должны уже быть описаны global .... и существовать до вызова) Переменные: mom_ask_part_number mom_ask_part_revision mom_ask_part_file_type mom_ask_part_file_name mom_ask_part_name mom_ask_part_desc Возвращает строку = {part_file_name}_{part_revision} Например: name_part=T_T7.92.0562.078.000.73_raz_cam2_A mom_ask_part_number =T_T7.92.0562.078.000.73_raz mom_ask_part_revision =A mom_ask_part_file_type =manifestation mom_ask_part_file_name =T_T7.92.0562.078.000.73_raz_cam2 mom_ask_part_name =ОКАНТОВКА_БАГАЖ_ЛЮКА mom_ask_part_desc =ж/н RRJ "разв.стр."п.148;п.154;РЦ-103гр.97-006-2005 |
|
MOM_call_grip ?gripfile ?param1 ?param2 .. ?param30 | Вызов GRIP. Важно! Все параметры - param(i) - передаются в grip строковыми. |
|
set value [ MOM_uf_param_ask_value ?operation_name ?param ] | Чтение параметров из операции. Параметры: operation_name - имя операции param - параметр (целое число) (из файла uf_param_indices.h) чтение параметра происходит в порядке: +UF_PARAM_ask_int_value +UF_PARAM_ask_double_value -UF_PARAM_ask_2d_value -UF_PARAM_ask_3d_value +UF_PARAM_ask_logical_value +UF_PARAM_ask_tag_value +UF_PARAM_ask_str_value в случае нормального завершения функции - возвращается результат (значение параметра), иначе - пустая строка. |
|
set value [ MOM_get_ini_string ?inifile ?section ?key ] | Читает значение ключа из заданной секции ini-файла. постпроцесс - не прерывается. Возвращаемое значение: значение ключа key, иначе пустая строка .... [section] key=string .... set string [ MOM_get_ini_string "C:\\Windows\\win.ini" "section" "key" ] |
|
set ret [ MOM_remove_file_ex ?file ] | Удаляет файл с именем ?file если удаление прошло успешно или файла нет - возвращает 0, иначе возвращает 1. |
Есть стандартная МОМ команда для удаления файлов: MOM_remove_file |
MOM_deletefile ?file | Удаляет файл с именем ?file если удаление прошло успешно или файла нет - возвращает 0, иначе возвращает 1. ( используется функция WinApi "DeleteFile" ) |
|
MOM_createfile ?file | Создает файл с именем ?file если создание прошло успешно - возвращает 0, иначе возвращает 1. ( используется функция WinApi "CreateFile"с ключами : GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ) ; |
|
MOM_run_exec ?"exe ?param1 ?param2 .." или MOM_run_exec ?exe ?param1 ?param2 .. |
Запуск внешних программ запускает exe-файл с параметрами в отдельном процессе. постпроцесс - не прерывается Для расширения и исправления ошибки внутренней функции exec. |
|
MOM_shell_exec "winword" ?"param" MOM_shell_exec "excel" ?"param" |
Запускает exe-файл (зарегистрированные в системе) с
параметрами в отдельном процессе. постпроцесс - не прерывается |
|
MOM_about_stub | Выводит информацию об авторе постпроцесс - останавливается. |
|
Copyright © 2001—2009 че