Pro/ENGINEER

Pro/PROGRAM

Основы Pro/PROGRAM


Описание Pro/PROGRAM

Каждая модель Pro/ENGINEER имеет список (листинг) основных шагов создания и параметров. Данный список может быть отредактирован, и работать как программа. Запустив программу, Вы измените модель согласно новым требованиям проекта.

Для входа в среду Pro/PROGRAM, выберите Program из меню PART или ASSEMBLY.

Меню WHICH DESIGN

Первоначально Вы можете получить доступ только к листингу, содержащемуся в проекте. Однако, всякий раз, когда Вы редактируете список, создаётся файл, отражающий все снесённые изменения в проект. На данном этапе существуют два листинга проекта для одной и той же модели, From Model и From File. После того, как Вы успешно включаете изменения проекта модели, From File удаляется, и будет доступно только From Model.

В тех случаях, когда имеется список From File, меню WHICH DESIGN отображает две опции:

 From Model — Открытие листинга содержащегося в модели.

 From File — Открытие листинга для модели из файла с названием assemblyname.als или partname.pls.

Note: From Model отражает текущее состояние модели, в то время как From File включает все новые инструкции, которые Вы добавили в течение последней сессии редактирования.

Просмотр последовательности создания модели

Вы можете использовать опции Show Design или Edit Design из меню PROGRAM для просмотра последовательности создания проекта.

 Если Вы выберите Show Design, программа появится в INFORMATION WINDOW.

 Если Вы выберите Edit Design, программа откроется в системном редакторе.

Обратите внимание на то, что в заголовке каждого листинга появляется REVNUM, указывающий номер последнего пересмотра модели. Система использует это, чтобы обнаружить, если проект устарел.

Типичный листинг проекта может содержать следующее:

 Входные переменные с их текущими значениями

 Взаимосвязи

 Операторы IF-ELSE

 Список всех конструктивных элементов, деталей или сборок, содержащихся в проекте, когда они находятся в пределах формулировки "IF... ELSE... END IF", создаёт дополнительные отделения проекта

 Оператор EXECUTE (только для режима Assembly)

 Оператор INTERACT

 Подавление конструктивных элементов и порядка

 Оператор MASSPROP

Пример листинга создания модели

Листинг для детали CLAMP мог бы выглядеть так:

VERSION D-02-03

REVNUM 182

LISTING FOR PART CLAMP

INPUT

END INPUT

RELATIONS

d0 = d6 * 2

END RELATIONS

ADD FEATURE (initial number 1)

INTERNAL ID 1

TYPE = FIRST FEATURE

FORM = EXTRUDED

SECTION NAME = S2DOO2

DEPTH = BLIND

FEATURE’S DIMENSIONS:

D0 = 1.0

D1 = 2.4

....

D5 = 45.0

END ADD

Редактирование конструкции

Редактируя конструкцию, Вы можете вносить изменения в модель.

Хотя редактор разрешает Вам делать другие изменения (изменения не рассматриваются в данном разделе) в конструкцию, он игнорирует эти изменения после выполнения. Только рассмотренные ниже изменения фактически изменяют конструкцию.

Например, если оператор конструктивного элемента был изменен с THRU ALL на THRU NEXT, оператор, который появляется в модели после выполнения - THRU ALL.

Для редактирования конструкции, выберите PROGRAM > Edit Design. Если в модели имеются два листинга конструкции, Вы должны выбрать From Model или From File из меню WHICH DESIGN.

Note: Когда Вы редактируете конструкцию в первый раз или после того, как Вы внесли изменения в модель, меню WHICH DESIGN не появляется. В этих случаях конструкция может редактироваться только с помощью From Model.

Появляется предупреждение, когда Вы пытаетесь редактировать с помощью опции From Model в Pro/PROGRAM листинг в рабочем каталоге. Это предупреждение напоминает Вам, что когда Вы выйдите из редактора файл перепишется с новым содержанием. Если Вы все же хотите приступить к редактированию (это заменяет старый файл), введите Y. Для отказа от редактирования введите N. Если Вы работаете со сборкой, которая имеет компоненты принадлежащие таблице семейства, могут быть рассмотрены листинги для примеров, но они не могут редактироваться, поскольку программа всегда находится в исходной детали.

Note: Чтобы получить доступ к листингу исходной сборки, сборочные примеры должны быть удалены из памяти рабочей станции.

Взаимосвязи

Все взаимосвязи, допустимые в модели Pro/ENGINEER, могут быть введены в конструкцию Pro/PROGRAM.

Если Вы желаете включить в формулировку RELATIONS выражение, содержащее более 80 символов, используйте обратную косую черту (backslash) (\), чтобы прервать текущую строку и продолжать выражение на следующей строке. Формат может быть следующим:

RELATIONS

PARAMETER = COVER_SIZE/2 + LENGTH*0.75 -\

0.75*d3*d3 + THICKNESS*2

END RELATIONS

Изменение плотности материала детали заставляет систему скорректировать значение mp_density в зависимостях и наоборот.

Notes:

 Когда используется отрицательное значение размера, знак доллара ($) должен предшествовать символу размера, как во входном утверждении, так и во внешних входных файлах. Например, используйте $d20 вместо d20. Размеры не корректируются, если знак доллара не предшествует символам.

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

Входные Параметры и Подсказки

INPUT переменные могут определяться в начале листинга. Типичное предназначение переменной INPUT подстановка значений для размеров; этот параметр позже используется в отношении или как ввод для имен моделей использованных в сборках.

Типы оператора INPUT

Оператор INPUT должен указать имя и тип переменной. Названия переменных всегда должны начаться с символа.

Поддерживаются следующие типы переменных:

 Number — Ввод числового значения для переменной.

 String — Ввод строки символов для этого типа переменной. Это позволяет Вам вводить параметры или названия модели, но не пользовательские атрибуты.

 YES_NO — Ввод Y или N для данного типа переменной.

Note: Если для переменной не определён тип, система по умолчанию выбирает Number.

Включение подсказок

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

 Подсказка должна быть включена в кавычки.

 Подсказка должна непосредственно следовать соответствующей входной переменной.

Например:

INPUT

THICKNESS NUMBER

"Enter wall thickness for the cylinder"

INCLUDE_VALVE YES_NO

"Is valve to be included for analysis"

STOCK_ID STRING

"Enter the part’s stock ID"

...

END INPUT

Условные Операторы ввода

Входной список в Pro/PROGRAM может включать IF - ELSE - ENDIF операторы. Когда IF изменяется на FALSE, Вы не запрашиваетесь для ввода значения.

Например:

INPUT

INCLUDE_HOLE YES_NO

"Should the hole be included?:"

IF INCLUDE_HOLE == YES

HOLE_DIA NUMBER

"Enter diameter for hole"

ELSE

...

ENDIF

...

END INPUT

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

Удаление Входных Строк

Если входная переменная удаляется из конструкции или её имя изменено, отношения и условия, которые их использовали, не становится автоматически неверными. Остатки старых имён переменных в списке параметров модели и должны быть удалены с помощью опции Del Param.

Оператор IF-ELSE

Разветвление конструкции

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

Например, если первоначально конструкция детали выглядит так:

ADD PROTRUSION.....

ADD HOLE.....

ADD CUT.....

То модифицированная конструкция может выглядеть так:

ADD PROTRUSION.....

IF d1 > d2

ADD HOLE

...

END ADD

ENDIF

ADD CUT.....

END ADD

Условные параметры действительны также для сборок. Они управляют независимо конкретной деталью или узлом, добавленным к сборке или выполняемым. В следующем примере, PART_B не используется, пока параметр DIA имеет значение меньшее или равное 1.25.

ADD PART BASE_1

....

IF DIA > 1.25

ADD PART PART_A

.....

END ADD

ELSE

ADD PART PART_B

.....

END ADD

ENDIF

Pro/ENGINEER переоценивает любую условную переменную Pro/PROGRAM (например, оператор IF...) перед регенерацией каждого конструктивного элемента. В результате необходима только команда Regenerate для конструкции, в которой условные переменные Pro/PROGRAM изменены с помощью команды Evaluate и ссылочных размеров.

Однако если Вы добавляете к конструкции Pro/PROGRAM условные переменные, которые изменены создаваемыми позже конструктивными элементами, система выдаёт сообщение об ошибке, что конструкция теперь несостоятельна.

Другие типы переменных для IF

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

Для строк:

IF MATERIAL == "STEEL"

d2=10

ENDIF

Для YES_NO:

IF DRAFT==YES

d25=5

ENDIF

Замещение компонентов в сборке

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

Вы можете настроить программу, которая чередует компоненты с помощью INPUT или RELATION. Когда конструктивный элемент параметра принадлежит сборке или другому компоненту, оператор ADD COMPONENT или зависимость должны включать ID компонента.

Формат для сборки зависимостей следующий:

XYZ = <parameter_name>:fid_<feature_name>:<comp_id>

Или

XYZ = <parameter_name>:fid_<N>:<comp_id>

Где <comp_id> - ID компонента в сборке. Чтобы определить ID компонента (<comp_id>) в режиме Assembly, выберите Component Id из меню RELATIONS, затем воспользуйтесь опцией Query Select чтобы выбрать соответствующий компонент.

Программатический взаимообмен компонентов

1. Включите переменную строку оператора INPUT в сборочную конструкцию.

Например:

INPUT

fastener_name STRING

"Enter name of fastener to be used in cam:"

END INPUT

2. В связанном утверждении ADD установите имя переменной строки в круглые скобки.

Например, чтобы добавить деталь к сборке:

ADD PART (fastener_name)

...

END ADD

Или для взаимообмена детали с названием WASHER в сборке, используйте ADD COMPONENT, придерживаясь следующего формата:

ADD COMPONENT (название файла с расширением или переменная)

COMPONENT ID <Id компонента>

Например:

ADD COMPONENT washer.prt

COMPONENT ID 4

...

END ADD

Чередование компонентов с помощью зависимостей

1. В операторе INPUT включается переменная YES_NO.

Например:

INCL_CRANK YES_NO

2. Добавить оператор IF_ELSE в RELATIONS.

Например:

RELATIONS

IF (INCL_CRANK == YES)

PART_NAME = "CRANK"

ELSE

PART_NAME = "SHAFT"

ENDIF

END RELATIONS

Оператор ADD включает переменную, определённую оператором ADD (он заключён в скобки).

Например:

ADD PART (PART_NAME)

...

END ADD

Замещение управляемых таблицей членов семейства

Вы можете автоматически замещать управляемые таблицей компоненты, согласно расчетным критериям используя функцию lookup_inst. С помощью этой функции, Вы можете найти компонент таблицы семейства, чтобы найти пример, который удовлетворяет параметрам поиска. Если функция lookup не даёт результатов поиска, она возвращает название основной (исходной) детали. Формат для lookup_inst следующий:

lookup_inst ("generic_name", match_mode, Тparam_name_1У, match_value_1, Тparam_name_2У, match_value_2,...)

Где

 generic name — Название файла исходной модели с расширением .prt или .asm

 match_mode — Одно из следующих значений:

 –1 (найти ближайший пример с величинами параметра меньшими или равными заданным величинам)

 0 (найдите пример с величинами параметра, которые точно совпадают с заданными величинами)

 1 (найдите ближайший пример с величинами параметра большими или равными заданным величинам)

 param_name_1 – Название параметра таблицы семейства

 match_value_1 – Совпадение значений

Пример: Замещение управляемых таблицей компонентов семейства

Данная сборка состоит из блока и стержня, поместите в сборку компонент, который сочетается диаметром отверстия в блоке.

inst_name = объявленный параметр строки, инициализированный в названии исходной детали

generic_name = peg.prt. Эта деталь содержит много членов семейства базирующихся на размерах диаметра (d) и длины (d1). Таблица семейства с названием peg.prt включает:

2 x 4 - d0 = 2, d1 = 4

2 x 5 - d0 = 2, d1 = 5

2 x 6 - d0 = 2, d1 = 6

3 x 4 - d0 = 3, d1 = 4

3 x 5 ............

3 x 6 ............

Добавьте зависимость к управлению, в котором peg.prt добавляется к сборке, управляемой размерами конструктивного элемента в block.prt. Зависимость следующая:

inst_name = lookup_inst ("peg.prt", 0 , "d2", d6:0, "d1", d5:0 +1)

Таким образом, член семейства peg.prt будет собран в blockpeg.asm основываясь на размере отверстия в block.prt. Листинг Pro/PROGRAM может в данном случае выглядеть так:

INPUT

END INPUT

RELATIONS

INST_NAME = LOOKUP_INST ("PEG.PRT", 0, "D2", D6:0, "D1", D5:0 + 1)

END RELATIONS

ADD PART BLOCK

INTERNAL COMPONENT ID 1

END ADD

ADD PART (INST_NAME)

INTERNAL COMPONENT ID 2

PARENTS = 1 (#1)

END ADD

MASSPROP

END MASSPROP

Замещения определённых пользователем конструктивных элементов

Вы можете также программатически осуществлять взаимообмен пользовательских конструктивных элементов используя оператор CHOOSE:

CHOOSE (<название переменной>)

где <название переменной> - имя переменной строки которая содержит ID группы, которая должна быть установлена. Все доступные ID могут быть обнаружены в операторе ADD, лидирующем в настоящее время в активной группе листинга Pro/PROGRAM.

Пример: Замещение пользовательских конструктивных элементов

INPUT

GROUP STRING

"ENTER GROUP TO PLACE 300/352/409"

END INPUT

CHOOSE (GROUP)

Notes:

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

 Оператор CHOOSE не может быть включен в условные операторы.

Лидер группы оператор ADD мог бы выглядеть так:

ADD FEATURE (initial number 4)

INTERNAL FEATURE ID 300

PARENTS = 33(#1)

TYPE = PROTRUSION

FORM = EXTRUDED

SECTION NAME = S2D0002

DEPTH = FROM SKETCH TO BLIND

FEATURE’S DIMENSIONS:

d44 (d23) = 2.00

d45 (d24) = 1.00

d46 (d25) = 1.00

d47 (d26) = 2.00

d48 (d27) = 1.00

MEMBER OF A GROUP, NAME = RECT

LEADING FEATURE OF THE GROUP: ID = 303

LAST FEATURE OF THE GROUP: ID = 303

GROUP IS REPLACEABLE BY FEATURES ID (NAME):

409(round) and 352 (circular)

END ADD

Операторы EXECUTE

Использование операторов EXECUTE в листинге сборки

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

EXECUTE {PART} название переменной

{ASSY}

входная переменная проекта в следующем низшем уровне = выражение

входная переменная.....

END EXECUTE

Подобно оператору ADD, оператор EXECUTE может использоваться в формате EXECUTE COMPONENT во взаимозаменяемых деталях и сборках. Определяя компонент, убедитесь, что используется правильное расширение (.prt или .asm).

Note: Когда запускается программа, каждая деталь может быть выполнена (каждая деталь может получить переменные величины через оператор EXECUTE) только единожды. Избегайте включения противоречивых инструкций.

Передача Входных Величин от Сборки Верхнего уровня

Входные переменные используются, чтобы передать входные данные от сборки верхнего уровня в соответствующие детали и узлы, чтобы управлять созданием модели. Например, для детали block_base, листинг мог бы выглядеть так:

INPUT

key_size

ansi_thread

...

END INPUT

RELATIONS

d5 = key_size

d3 = depth * 1.25

END RELATIONS

....

Затем листинг для сборки выглядит похожим на этот:

INPUT

hole_diameter NUMBER

thread_type STRING

глубина

...

END INPUT

RELATIONS

END RELATIONS

EXECUTE PART block_base

key_size = hole_diameter/2 + 0.025

ansi_thread = thread_type

depth = DEPTH

...

END EXECUTE

И конструкция для части block_base выглядит похожей на эту:

INPUT

ADD FEATURE.....

Notes:

 Параметр key_size появляется в операторе EXECUTE для сборки и в операторе INPUT для детали. Это необходимо для величины параметра, которая должна переходить вниз от сборки к детали. Если параметр не появляется в обоих местах, или отсутствует оператор EXECUTE в конструкции сборки для детали, то те величины, которые в данный момент находятся в памяти будут используются для детали.

 Параметр thread_type является равным ansi_thread в операторе EXECUTE, который затем передаётся детали через оператор INPUT.

 Параметр depth является равным DEPTH в операторе EXECUTE, и передаётся детали с таким же названием оператором INPUT. Эта техника зачастую предпочтительнее предложенной в предыдущем пункте, поскольку так легче отслеживать параметры.

 Зависимость d5 = key_size не является необходимой. Символ параметра d5 может быть переименован в key_size с помощью команды Symbol из меню DIM COSMETIC.

Определение Детали Выполняемой в Программе Сборки

Когда Вы используете сборочную программу, чтобы заменить деталь в сборке с помощью записи взаимозаменяемости, Вы можете убедиться, что соответствующая программа выполняется вводом названия детали как переменной оператора EXECUTE. Эта операция подобна использованию переменной в операторе ADD PART. Например, программа для сборки могла бы выглядеть так:

INPUT

COMPONENT STRING

"Enter part name"

DIAMETER NUMBER

END INPUT

....

EXECUTE PART (COMPONENT)

d1=DIAMETER

END EXECUTE

Если оператору EXECUTE присваиваются значения переменных A и B, а оператору INPUT задаётся только переменная A, происходит следующее:

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

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

Использование оператора EXECUTE внутри оператора IF-ENDIF

Оператор EXECUTE может применятся в операторе IF-ENDIF как способ избежать выполнение модели нижнего уровня, если это необходимо. Если модель не выполняется, используются текущие величины модели. Например:

INPUT

key YES_NO

"Does the assembly have a key (Y/N):"

IF key == YES

key_name STRING

"Enter key name:"

ENDIF

END INPUT

RELATIONS

END RELATIONS

IF key == YES

EXECUTE PART (key_name)

END EXECUTE

ENDIF

Деталь keyname выполняется, только если она включена в сборку.

Иерархия Сборочного Выполнения

Сборки могут выполнять узлы, которые в свою очередь могут выполнять другие узлы (подсборки). Детали, которые формируют узел, не выполняются основной сборкой, но взамен выполняются узлом. Только следующий уровень вниз по сборке выполняется сборочной конструкцией.

Массовые Свойства и параметр INTERACT

Обновление Свойств Массы при Изменении Геометрии

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

MASSPROP

PART NAME

ASSEMBLY NAME

END MASSPROP

Note: Определяя модель, для которой необходимо вычислить свойства массы, введите название файла модели без расширения.

Оператор MASSPROP может содержать пункт IF... ELSE. Если Вы добавляете условие к оператору MASSPROP, массовые свойства объекта будут вычислены, только если это условие выполнено. Например:

MASSPROP

IF THICKNESS > 1

PART PLATE

ELSE

ASSEMBLY BLOCK

ENDIF

END MASSPROP

В предыдущем примере, если параметр THICKNESS имеет значение больше 1, массовые свойства пересчитываются для детали PLATE; в других случаях, массовые свойства вычисляются для сборки BLOCK.

Note: Если Вы переименовываете модель с помощью команды Rename из опускающегося меню File, Вы должны её переименовать в листинге MASSPROP вручную.

Использование оператора INTERACT

Оператор INTERACT обеспечивает взаимодействие конструктивных элементов детали и сборки. Они могут быть включены везде в пределах операторов FEATURE ADD - END ADD или PART ADD – END ADD. Например, оператор ELSE в предшествующем примере мог бы быть включён в следующую конструкцию:

ADD PROTRUSION.....

IF d1 > d2

ADD HOLE.....

ELSE

INTERACT

END IF

ADD CUT.....

В данном примере, альтернативный комплект конструктивных элементов должен создаваться, если d1 не больше d2. Режим INTERACT работает аналогично режиму Insert доступному в Pro/ENGINEER.

Выполнение оператора INTERACT

Когда система сталкивается в программе с оператором INTERACT, выполнение программы прерывается. В данном пункте, Вы можете добавлять конструктивные элементы. Так же в этом пункте, система отображает неполную модель, построенную согласно последней инструкции перед вводом оператора INTERACT. В режиме INTERACT, модель заморожена и не может быть модифицирована. После входа в режим INTERACT, выберите конструктивные элементы из меню FEAT CLASS, которые Вы желаете добавить и перейти к определению необходимых параметров. После создания нового конструктивного элемента, система запросит, желаете ли Вы еще добавлять конструктивные элементы. Если Вы ответите N, программа возобновит своё выполнение. Когда выполнение завершится, новые конструктивные элементы появятся в пределах оператора INTERACT и заместят оператор INTERACT в конструкции модели.

Note: Вы можете покинуть взаимодействие немедленно после перемещения программы в фазу INTERACT (до того как Вы начнёте создавать конструктивные элементы). Выберите Done/Return из меню FEAT CLASS и ответьте N на запрос системы, желаете ли Вы продолжать. Программа продолжит своё выполнение до конца.

Операции над конструктивными элементами

Подавление (Suppress) конструктивных элементов детали или сборки

Конструктивные элементы детали или сборки, а также компоненты сборки могут быть подавлены добавлением слова SUPPRESSED сразу же за словом ADD:

ADD SUPPRESSED PROTRUSION

Подавленный конструктивный элемент может быть восстановлен удалением слова SUPPRESSED из пункта ADD FEATURE. Подавление с помощью программы работает аналогично с подобной операцией в Pro/ENGINEER. Поэтому, подавленная модель не записывается, когда Вы сохраняете сборку с помощью команды Save As (в Pro/E 2001 команда Save a Copy…).

Переопределение и удаление конструктивных элементов

Вы переопределяете или удаляете конструктивные элементы детали или конструктивные элементы и компоненты сборки в редакторе, удаляя или перестраивая соответствующие пункты ADD FEATURE конструкции детали или сборки. Первый конструктивный элемент не может быть переопределён.

Если Вы попытаетесь удалить члена массива или группы, система не выполнит изменения и спросит, желаете ли Вы редактировать файл для переопределения и удаления конструктивных элементов.

Изменение размеров конструктивного элемента

Вы можете изменять размеры конструктивного элемента в программе, вводя следующее выражение:

MODIFY d# = value

Вы можете также присваивать значениям новые значения с помощью оператора RELATIONS.

Использование комментариев для описания зависимостей и конструктивных элементов

Для ввода комментариев, используйте следующий формат:

/* <Ваш комментарий>

Обратите внимание, что перед комментарием должна стоять косая черта и звёздочка. Также, комментарий о конструктивном элементе должен следовать сразу же за строкой ADD FEATURE. Комментарий связывается с создаваемым конструктивным элементом и появляется в INFORMATION WINDOW.

Редактирование конструкции и корректировка ошибок

Pro/PROGRAM обнаруживает ошибки в конструкции сразу же после выхода из редактора. Некоторые из причин возникновения ошибок:

 Использование оператора IF без оператора END IF.

 Ввод неверного имени переменной в зависимость или условие.

 Переопределение “детей” раньше “родителей”.

 Удаление родительского конструктивного элемента.

Если в файле содержатся ошибки, появляется меню PROG ERROR со следующими активными опциями:

  Abort — Отказ от внесённых изменений и возврат к предыдущей версии.

 Edit — Редактирование конструкции для корректировки ошибок. В сообщении об ошибках указано расположение и тип ошибки. Эти сообщения игнорируются в течение последующей обработки конструкции; они удаляются если обнаруживаются новые ошибки в конструкции или если Вы выходите из модели.

Внесение изменений в модель

После того, как Вы закончили редактировать листинг Pro/PROGRAM, система спросит Вас, желаете ли Вы внести изменения. Для одобрения введите Y. Если Вы ответите N, программа не выполняется.

Если Вы желаете запустить программу с какой-то конкретной точки, откройте листинг с помощью команды Edit Design.

Выходом из редактирования (никакие изменения не должны быть внесены) запускается программа. Вы будете запрошены, желаете ли Вы внести изменения в модель.

Для внесения изменений в модель, система может попросить Вас ввести переменную.

Note: После того как изменения внесены в модель, файл конструкции удаляется; для просмотра теперь доступен только From Model или выполнение.

Ввод входных переменных

Когда конструкция модели имеет входные переменные, система запросит Вас ввести их значения всякий раз, когда Вы регенерируете модель или добавляете новые инструкции. Вы можете ввести данные с помощью следующих команд из меню GET INPUT:

 Current Vals — Когда Вы запускаете программу, она использует текущие значения и не требует их ввода.

Note: Если Вы желаете проверить текущие значения параметров, выберите Show Design > From Model. В INFORMATION WINDOW отобразится листинг с входными переменными и присвоенными им значениями в текущей конструкции модели.

 Enter — Ввод новых значений входных переменных при запросе.

 Read File — Когда запускается программа, система использует значения из файла. Введите название файла вместе с расширением.

Выбор и модификация входных параметров

1. Выберите PART > Program, затем PROGRAM > Edit Design.

2. Отредактируйте при необходимости Input листинг.

3. Включите изменения в модель.

4. Выберите GET INPUT > Enter.

5. В меню INPUT SEL поставьте галочки напротив параметров, значения которых Вы желаете отредактировать, затем Done Sel.

6. При запросе в строке сообщений введите значения и затем выберите PROGRAM > Done/Return.

Ввод значения из файла

Вместо ввода значений переменных вручную, Вы можете ввести их из файла, расположенном в рабочем каталоге для данной сессии, с помощью опции Read File. Входной файл должен иметь одно значения для каждой строки, следующего формата:

param_name = <значение или выражение>

Например:

THICKNESS = 2.5

INCLUDE_VALVE = YES

MATERIAL = "STEEL"

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

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

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

Note: Система учитывает регистр, когда параметры и их величины считываются из файла. Будьте внимательны при определении переменных.

Ошибки Выполнения

При столкновении с ошибками выполнения, система действует следующим образом:

В режимах Part и Assembly:

 Если неудача является следствием ошибки конструктивного элемента (например, если размер нарушает ограничения зависимостей), открывается INFORMATION WINDOW с описанием ошибки, те же данные записываются в файл errors.lst.n. Вы можете затем редактировать конструкцию From File (для корректировки ошибок) или From Model (чтобы начать заново).

 Если неудача является следствием ошибки геометрии, Pro/ENGINEER переходит в режим разрешения проблем, который имеет различные функции, чтобы помочь Вам диагностировать и решать ошибку.

В режиме Assembly:

 Если отказ происходит в сборке (например, если заменённый элемент не соответствует), система сообщает Вам, что она отказалась заменять конкретный член и спрашивает Вас, хотите ли Вы вновь отредактировать программу.

Ошибки в конструктивном элементе

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

Список ошибок конструктивного элемента составляется в течение выполнения, после того, как были затребованы входные величины, но до того, как начнётся реконструкция геометрии модели.

Погрешности геометрии

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

ADD FEATURE PROTRUSION

ADD FEATURE SHELL

OF THICKNESS d10 (создание крышки)

ADD FEATURE PROTRUSION (ручка для крышки)

Переопределите два последних конструктивных элемента, которые не зависят от остальных. Если геометрия ручки слишком тонка для создания оболочки толщиной d10, это создаст ошибку в геометрии. Pro/ENGINEER будет не в состоянии регенерировать оболочку. Не удавшийся конструктивный элемент (оболочка) высветится на модели красным цветом. Появится меню RESOLVE FEAT и откроется окно FAILURE DIAGNOSTICS с относительно неудавшегося пункта.

Если Вы выберите Undo Changes, система отменяет изменения на этой регенерации и возвращается в предшествующее состояние.

Создание Примеров (Instances)

Создание примеров модели с помощью Pro/PROGRAM

Детали и сборки, созданные Pro/PROGRAM с входными параметрами, могут быть возвращены в примеры исходной модели.

Всякий раз, когда конструкция выполнена, после регенерации модели или после редактирования конструкции Вы можете создать семейный пример этой специфической конфигурации, используя команду Instantiate из меню PROGRAM.

1. После выполнения программы, выберите PROGRAM > Instantiate.

2. Появляется редактор Pro/TABLE с названием исходной модели (деталь в режиме Part, сборка или деталь в режиме Assembly) в колонке 1 и заданном по умолчанию названии примера в колонке 2. При желании отредактируйте название примера; затем выйдите из Pro/TABLE.

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

Note: Параметры, которые появляются в таблице семейства, управляют конструкцией модели.

Пример: Создание примера сборки

Начальная программа для сборки выглядит примерно так:

INPUT

MATERIAL STRING

END INPUT

RELATIONS

END RELATIONS

EXECUTE PART BASE

MATERIAL=MATERIAL

END EXECUTE

ADD PART BASE

После выбора Instantiate, Вы можете ввести названия для примера сборки и примера детали, которые выполнялись программой. Редактирование выполнено с помощью Pro/TABLE.

Просмотрите таблицу семейства, которая теперь включает:

— Входную переменную — MATERIAL

— Выполняемая деталь — BASE

— Параметр, определяющий какая деталь BASE выполняется — EXEC_BASE_PART

После обработки, программа для сборки могла бы выглядеть так:

MATERIAL STRING

INPUT

RELATIONS

END INPUT

END RELATIONS

IF EXEC_BASE_PART

EXECUTE PART BASE

MATERIAL =MATERIAL

END EXECUTE

ENDIF

ADD PART BASE

....

Пример: Параметрическая конструкция для Blender Cover

Этот пример иллюстрирует логику разработки и использование операторов INPUT, EXECUTE и IF - ELSE. Формат операторов ADD FEATURE в конструкции детали был упрощен. Объяснения в квадратных скобках - только для информации и не появляются в нормальном листинге.

Создание параметрической конструкции.

Конструкция сборки BLENDER

Параметрическая конструкция для сборки BLENDER следующая:

INPUT

COVER_TYPE YES_NO

"Does the cover have a cap?:"

MATERIAL STRING

"Enter material (ABS or Poly):"

CAP_TYPE STRING

"Enter cap type (MODEL_A or MODEL_B):"

COVER_SIZE

"Enter the top plate dimension:"

END INPUT

RELATIONS

END RELATIONS

EXECUTE PART COVER [a.]

COVER_TYPE = COVER_TYPE

COVER_SIZE = COVER_SIZE

MATERIAL = MATERIAL

END EXECUTE

ADD PART COVER [b.]

INTERNAL MEMBER ID 2

...

END ADD

IF COVER_TYPE == YES [c.]

ADD PART (CAP_TYPE)

INTERNAL MEMBER ID 3

...

END ADD

END IF

Notes

a. Входная величина для COVER_TYPE вплоть до детали "Cover." Если используется значение YES, крышка имеет отверстие. Также, входная величина для материала и размер для крышки (размер верха пластины).

b. Добавление крышки.

c. Если COVER_TYPE=YES, добавить колпачок к сборке.

Конструкция для детали COVER

Параметрическая конструкция для сборки COVER следующая:

INPUT

COVER_TYPE YES_NO

COVER_SIZE

MATERIAL STRING

END INPUT

RELATIONS

DIAM = COVER_SIZE / 2 [a.]

IF MATERIAL == "Poly"

d0=.10

ELSE

d0=.2

ENDIF

END RELATIONS

ADD FEATURE 1

INTERNAL FEATURE ID 33 [b.]

TYPE=FIRST FEATURE

...

COVER_SIZE = 2.4 [c.]

ADD

END

ADD FEATURE 2 [d.]

INTERNAL FEATURE ID 169

TYPE=PROTRUSION

...

END ADD

IF COVER_TYPE == YES [e.]

ADD FEATURE 3

INTERNAL FEATURE ID 270

TYPE=SLOT

...

END ADD

END IF

Notes

a. Отношения включают отношение для диаметра отверстия и условного оператора для типа материала ("Poly" и "ABS" заключаются в кавычки).

b. Добавление конструктивного элемента основания.

c. Название параметра переименовывается в "COVER_SIZE".

d. Добавляются стенки.

e. Если COVER_TYPE=YES, добавляется отверстие.

Конструкция для детали CAP

Деталь CAP управляется таблицей с примерами MODEL_A и MODEL_B. Файл для параметрической конструкции детали CAP следующий:

INPUT

END INPUT

RELATIONS

END RELATIONS

ADD FEATURE 1 [Добавление конструктивного элемента основания колпачка.]

INTERNAL FEATURE ID 33

TYPE=FIRST FEATURE

...

END ADD

ADD FEATURE 2 [Добавление базовой плоскости.]

INTERNAL FEATURE ID 106

TYPE=DATUM PLANE

...

END ADD

ADD FEATURE 3 [Добавление материала выдавливанием.]

INTERNAL FEATURE ID 108

TYPE=PROTRUSION

...

END ADD

ADD FEATURE 4 [Добавление отверстия.]

INTERNAL FEATURE ID 179

TYPE=HOLE

...

END ADD

ADD FEATURE 5 [Добавление верхней пластины.]

INTERNAL FEATURE ID 198

TYPE=PROTRUSION

END ADD


Главная страница