Pro/ENGINEER 2001
Advanced 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 будет использован: во-первых, для упрощения конструкции, а во-вторых, для замещения компонентов, имеющих одинаковое назначение, но разную конструкцию.

  1. Измените директорию (File > Set Working Directory…) на ту, где у Вас установлены файлы для данного примера.
  2. Вызовите сборку под названием clock.asm. Сборка содержит следующие компоненты:
  3.  Узел body_front.asm

     Узел body_back.asm

     Деталь SCREW

  4. Для упрощения сборки уже созданы программы для деталей с именами battery_close.prt, body_back.prt, body_front.prt и display.prt.
  5. Вызовите во вспомогательное окно деталь body_back.prt. Для того чтобы запустить выполнение программы, выберите Regenerate. Выберите Enter из меню GET INPUT и пометьте параметр DETAILED, а затем Done Sel.
  6. Когда система задаст Вам вопрос DO YOU WANT A FULLY DETALIED MODEL?, ответьте [NO]. После этого запустится программа, которая упростит деталь. Деталь должна выглядеть так, как показано ниже.
  7.  

    Рис.10-1 - Полная деталь BACK_COVER

     

    Рис.10-2 - Упрощенная деталь BACK_COVER

     

  8. Вызовите поочерёдно детали battery_close.prt, body_front.prt и display.prt и регенерируйте (Regenerate) их для того, чтобы запустить программу для этих деталей. Оставьте все детали в упрощенном состоянии (DETAILED=NO).
  9. Перейдите в окно (Window > CLOCK.ASM) со сборкой clock.asm. Программы для сборки нет, однако программы деталей можно запустить с уровня сборки. Для этого выберите Regenerate, Automatic. Когда система спросит Вас о входных величин для Pro/PROGRAMM деталей body_front.prt и display.prt, пометьте Current Vals. В этом случае никаких изменений в деталь внесено не будет.
  10. Когда система спросит Вас о входных величинах для деталей body_back.prt и battery_close.prt, выберите Enter и пометьте в меню DETAILED. Введите [YES], чтобы просмотреть полностью проработанные детали.
  11. Для лучшего контроля за сборкой создается программа для автоматического обновления программ деталей. Кроме того, если модель находится в упрощенном состоянии, то в сборке не должно быть винтов. Для того чтобы отредактировать программу, выберите Program, Edit Design.
  12.  

    Note: Если Вы не хотите работать в системном редакторе, то Вы можете поменять значение опции PRO_EDITOR_COMMAND конфигурационного файла CONFIG.PRO.

     

  13. Отредактируйте программу так, как показано ниже:
  14. 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: Текст программы приведён не полностью – пропущены места ввода базовых плоскостей и системы координат. Зелёным цветом выделены строки вводимые пользователем.

     

  15. После того, как процесс будет закончен, система спросит Вас, хотите ли Вы внести эти изменения в конструкцию, Вы ответите [YES]. Для того чтобы протестировать программу, выберите Enter из меню GET INPUT и выберите параметр DETAILED. Ответьте [YES], когда система спросит, хотите ли Вы иметь полностью проработанную сборку.
  16. Регенерируйте (Regenerate) сборку, чтобы запустить программу на выполнение. На этот раз ответьте [NO] на вопрос программы. Проверьте спецификацию, чтобы убедиться, что в сборке отсутствуют винты.

 

Упрощённый вариант сборки

 

Сборка со всеми подробностями

Рис.10-3

 

13. После того, как программа отработает, сохраните (Save) сборку в упрощенном варианте и закройте окно (Window > Close).

 

РЕЖИМ ОБМЕНА

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

  1. Вызовите деталь body_front_2.asm. Программа для этой детали написана. Чтобы ее запустить, регенерируйте (Regenerate) деталь. Оставьте детали узла в упрощенном состоянии.
  2. После проверки программы покиньте окно (Window > Close) с этим узлом и создайте группу обмена. Для этого создайте новый файл сборки с названием front_interch. Выберите Interchange в секции окна Sub-type диалогового окна New.
  3. Из меню ASSEMBLY выберите Component > Add. В открывшемся диалоговом окне Open выберите файл с названием body_front.asm. Из меню COMPONENT выберите Add и затем файл с названием body_front_2.asm. Поскольку оба узла, body_front.asm и body_front_2.asm, функционально абсолютно идентичны, то выберите Functional Component (в секции Type окна Add Interchange Comp…) в качестве типа обмена.
  4. В диалоговом окне Component Placement нажмите иконку Fix component to the current position. Обменная сборка должна выглядеть так, как показано на рис. 10-4.
  5.  

    Рис.10-4

     

  6. Из меню ASSEMBLY выберите Reference Tag. Откроется диалоговое окно Reference Tags. В секции окна Assignments из списка высветите BODY_FRONT и нажмите кнопку Auto Tag. Затем выберите в графической области окна или дереве модели BODY_FRONT.ASM.
  7. Откроется диалоговое окно File Open, в котором необходимо указать, членом какой сборки является данный компонент. Выберите clock.asm.
  8.  

    Рис. 10-5

     

  9. Поочерёдно высвечивайте привязки и в строке ввода Tag Name присвойте им желаемые названия. Координатной системе названия не присваивайте.
  10. В диалоговом окне Reference Tags, в секции окна Assignments из списка высветите BODY_FRONT_2 и нажмите кнопку Auto Tag. Затем выберите в графической области окна или дереве модели BODY_FRONT_2.ASM.
  11. Откроется диалоговое окно File Open, в котором необходимо указать, членом какой сборки является данный компонент. Выберите clock.asm.
  12. Для того чтобы присвоить метки определенным объектам на BODY_FRONT_2.ASM, поочерёдно высвечивайте метки BODY_FRONT.ASM из списка Tags (обращайте внимание какая поверхность BODY_FRONT.ASM высвечивается) и выбирайте аналогичную поверхность на BODY_FRONT_2.ASM. Когда завершите, выберите OK в диалоговом окне Reference Tag.
  13. Cохраните (Save) сборку. Выйдите из окна (Window > Close) и вызовите сборку clock.asm.
  14. Для того чтобы заменить узел BODY_FRONT.ASM на BODY_FRONT_2.ASM, выберите Component, Adv Utils и Replace. Пометьте BODY_FRONT.ASM (обязательно сделайте это в дереве модели, а не в графической области экрана). Откроется диалоговое окно Replace Component. Оставьте выбранной опцию By Layout. Нажмите кнопку Browse и из диалогового окна Family Tree выберите BODY_FRONT_2.ASM. В завершение нажмите кнопку Apply в диалоговом окне Replace Component и Done в меню REPLACE COMP. Теперь в сборке должен появиться новый узел. Сохраните (Save) сборку.
  15. В заключение упражнения мы модифицируем программу сборки так, чтобы система спрашивала нас, какой узел BODY_FRONT.ASM или BODY_FRONT_2.ASM мы хотим видеть в сборке. Кроме того, программа должна выдавать или полную, или упрощенную сборку. Выберите Program, Edit Design. Отредактированная программа выглядит следующим образом:
  16. 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: В программе пропущены места, описывающие создание базовых плоскостей и координатной системы. Зелёным цветом выделены места, добавленные или отредактированные пользователем.

     

  17. Несколько раз протестируйте полученную программу, чтобы просмотреть все варианты.

 

УПРАЖНЕНИЕ 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 друг на друга.

  1. Вызовите группу обмена IN_RACE. Выберите Interchange и пометьте группу с именем IN_RACE.asm. Это необходимо для того, чтобы иметь группу обмена в памяти, что дает возможность совершать обмен. Покиньте (Window > Close) окно, когда группа будет вызвана.
  2. Теперь вызовите по очереди каждую деталь сборки, которая имеет программу детали, а именно: INNER_RACE, EXT_INNER_RACE и OUTER_RACE. Регенерируйте каждую деталь для того, чтобы запустить их программы. Установите значение внутреннего диаметра для каждой из деталей 85.
  3. Закройте все рабочие окна и вызовите сборку BEARING_217. Выберите Program из меню ASSEMBLY.
  4. Отредактируйте конструкцию модели, добавив внутренний и наружный диаметр, количество шариков и вопрос об имени внутреннего кольца. Если внутренним кольцом будет деталь EXT_INNER_RACE, то программа должна спрашивать о том, предусмотрены ли отверстия, и если они предусмотрены, то каков их диаметр. Как только программа для детали будет написана, используя статус EXECUTE, убедитесь в том, что сборочные параметры этой программой воспринимаются.
  5. Несколько раз регенерируйте модель, чтобы проверить результаты работы программы сборки. В результате Вы должны иметь возможность получить несколько разных конструкций.

 

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


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