Pro/ENGINEER 2001Advanced Assembly Design Training Guide ЗАНЯТИЕ 10 PRO/PROGRAMM В СБОРКЕ Pro/PROGRAM ПРИ КОНСТРУИРОВАНИИ СБОРОК
ВВЕДЕНИЕ
В режиме Assembly модуль Pro/PROGRAM можем использовать в следующих случаях:
Включение деталей и сборочных узлов в проект.
Упрощение создания различных версий детали или конструкции сборки.
Создание различных версий деталей и сборок для специального использования моделей, например: для сборки, технологической обработки или расчетов.
При манипуляции конструктивными элементами в деталях, например: удаление, подавление или изменение порядка конструктивных элементов в модели.
Изменение привязок при размещении компонентов в сборке.
Расчет массовых характеристик деталей и сборок.
СОЗДАНИЕ/РЕДАКТИРОВАНИЕ ПРОГРАММЫ
Программа может быть создана, исходя из модели или из файла. Изначально программа должна создаваться исходя из модели, так как файл для нее еще не создан. Модель должна содержать все возможные конструктивные элементы и компоненты, которые могут включаться в ее различные варианты.
Когда файл готов, то при его редактировании можно сделать следующее:
Добавить оператор INPUT, чтобы добавить конструкторские параметры и их величины.
Добавить соотношения на уровне детали или сборки.
Создать разветвления конструкции, используя для этого операторы IF и ELSE.
Добавить оператор EXECUTE, чтобы передавать данные из сборки в детали и регенерировать компоненты сборки.
Проводить манипуляции конструктивными элементами, такие, как, например: удаление, подавление и переопределение порядка конструктивных элементов.
Добавлять или выделять сборочные компоненты.
ВЫПОЛНЕНИЕ ПРОГРАММЫ
После того, как файл будет отредактирован, система спросит у Вас, внести ли изменения в модель. Если Вы введете [Y], то система выполнит отредактированную программу и обновит модель. В качестве исходных величин для программы могут быть использованы: их текущие значения (Current Vals), что позволит сохранить существующие значения параметров; можно использовать опцию Enter, после чего сработает оператор ввода, в этом случае Вам необходимо будет ввести значения параметров из командной строки; можно также ввести исходные данные с помощью текстового файла, записанного в текущей директории, если использовать опцию Read File. После того, как изменения будут введены в модель, версия программы, существовавшая до редактирования, уничтожается.
Если модель не изменена в соответствии с новой программой, то будут существовать две версии программы, связанные с деталью: файл и модель. Файловая версия программы - это отредактированная программа; версия модели - это последняя регенерация модели. Если программу нужно отредактировать снова, то система спросит Вас, над какой версией программы Вы хотите работать. Если Вы выберете версию модели, то система предупредит Вас о том, что существующая файловая версия будет переписана.
Если Вы хотите изменить модель с помощью новой программы, то для ее запуска необходимо воспользоваться опцией Regenerate. После этого система спросит Вас, откуда взять входные величины и регенерирует деталь.
Если сборка содержит детали с измененными программами моделей, то программы деталей могут быть запущены из сборки. Если сборка не имеет программы, то исполняется программа детали всякий раз, когда для регенерации выбирается эта деталь, или если выбирается опция Automatic из меню PRT TO REGEN. Если же в сборке есть программа, то исполнение программы детали может быть запущено из программы сборки.
После того, как программа сборки запущена, результирующую сборку можно сделать разновидностью исходной сборки. Для этого выберите опцию Instantiate из меню PROGRAM. Система откроет редактор Pro/TABLE. В первом столбце будут находиться имя исходной сборки, имена всех деталей и узлов вместе с программами, во втором столбце - стандартные имена разновидностей сборки и деталей. Если это необходимо, то для этих разновидностей можно внести новые имена. Пока Вы находитесь в редакторе, Вы можете добавить новый объект в таблицу семейства сборки со всеми значениями параметров. К таблицам семейств отдельных деталей, имеющих программы, также добавятся объекты вместе со значениями параметров, определенными в сборке.
EXECUTE PART WASHER
THICKNESS = WASHTHICK
END EXECUTE
END IF
ADD PART PLATE
INTERNAL MEMBER ID 1
END ADD
ADD PART BOLT
INTERNAL MEMBER ID 2
PARENTS = 1
END ADD
IF WASHER == YES
ADD PART WASHER
INTERNAL MEMBER ID 3
PARENTS = 12
END ADD
END IF
ADD PART (NUT_NAME)
INTERNAL MEMBER ID 4
PARENTS = 12
END ADD
MASSPROPS
END MASSPROPS
ПРИМЕР 1
Использование модуля Pro/PROGRAM является еще одним инструментом управления сборками, как на уровне детали, так и на уровне сборки. С помощью Pro/PROGRAM можно создавать различные варианты конструкций. Кроме того, Pro/PROGRAM можно использовать для упрощения деталей и сборок. В этом примере модуль Pro/PROGRAM будет использован: во-первых, для упрощения конструкции, а во-вторых, для замещения компонентов, имеющих одинаковое назначение, но разную конструкцию.
Узел body_front.asm
Узел body_back.asm
Деталь SCREW
Рис.10-1 - Полная деталь BACK_COVER
Рис.10-2 - Упрощенная деталь BACK_COVER
Note:
Если Вы не хотите работать в системном редакторе, то Вы можете поменять значение опции PRO_EDITOR_COMMAND конфигурационного файла CONFIG.PRO.
VERSION
REVNUM 85
LISTING FOR ASSEMBLY CLOCK
INPUT
DETAILED YES_NO
"DO YOU WANT A FULLY DETAILED ASSEMBLY?"
END INPUT
RELATIONS
END RELATIONS
EXECUTE SUBASSEMBLY BODY_FRONT
DETAILED = DETAILED
END EXECUTE
ADD SUBASSEMBLY BODY_FRONT
INTERNAL COMPONENT ID 40
END ADD
EXECUTE SUBASSEMBLY BODY_BACK
DETAILED = DETAILED
END EXECUTE
ADD SUBASSEMBLY BODY_BACK
INTERNAL COMPONENT ID 43
PARENTS = 40(#5)
END ADD
IF DETAILED ==YES
ADD PART SCREW
INTERNAL COMPONENT ID 46
PARENTS = 43(#6)
END ADD
ADD PART SCREW
INTERNAL COMPONENT ID 47
PARENTS = 43(#6)
END ADD
ADD PART SCREW
INTERNAL COMPONENT ID 48
PARENTS = 43(#6)
END ADD
ADD PART SCREW
INTERNAL COMPONENT ID 49
PARENTS = 43(#6)
END ADD
END IF
MASSPROP
END MASSPROP
Note:
Текст программы приведён не полностью – пропущены места ввода базовых плоскостей и системы координат. Зелёным цветом выделены строки вводимые пользователем.
Упрощённый вариант сборки
Сборка со всеми подробностями
Рис.10-3
13. После того, как программа отработает, сохраните (Save) сборку в упрощенном варианте и закройте окно (Window > Close).
РЕЖИМ ОБМЕНА
В этой сборке вместо узла body_front.asm для передней панели электронных часов можно использовать другую крышку. Для того чтобы сделать новую крышку body_front_2.asm и исходный узел body_front.asm взаимозаменяемыми, нужно использовать режим обмена.
Рис.10-4
Рис. 10-5
VERSION
REVNUM 119
LISTING FOR ASSEMBLY CLOCK
INPUT
DETAILED YES_NO
"DO YOU WANT A FULLY DETAILED ASSEMBLY?"
COVER STRING
"WICH COVER DO YOU WANT (BODY_FRONT OR BODY_FRONT_2)"
END INPUT
RELATIONS
END RELATIONS
ADD SUBASSEMBLY
(COVER)INTERNAL COMPONENT ID 50
END ADD
ADD SUBASSEMBLY BODY_BACK
INTERNAL COMPONENT ID 43
PARENTS = 50(#5)
END ADD
IF DETAILED==YES
ADD PART SCREW
INTERNAL COMPONENT ID 46
PARENTS = 43(#6)
END ADD
ADD PART SCREW
INTERNAL COMPONENT ID 47
PARENTS = 43(#6)
END ADD
ADD PART SCREW
INTERNAL COMPONENT ID 48
PARENTS = 43(#6)
END ADD
ADD PART SCREW
INTERNAL COMPONENT ID 49
PARENTS = 43(#6)
END ADD
END IF
MASSPROP
END MASSPROP
Note:
В программе пропущены места, описывающие создание базовых плоскостей и координатной системы. Зелёным цветом выделены места, добавленные или отредактированные пользователем.
УПРАЖНЕНИЕ 2 - (ПО ЖЕЛАНИЮ)
Напишите программу сборки, в результате которой будут создаваться различные варианты конструкции шарикоподшипника. Подшипник может иметь два различных внутренних кольца, различные внутренний и наружный диаметр, в нем может изменяться число шариков. Каждая деталь имеет свою собственную программу, которая будет изменять эту деталь в зависимости от введенных величин. Программа сборки, которую Вы напишете, должна проводить изменения конструкции так, чтобы каждый раз изменялась каждая деталь. Для упрощения задачи удалите из сборки компонент retainer.asm (сепаратор).
Шарикоподшипник радиальный однорядный №217
Деталь ext-inner_race.prt
Рис.10-7
Программа для детали INNER_RACE должна контролировать следующее:
внутренний диаметр кольца.
Программа для детали EXT-INNER_RACE должна контролировать следующее:
внутренний диаметр кольца;
добавлять или уничтожать набор отверстий для винтов;
если будут добавляться отверстия, то необходим вопрос об их диаметре;
диаметр отверстия удерживается в диапазоне от 3 до 5 с помощью соотношений. Если значение становится больше 5, то отверстие не добавляется.
Программа для детали OUTER_RACE должна контролировать следующее:
число шариков в подшипнике;
наружный диаметр подшипника;
внутренний диаметр (внутренний диаметр внутреннего кольца).
С помощью соотношений шарики подшипника удерживаются на равном расстоянии друг от друга.
Необходимо также создать группу обмена с именем IN_RACE для того, чтобы можно было осуществлять автоматическую замену деталей INNER_RACE и EXT_INNER_RACE друг на друга.
Note:
Если Вам нужна дополнительная помощь при написании программы, то обратитесь к Приложению B, где приведен один из вариантов решения данной задачи.