События пользователя — нужно знать где в cdl`e их еще и как создать, а потом и в шаблон влепить, незнающему — тяжеловато.
С начала может тяжеловато, хотя события пользователя описаны в хелпе …
А вот про проверку вектора, по-подробней. С линейной и круговой интерполяцией — проблем нетю, а вот с ускоренными перемещениями — ? В билдере, вроде, нельзя их вообще удалить или местами поменять.
Если постараться, то обойти можно все … или почти все … да и способов не один
Но для самых ленивых, сужу по себе, могу предложить, в качестве примера, замену холостых перемещений, взял из поста для MAHO с вертикальным шпинделем — ось инструмента Y
#=============================================================
proc PB_CMD_rapid_move { } {
#=============================================================
# Uskorennye peremesh’eniya G0
global mom_pos
global mom_prev_pos
if { [expr $mom_pos(1) — $mom_prev_pos(1)] > 0 } {
MOM_do_template rapid_spindle_Y
MOM_do_template rapid_traverse_XZ
} else {
MOM_do_template rapid_traverse_XZ
MOM_do_template rapid_spindle_Y
}
}
Я подразумеваю, что человек, читающий Это. Может запустить ПостБилдер. Может
создать Адрес, Блок, Вспомогательную команду. Может редактировать. При создании
постпроцессора в Постбилдере, он первым делом начинает редактировать описание
адреса G_cutcom ,
убирая ненавистные уже +-999999999.9999. Ругаясь и чертыхаясь.
Порядок Адресов в кадре
Глубоко вникнуть в состав pui — файла меня вынудило
несколько случаев. Один из них был просто дурацкий: мне нужно было получить такой порядок адресов в кадре :
G90 G41….. Используя PB, получалось только так:
G41 G90 ….
Я много раз пытался сделать это — не выходило.
Создавать свой адрес, когда был такой же в наличие (по функционалу), было
как то глупо. Ругнулся и
открыл pui-файл. Внимательно
изучив содержимое, я обнаружил описание и порядок адресов, решил их переставить
….. и у меня получилось :):):)
Точно так же, мне удалось решить и проблему адресов еще для одного
постпроцессора, и получить требуемое: M3 S…
До | После |
## MASTER SEQUENCE START
G_cutcom "$mom_sys_cutcom_code(OFF)" 0 "Cutcom G-Code" 0
G_plane "$mom_sys_cutcom_plane_code($mom_cutcom_plane)" 0 "Plane G-Code" 0
G_adjust "$mom_sys_adjust_code" 0 "Tool Length Adjust G-Code" 0
G_feed "$mom_sys_feed_rate_mode_code($feed_mode)" 0 "Feedrate Mode G-Code" 0
G_spin "$mom_sys_spindle_mode_code($mom_spindle_status)" 0 "Spindle Output Mode G-Code" 0
G_return "$mom_sys_cycle_ret_code(MANUAL)" 0 "Return Plane for Canned Cycles" 0
G_motion "$mom_sys_linear_code" 0 "Motion G-Code" 0
G_cycle "$mom_usd_add_var" 0 "(G_cycle)" 1
G_mode "$mom_sys_output_code($mom_output_mode)" 0 "Positioning Mode G-code" 0
G "$mom_sys_blank_code" 0 "Other G-Codes" 0
X "$mom_sys_blank_code" 0 "X Axis Position or Canned Cycle X Axis Position" 0
Y "$mom_sys_blank_code" 0 "Y Axis Position or Canned Cycle Y Axis Position" 0
Z "$mom_sys_blank_code" 0 "Z Axis Position or Canned Cycle Z Axis Position" 0
fourth_axis "$mom_sys_blank_code" 0 "4th Axis Position" 0
fifth_axis "$mom_sys_blank_code" 0 "5th Axis Position" 0
I "$mom_sys_blank_code" 0 "X Axis Position of the Circle Center" 0
J "$mom_sys_blank_code" 0 "Y Axis Position of the Circle Center" 0
K "$mom_sys_blank_code" 0 "Z Axis Position of the Circle Center" 0
.....
F "$mom_sys_blank_code" 0 "Feedrate" 0
S "$mom_sys_blank_code" 0 "Spindle Speed" 0
...
M_spindle "$mom_sys_spindle_direction_code($mom_spindle_direction)" 0 "Spindle Direction M-Code" 0
....
N "" 0 "Sequence Number" 0
....
Text "" 0 "Text String" 0
## MASTER SEQUENCE END
|
## MASTE SEQUENCE START
G_mode "$mom_sys_output_code($mom_output_mode)" 0 "Positioning Mode G-code" 0
G_cutcom "$mom_sys_cutcom_code(OFF)" 0 "Cutcom G-Code" 0
G_plane "$mom_sys_cutcom_plane_code($mom_cutcom_plane)" 0 "Plane G-Code" 0
G_adjust "$mom_sys_adjust_code" 0 "Tool Length Adjust G-Code" 0
G_feed "$mom_sys_feed_rate_mode_code($feed_mode)" 0 "Feedrate Mode G-Code" 0
G_spin "$mom_sys_spindle_mode_code($mom_spindle_status)" 0 "Spindle Output Mode G-Code" 0
G_return "$mom_sys_cycle_ret_code(MANUAL)" 0 "Return Plane for Canned Cycles" 0
G_motion "$mom_sys_linear_code" 0 "Motion G-Code" 0
G_cycle "$mom_usd_add_var" 0 "(G_cycle)" 1
G "$mom_sys_blank_code" 0 "Other G-Codes" 0
X "$mom_sys_blank_code" 0 "X Axis Position or Canned Cycle X Axis Position" 0
Y "$mom_sys_blank_code" 0 "Y Axis Position or Canned Cycle Y Axis Position" 0
Z "$mom_sys_blank_code" 0 "Z Axis Position or Canned Cycle Z Axis Position" 0
fourth_axis "$mom_sys_blank_code" 0 "4th Axis Position" 0
fifth_axis "$mom_sys_blank_code" 0 "5th Axis Position" 0
I "$mom_sys_blank_code" 0 "X Axis Position of the Circle Center" 0
J "$mom_sys_blank_code" 0 "Y Axis Position of the Circle Center" 0
K "$mom_sys_blank_code" 0 "Z Axis Position of the Circle Center" 0
.....
F "$mom_sys_blank_code" 0 "Feedrate" 0
M_spindle "$mom_sys_spindle_direction_code($mom_spindle_direction)" 0 "Spindle Direction M-Code" 0
S "$mom_sys_blank_code" 0 "Spindle Speed" 0
...
N "" 0 "Sequence Number" 0
Text "" 0 "Text String" 0
## MASTER SEQUENCE END
|
Вывод: порядок Адресов в кадре — задается
в pui. И его нужно при необходимости менять.
Исключение: Вывод адреса N.
Добавление MOM-команд,
функций в структуру
pui (tcl, def).
1. Меня всегда интересовало, почему в
PB так неудобно и не понятно работает с
Nurbs и Helix —
интерполяцией. В принципе, она была обычным видом движения. Но реализация через
uplevel { } — раздражала.
В pui—файле за это отвечает следующая часть:
Для решения этого насущного вопроса,
откроем pui—файл, и добавим строчки, чтобы получилось
как показано ниже.
#Motions Start
{Linear Move} {linear_move} {Linear Move}
{Circular Move} {circular_move} {Circular Move}
{Rapid Move} {rapid_traverse rapid_spindle} {Rapid Move}
{Nurbs Move} {} {Nurbs Move}
{Helix Move} {} {Helix Move}
#Motions End
После открытия модифицированного #========================================== proc MOM_nurbs_move { } { #========================================== } #========================================== proc MOM_helix_move { } { #========================================== } |
|
Точно также, Вы можете добавлять и обработчики, и
другие вспомогательные команды:
##Tool Path Start
#Control Functions Start
{Tool Change} {} {$gPB(event,tool_change,name)}
{Length Compensation} {} {Length Compensation}
{Set Modes} {} {Set Modes}
{Spindle RPM} {PB_CMD_spindle} {Spindle RPM}
{Spindle Off} {spindle_off} {Spindle Off}
{Coolant On} {coolant_on} {Coolant On}
{Coolant Off} {coolant_off} {Coolant Off}
{Inch Metric Mode} {} {Inch Metric Mode}
{Feedrates} {} {Feedrates}
{Cutcom On} {} {Cutcom On}
{Cutcom Off} {cutcom_off PB_CMD_D_flag_v_nol} {Cutcom Off}
{Delay} {delay} {Delay}
{Opstop} {opstop} {Opstop}
{Auxfun} {auxfun} {Auxfun}
{Prefun} {prefun} {Prefun}
{Load Tool} {} {Load Tool}
{Stop} {stop} {Stop}
{Tool Preselect} {tool_preselect} {Tool Preselect}
{Pprint} {PB_CMD_pprint} {Pprint}
{Operator Message} {PB_CMD_operator_message} {Operator Message}
{Insert} {PB_CMD_insert} {Insert}
{Origin} {PB_CMD_origin} {Origin}
{Text} {PB_CMD_text} {Text}
{Zero} {PB_CMD_zero} {Zero}
#Control Functions End
|
|
2. Используя выше приведенную методику.
Теперь вы можете, добавлять в меню PB нужные Вам
функции. И не только, начинающееся на знакомое
PB_CMD_*.
Ограничение, я думаю одно — процедура не должна содержать аргументы.
Если, Вы, хотите добавить свою собственную процедуру, то предварительно, опишите
её в tcl — файле, дополните
pui,
а уж , затем открывайте Ваш проект в PB.
{Command} {"Custom Command" "" "New Custom Command"} {"MOM_set_seq_off" "" "MOM Command"} {"MOM_set_seq_on" "" "MOM Command"} {"MOM_coolant_off" "" "MOM Command"} {"MOM_coolant_on" "" "MOM Command"} {"MOM_set_modes" "" "MOM Command"} {"MOM_spindle_css" "" "MOM Command"} {"MOM_spindle_off" "" "MOM Command"} {"MOM_spindle_rpm" "" "MOM Command"} {"SET_SIGN_OF_RADIUS" "" "Custom Command"} {"int_value" "" "Custom Command"} {"PRBCUT" "" "Custom Command"} {"PROBE" "" "Custom Command"} {"SET_Tool_type" "" "Custom Command"} {"PB_CMD_5axis_flag" "" "Custom Command"} {"PB_CMD_5axis_flag3_V_nol" "" "Custom Command"} ...... |
|
Copyright © 2001—2009 че
Базовый курс моделирования NX
Помогает овладеть необходимым и достаточным функционалом 3D моделирования для инженера-программиста. Более 200 страниц информации в сжатом виде. С помощью данной инструкции вы сможете:
— Строить модели уровня сложности, занимающих львиную часть в современном производстве в области металлообрабтки.
— Проектировать оснастку.
— Управлять сборками.
— Строить Эскизы и Кривые.
— Делать вспомогательные построения, необходимые для достижения предсказуемого результата.
Фрезерная 3-х координатная обработка NX
Главная, центральная книга данной серии. Раскрывает основной и расширенный функционал практически всех инструментов по созданию эффективной Управляющей Программы для станков с ЧПУ для 2.5, 3-х и "3+2" осевой (с фиксированным поворотом осей) фрезерной обработки. Содержит множество примеров обработки, в т. ч. на конкретных деталях, а также – некоторых интересных приемов обработки, разработанных и собранных автором в процессе практики работы на должности инженера-программиста. Отдельный раздел посвящен обработки фасок, что в ряде случаев представляет определенную сложность. Также автор делится опытом создания «рабочих инструкций», «эскизов наладки» и многим другим. Почти 700 страниц А4.
Фрезерная много-осевая обработка NX
Данная книга является полным изложением курса по много-осевой обработке в CAD/CAM системе Siemens NX. Материал систематизирован, разбит на главы, сформулирован доступным языком и представлен в наглядном виде. Также автор делится рядом собственных изысканий и достижений в решении нетривиальных задач стандартным, но весьма широким набором инструментов CAD и CAM модулей NX. Одна из таких нетривиальных задач рассмотрена на примере фрезерования паза с криволинейными поверхностями фрезой с диаметром на 0.2мм меньше ширины паза, причем – различными способами. В книгу входят и другие примеры обработки, в том числе: обработка фасок с переменным вектором оси инструмента. 450 страниц на формате А4.
Токарная обработка NX
Автор не проходил никаких курсов по данной теме, но, как раз это и послужило особенному тщанию в написании данного руководства. Вообще, токарная обработка в NX среди инженеров-программистов "славится" как сложная, навороченная, во многих местах – с непонятной логикой. Автор попытался раскусить все значимые «непонятки» в токарной обработке NX путем долгих поисков, собирания опыта и тщательного анализа работы встроенных инструментов. Раскрыты тонкости настроек на конкретных примерах, объяснена специфика токарно-фрезерной обработки. Разработан способ поэтапного создания проекта NX для многоканального токарно-фрезерного станка на конкретном примере. Более 250 страниц на формате А4.
Стойка sinumeric 840 DSL на базе станка Breton
Руководство оператора станков с ЧПУ для 5-ти осевого токарно-фрезерного обрабатывающего центра со стойкой Sinumeric 840dsl. Руководство создано на основе недельного курса на станке Breton. Книга родилась в сложнейших условиях самой сложившейся современной системы преподавания подобных курсов: шквал информации в единицу времени. Тем не менее, удалось успеть собрать и зафиксировать ВСЮ информацию курса, проверить, сформулировать и систематизировать её в тот вид, который будет понятен обычному трудяге, в т. ч. замеры левого токарного резца, работа с головй D'ANDRE, развороты стола, CYCLE800, функция TRAORI, калибровка, нештатная ситуация, примеры программ и многое другое. 115 страниц А4.
Стойка heidenhain 640 на базе станка Nmill 1400T
Руководство оператора станков с ЧПУ для 5-ти осевого токарно-фрезерного обрабатывающего центра на базе стойки heidenhain 640. Создано на основе 2-x недельного курса на швейцарском станке Nmill 1400T. Специфика проведения курса, описанная в педыдущем примере, осложнилась ещё и низким качеством преподавания.
Личный немалый опыт работы на подобных станках и многочисленные эксперименты, всё-таки, позволили разложить по полочкам все темы данного курса, включая программирование со стойки. Подробно описана работа с функциями разворота стола: TCPM, M128, M144, калибровка, нештатная ситуация, примеры программ и все остальное, что нужно знать оператору на данном станке. 222 страницы формата А4.
Разработка постпроцессоров с помощью Postbuilder
Создание постпроцессора для конкретного станка – сложная и очень ответственная задача, нетерпящая ошибок. Здесь требуются навыки непосредственного программирования на языке tcl. Такая задача не входит в перечень должностных обязанностей инженера-программиста. Это задача – для профессионалов более высокого уровня, и, соответственно, с более высоким заработком.
По теме создания постпроцессора с помощью Postbuilder автор прошел два курса обучения в разных местах и попытался синтезировать полученные знания, систематизировать и представить их в удобоваримом для восприятия виде. На данной момент продолжается вестись работа над данным продуктом. Пока книга содержит около 400 страниц формата А4.
Мои товары
Руководство оператора Heidenhain 640 на базе 5-ти осевого токарно-фрезерного центра Nmill
6 300 ₽
Руководство оператора Sinumeric 840 dsl на базе 5-ти осевого токарно-фрезерного центра Breton
5 000 ₽
Базовый курс моделирования в NX
3 000 ₽
Токарнаая обработка NX (Pdf — Курс)
4 500 ₽
Фрезерная 3-х координатная обработка NX (Pdf — Курс)
5 800 ₽
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF
В настоящее время рациональным решением для подготовки производства на станках с ЧПУ является разработка управляющих программ в автоматизированном режиме непосредственно на рабочем месте технолога. Одним из решений для этой процедуры можно принять использование модуля «Обработка» (САМ) в системе UNIGRAPHICS NX от компании Siemens PLM Software. Одной из проблем, возникающих на производстве, становится то, что для формирования управляющей программы для каждой системы ЧПУ необходим отдельный постпроцессор – программный модуль, переводящий описание траектории инструмента на внутреннем языке САМ в формат управляющей программы. В среде NX существует определенное количество шаблонов для создания постпроцессора. Однако каждый станок с ЧПУ имеет свои особенности в составлении управляющей программы. Именно поэтому существует необходимость в доработки постпроцессора.
В данной работе для создания своего постпроцессора используется программный продукт NX/PostBuilder.В этой среде автоматически будет создаваться стандартный шаблон постпроцессора, который необходимо редактировать под особенности своего станка.После создания нового файла появится следующее диалоговое окно (рис. 1):
Рисунок 1 – Диалоговое окно задания параметров постпроцессора
Вводиться имя постпроцессора, лучше, если оно совпадает с моделью станка, в нашем случае это фрезерный станок с ЧПУ JMD3CNC. Описание станка не изменяем. Единицы вывода постпроцессора задаем в миллиметрах. Ставим галочку в окне «Разрешить изменение для событий, задаваемых пользователем», в этом случае можно задавать функциональные особенности постпроцессора для нашего станка. На этом подготовительная часть для создания шаблона постпроцессора заканчивается.
В следующем окне вводиться характеристики станка, они необходимы для формирования особенностей задания границ обработки и выхода в референтную точку:
Рисунок 2 – Диалоговое окно задания характеристик станка
Теперь непосредственно переходим к редактированию программы. Для нашего случая в начале программного управления станком необходимо, чтобы присутствовали:
-
название программы:
-
расширение файла программы;
-
путь к файлу программы в системе ЧПУ.
Для этого необходимо добавить дополнительные текстовые блоки, в которых и непосредственно будет записаны эти строки (рис. 3).
%_N_K_MPF – где для К- название программы , MPF – расширение.
;$PATH=/N_MPF_DIR – путь к программе;
Однако если записать данные строки, то у нас выйдет ошибка. Это будет связано с тем, что система NX будет воспринимать все стоящее после знака $ как функцию. Чтобы этого не происходило, необходимо ввести обратный слеш, тогда программа не будет выполнять подстановку значений.
Рисунок 3 – Программные коды в задании инициализации программы
Следующим шагом является замена или удаление команд, которые не используются в управляющей программе станка.
В начале программы необходимо добавить в кадре строки безопасности«G40 G17 G90 G71» команду G00. По этой команде перемещения по координатам, идущие сразу после строки безопасности и записанные без определяющих подготовительных функций, будут производиться на быстром ходу, как это и нужно для подвода инструмента. На вкладке «Последовательность в начале операции» в команде «Автоматической смене инструмента» необходимо убрать кадр G91 G28 Z0, так как эта функция отсутствует в системе ЧПУ Sinumerik 802S нашего станка. Так как инструмент в управляющей программе станка обозначается иначе, нам нужно изменить во вкладке «Управлением станком» в команде «Коррекция на длину» команды G43 H01 на команду T01 D01. Во вкладке «Перемещения инструмента» в команде «Круговое перемещение» необходимо убрать команду К. Во вкладке «Встроенные циклы» в команде «Выключение цикла» убрать команду G80, и в командах, расположенных ниже командуQ. Во кладке «Последовательность в конце операции» в команде «ПеремещениеGomove» необходимо добавить кадр с командами G00 и Z. Зададим выражение Z = 100. По этой команде после окончания операции инструмент будет отводится на безопасное расстояние от заготовки. Во вкладке «Последовательность в конце программы» в команде «Конец программы» убираем кадр %_N_K_MPF, а также заменяем кадр M02 на M30.
Следующим шагом будет создание в управляющей программе строк с наименованием начала программы и видом обработки.
Для этого необходимо перейти к командам пользователя. В данном разделе будет использоваться встроенный язык программированияTCL.
Рисунок 4 – Задание команд пользователя
Для начала необходимо создать свою команду. НазовемееPB_CMD_MY_OWN_PROGRAMM. Для упрощения работы в системе есть специальная база команд, которую можно открыть: Utilities-BrowseMOMVariables. Для задания строки потребуется команда mom_output_literal. Нам необходимо, что бы наша команда выводила строковое значение. Для этого запишем следующую строку: mom_output_literal “;===START OF THE PROGRAMM===”. Команда, помещенная в кавычках будет считаться системой как строка. Для работы данной команды необходимо добавить ее во вкладку «Последовательность в начале программы» после цикла MOM_set_seq_on. На данном этапе после запуска постпроцессирования, мы получим строку в начале программы:;===STARTOFTHEPROGRAMM===. Следующей задачей является получение строки с название обработки. Для этого создадим еще одну команду и назовем ее PB_CMD_Start_of_operation. В данной команде для отображения названия операции будем использовать команду mom_operation_name. Объявим ее глобальной, используя команду global. ВследующейстрокенеобходимозаписатьMOM_output_literal «;OPERATIONNAME =>$mom_operation_name». В данной команде все записанной в кавычках считается системой текстом, а значение, идущие после знака $ считаются переменной. Так же для работы данной команды необходимо добавить ее во вкладку «Последовательность в начале программы» после цикла PB_CMD_MY_OWN_PROGRAMM.
Чтобы убедиться в работоспособности постпроцессора сохраним его и постпроцессируем заранее подготовленную операцию обработку корпусной детали (рис. 5).
Рисунок 5 – Управляющая программа обработки детали
Таким образом, используя модуль NX/PostBuilder, с его возможностями задания команд пользователя, можно сгенерировать постпроцессор для любого исполнения системы ЧПУ и тем самым повысить эффективность использования модуля NXCAM.
Литература:
-
Ведмидь П.А.,Сулинов А.В. Программирование обработки в NX CAM. – М.: ДМК Пресс, 2014 – 304 с.
- PostBuilder
-
старая ошибка — переформатирования.
- Размер Unigraphics
-
ugpost
- May 27th, 2017
поймал себя на мысли, что размер UG растет и растетв 2017 году размер распакованного дистрибутива вырос до 12-15 гб (тут и ява, и Питон, и куча стороннего софта, и замена обычного pe формата на нечто переносимое:))
короче. Проектирование Звезды Смерти не за горами.:)
К чему я? Установил 11 nx.
- apb_crypto + NX 9
-
ugpost
- May 26th, 2015
Кажется, начали осуществляться наши самые страшные сны.
Остался открытый вопрос: ЗАЧЕМ? Смысл?
- Вышел Unigraphics Siemens NX 10.0
-
ugpost
- December 19th, 2014
10-ка исправляет ошибки 9-и и приносит новый интерфейс под новую Windows 8/10. Нового не очень много , по сравнению с 9-ой.
Постбилдер запускаться отказалсяДа. Кстати, постпроцессор gpm в 9-ой версии UG исчез, хотя возможность постпроцесса CLSF не убрана.
- Новые MOM — функции, появившиеся в NX9.
-
ugpost
- June 26th, 2014
- MOM_display_message ?message ?title ?type ?[button1][button2][button3]
Показывает диалоговое сообщение в NX, где это тип выводимого сообщения I|E|W|Q, I — информация, E — ошибка, W — предупреждение, Q — вопрос. Функция возвращает номер выбранной кнопки (1, 2, или 3).
- MOM_set_attribute ?name_obj ?attrTitle ?attrInfoArray
— процедура устанавливает атрибут в объект. Объект должен существовать.
Пример:
global attrInfoArray
set attrTitle «POST_OUTPUT_FILE»
set attrInfoArray(VALUE) $ptp_file_name
set attrInfoArray(TYPE) «String»
MOM_set_attribute $mom_operation_name $attrTitle attrInfoArray
- MOM_get_all_attribute_titles ?name ?attrTitles
— процедура получает имена всех атрибутов объекта в виде массива.
Пример:
global attrTitles
MOM_get_all_attribute_titles $mom_operation_name attrTitles
if [ array exists attrTitles ] {
foreach i [ array names attrTitles ] {
puts «$i ) = $attrTitles($i)» ;
}
}
- MOM_get_attribute ?name_obj ?attrTitle attrInfoArray
— процедура получает атрибут объекта. Атрибут должен существовать.
Пример:
1)
global attrTitles
MOM_get_all_attribute_titles $mom_operation_name attrTitles
if [ array exists attrTitles ] {
global attrInfoArray
set attrTitle «POST_OUTPUT_FILE»
foreach i [ array names attrTitles ] {
if {0==[ string compare $attrTitle $attrTitles($i) ]} {
MOM_get_attribute $mom_operation_name $attrTitle attrInfoArray
puts «VALUE=$attrInfoArray(VALUE)»
puts «TYPE=$attrInfoArray(TYPE)» ;
}
}
}
2)
global attrInfoArray
set attrTitle «POST_OUTPUT_FILE»
catch { MOM_get_attribute $mom_operation_name $attrTitle attrInfoArray }
if [ info exists $attrInfoArray(VALUE) ] { puts «VALUE=$attrInfoArray(VALUE)» ; }
if [ info exists $attrInfoArray(TYPE) ] { puts «TYPE=$attrInfoArray(TYPE)» ; }
- MOM_remove_attribute ?name_obj ?attrTitle?
— процедура удаляет атрибут в объекте. Атрибут должен существовать.
Пример:
1)
global attrTitles
MOM_get_all_attribute_titles $mom_operation_name attrTitles
if [ array exists attrTitles ] {
global attrInfoArray
set attrTitle «POST_OUTPUT_FILE»
foreach i [ array names attrTitles ] {
if {0==[ string compare $attrTitle $attrTitles($i) ]} {
MOM_remove_attribute $mom_operation_name $attrTitle
break ;
}
}
}
2)
set attrTitle «POST_OUTPUT_FILE»
catch { MOM_remove_attribute $mom_operation_name $attrTitle }
- MOM_run_postprocess <event-handler Tcl file> <definition file> <output file>
Запускает разделенный постпроцесс с другим постпроцессором в той же самой операции или программе.
Возвращает:
1 — если процесс выполнен успешно,
2 — если в процессе выполнения появились ошибки,
-1 — если пост вызывает сам себя.
- MOM_set_env_var <name> <value>
Определяет переменную окружения NX. Только новые переменные могут быть установлены. В случае успеха возвращает 1, иначе 0.
В течении сессии могут быть созданы только 20 таких переменных.
- MOM_check_out_license <name>
— Получает Flexlm лицензию до конца работы. — название валидной лицензии. Возвращает 1 в случае успеха, или 0.
Только 20 лицензий могут быть проверены в текущей сессии.
- MOM_convert_point ?point ?vector
— Конвертирует <точку> из позиции инструмента MCS в машинную систему координат . и массивы[3].
mom_result — массив[X, Y, Z, 4th, 5th] — первичное решение
mom_result1 — массив[X, Y, Z, 4th, 5th] — альтернативное
- MOM_post_oper_path
Выполняет пост-процесс заданной операции.
Возвращает:
1 (True) если выполнение успешно
0 (False) если есть ошибки.
-1 если пост вызывает сам себя.
После выполнения создается переменная mom_post_oper_path=1.
- «MOM_set«
- «MOM_unset«
- «MOM_link_var«
- «MOM_unlink_var«
- Постпроцессор gpm.
-
ugpost
- June 7th, 2014
В этом постпроцессоре для Unigraphics принята довольно простая схема торможения разгона.
Учет угла и задание таблицы перебега.