В nanoCAD Механика существует база стандартных изделий, многие элементы которой являются параметрическими объектами и связаны между собой определенными зависимостями. Эти зависимости определяются теми стандартами, в рамках которых исполняются элементы.
Параметрическим объектом является элемент с управляемой через параметры геометрией.
Модуль Мастер объектов в nanoCAD Механика позволяет создавать объекты, параметры которых связаны определенными зависимостями не только внутри объекта, но и с параметрами других объектов базы. Это обеспечивает возможность генерировать через параметры различные исполнения или типы одного и того же объекта, а также управлять многокомпонентными сборками, создавая различные вариации одного узла или изделия в целом.
Предлагаемые практические материалы описывают некоторые возможности работы модуля параметризации в nanoCAD Механика и могут служить кратким учебным пособием по созданию параметрических элементов.
Часть 1. Подготовка геометрии объекта. Создание элемента базы
Для создания параметрического элемента, используя стандартные инструменты nanoCAD, начертим простой геометрический объект, состоящий из примитивов. Объект также может быть импортирован в формате *.dwg из другой системы (рис. 1).
Рис. 1. Геометрический объект
При создании штриховки выбираем Тип → Из линий. Это понадобится в дальнейшем для параметрического распознавания геометрии при создании объекта базы (рис. 2).
Рис. 2. Смена типа штриховки
Чтобы штриховка отображалась корректно, следует задать тонкий тип линии. Для этого вызовем команду меню Механика → Стандартные → MechWizard (Мастер объектов) → Установить параметр. Эту команду можно активировать и соответствующей кнопкой на панели инструментов ЕСКД MechWizard (Мастер объектов) (рис. 3).
Рис. 3. Установка типа линий штриховки
Здесь и далее, для удобства работы с Мастером объектов, рекомендуется использовать панель ЕСКД MechWizard (Мастер объектов). Для отображения панели необходимо открыть меню Вид и перейти в Панели → Механика → ЕСКД MechWizard (Мастер объектов) (рис. 4).
Рис. 4. Включение панели Мастер объектов
Начертим второй вид и проставим размеры. При обозначении размеров используем латинские буквы (рис. 5).
Рис. 5. Эскиз с размерами для распознавания
Параметр «l» на первом виде необходим для создания точки вставки. Для его определения создаем дополнительный отрезок. Устанавливаем отрезку параметр: вызываем команду меню Механика → Стандартные → MechWizard (Мастер объектов) → Установить параметр (или нажимаем соответствующую кнопку на панели MechWizard), указываем отрезок и нажимаем Enter. В открывшемся окне Свойства объекта включаем опцию Рабочий объект и нажимаем ОК (рис. 6).
Рис. 6. Свойства параметра для точки вставки объекта
Теперь, когда создана геометрия элемента и заданы определяющие размеры, создадим объект в базе элементов. Для этого необходимо вызвать Мастер объектов через меню Механика → Стандартные → MechWizard → Мастер объектов либо нажатием кнопки Мастер объектов на панели MechWizard (Мастер объектов) . В открывшемся окне Мастера объектов следует выбрать в меню Объект → Новый или нажать кнопку Новый объект. В окне Новый объект необходимо выбрать папку базы данных, в которой будет размещен объект (в данном случае – Пользовательские), заполнить поле Название и нажать ОК (рис. 7).
Рис. 7. Создание объекта базы
Объект создан, теперь добавим геометрию. В Мастере объектов необходимо щелкнуть правой кнопкой мыши (ПКМ) по ветви Исполнения и из контекстного меню выбрать Добавить исполнение. Щелкнув ПКМ в рабочей области Мастера, создадим еще один вид (рис. 8).
Рис. 8. Создание видов в Мастере объектов
Обозначим первый вид как Вид спереди (для этого выделим его и щелкнем по соответствующей кнопке отображения видов), а второй вид обозначим как Вид сбоку (рис. 9).
Рис. 9. Добавление геометрии к объекту базы
Теперь присвоим созданным в Мастере объектов видам соответствующую геометрию. Для этого щелкаем ПКМ по виду и из контекстного меню выбираем Параметрическое распознавание вида. Система перейдет в режим модели. Выделяем объект, после чего в контекстном меню выбираем Ввод или нажимаем Enter (рис. 10).
Рис. 10. Параметрическое распознавание геометрии объекта
Для завершения операции необходимо выбрать точку вставки (левый край отрезка размером «l»). При успешном распознавании появится соответствующее сообщение (рис. 11).
Рис. 11. Успешное распознавание эскиза
Аналогичные действия выполняем для вида сбоку. В качестве точки вставки указываем центр осей координат объекта (рис. 12).
Рис. 12. Отображение распознанной геометрии в Мастере объектов
В дереве объекта переходим на ветвь Скрипт. В рабочей области откроется программный код описания объекта, где по умолчанию отображены основные функции (рис. 13).
Рис. 13. Программный код объекта
Итак, мы рассмотрели, каким образом в nanoCAD Механика при помощи Мастера объектов можно создавать объект базы и подключать к нему геометрию.
В следующей части мы разберем, как параметризовать данный объект с помощью Мастера скриптов, а также используя объект-аналог.
Часть 2. Работа с кодом объекта. Мастер скриптов
Созданный объект имеет базовый скрипт с основными функциями, но пока что не содержит переменных.
Скрипт необходимо доработать в соответствии с требующейся функциональностью объекта. Чтобы упростить эту задачу, возьмем код похожего объекта базы.
Как было отмечено в первой части, предлагаемый материал может использоваться как инструкция по созданию параметрических объектов и управлению ими. Рекомендуется использовать nanoCAD Механика версии 8.0 и выше.
По ссылке https://goo.gl/6KhvzH можно скачать объект, который будет использоваться в качестве базового для данного примера.
Этот объект необходимо подключить к базе. В Базе элементов щелчком ПКМ по папке Пользовательские вызываем контекстное меню и выбираем команду Импорт из файла (рис. 14). Откроется проводник, через который находим нужный файл и нажимаем Открыть. Новый объект будет подключен.
Рис. 14. Подключение нового объекта к базе
В меню Скрипт выберем Взять скрипт с другого объекта, в появившемся окне Выбор детали откроем папку Пользовательские, щелкнем по объекту Шайба (рис. 15).
Рис. 15. Копирование скрипта с аналогичного объекта
Скрипт нового объекта будет обновлен (рис. 16).
Рис. 16. Обновленный скрипт объекта
Объект, с которого скопирован скрипт, имеет более простую геометрию. Приведем данный скрипт в соответствие с нашим объектом. Добавим параметры и установим новые значения.
Для этого в меню Мастер выбираем Мастер скриптов и в появившемся диалоге нажимаем Да (рис. 17).
Рис. 17. Запуск Мастера скриптов
Откроется окно основных свойств. Добавляем и корректируем информацию так, как это показано на рис. 18. Нажимаем Вперед.
В поле Спецификация вводим наименование объекта в том виде, в котором он будет отображаться в спецификации.
Значение в поле Порядок следования регулирует перекрытие объектов относительно друг друга на сборочном чертеже.
Рис. 18. Заполнение основных свойств объекта
В окне Свойства параметров добавляем недостающие параметры и задаем им значения. Уже имеющиеся параметры корректируем.
Для нашего примера зададим следующие значения:
b = 4; B = 6; D = 71,5; D1 = 0,75*D; d = 30; f = 1; l = 0
Делаем все параметры доступными для редактирования: выбираем параметр, щелкаем Доступна для редактирования (рис. 19).
Рис. 19. Редактирование параметров объекта
Для того чтобы добавить параметр, вводим в поле наименования уже имеющегося параметра новое обозначение и щелкаем по кнопке Добавить параметр, а затем вносим в созданный параметр значение, которое будет присваиваться по умолчанию (рис. 20).
Рис. 20. Добавление параметров объекта
На следующем шаге проверяем последовательность параметров. Для правильного исполнения скрипта параметр D должен быть выше D1, поскольку последний задается формулой через первый. При необходимости меняем положение кнопками Порядок параметров (рис. 21).
Рис. 21. Изменение порядка параметров
На следующем шаге, ничего не меняя, нажимаем Вперед (рис. 22).
Рис. 22. Задание условий отрисовки объекта
Теперь добавим описание рабочей плоскости – это понадобится для наложения зависимостей между другими компонентами. Нажимаем кнопку Добавить плоскость, устанавливаем ориентацию ОYZ и включаем опцию Доступна для редактирования другими (рис. 23). Нажимаем Вперед.
Рис. 23. Создание рабочей плоскости объекта
Следующие два шага проходим без внесения изменений (рис. 24).
Рис. 24. Видимость параметров и условия отображения объекта
В окне Переключатели управления контролируем переменную Отрисовывать объект во время вставки: эта опция должна быть включена (рис. 25).
Рис. 25. Переключатели управления объекта
На завершающем шаге работы Мастера скриптов можно посмотреть сгенерированный программный код и при необходимости вернуться на любой из пройденных шагов для внесения изменений.
Нажмем ОК и сохраним скрипт (рис. 26).
Рис. 26. Сгенерированный в Мастере скрипта код объекта
Теперь можно проверить работу нового объекта. Сохраним внесенные в объект изменения и закроем Мастер объектов.
В Базе элементов находим созданный объект (папка Пользовательские). Если он не отображается, следует нажать кнопку Обновить на панели инструментов. Щелкаем по объекту и переводим указатель мыши в пространство модели. Выбираем точку вставки и направление. Появится окно с параметрами. В поле Значение можно менять значение любого параметра. В левой части окна доступен выбор вида. Выбирая тот или иной вид, можно видеть его изображение в окне предварительного просмотра – это очень удобно, когда объект имеет множество видов.
Поменяем значения B на 4, а b на 2, нажмем ОК. Геометрия шайбы изменится соответствующим образом (рис. 27).
Рис. 27. Диалог вставки объекта
Двойным щелчком по объекту можно вернуться в режим редактирования шайбы, а затем вновь поменять параметры, но это удобно лишь в том случае, когда подобные изменения вносятся крайне редко. Учитывая, что шайба является одним из изделий, постоянно используемых в машиностроительном проектировании, и может иметь более десятка исполнений, такой вариант не совсем приемлем. Более правильно создать дополнительные исполнения с новыми значениями, что в дальнейшем избавит вас от лишних действий. Об этом, а также о том, как создавать сборочные зависимости, пойдет речь в следующей части.
Часть 3. Создание исполнений. Сборочные зависимости
Очевидно, что наибольший эффект от параметризации объектов будет получен при создании исполнений объектов, а также при задании внешних зависимостей с другими элементами базы для проектирования интеллектуальных сборок, управляемых через параметры объектов.
В этой части мы задействуем инструментарий nanoCAD Механика, предназначенный для создания полноценных параметрических объектов и управления сборочными зависимостями.
В папке Пользовательские базы элементов щелкаем ПКМ на новом объекте Шайба_10Н205-00-414-01 и из контекстного меню выбираем Открыть в Мастере объектов (рис. 28).
Рис. 28. Открытие элемента базы в Мастере объектов
На ветви Исполнения щелкаем ПКМ и из контекстного меню выбираем Добавить исполнение (рис. 29). Далее создаем вид по аналогии с первым исполнением. Щелкаем ПКМ на появившемся в правой части окна Мастера объектов новом исполнении, вызываем контекстное меню и выбираем параметрическое распознавание. В качестве эскиза используем ту же геометрию, что и для первого исполнения.
Рис. 29. Добавление исполнения в Мастере объектов
В данном случае ограничимся только одним видом (см. часть 1, «Подготовка геометрии объекта. Создание элемента базы», рис. 5).
Теперь, когда геометрия объекта на новое исполнение добавлена, внесем некоторые изменения в программный код объекта.
Для удобства навигации по скрипту раскроем ветвь Методы, а затем Обработчик событий. Откроется список всех основных функций, используемых в скрипте. Для создания нового исполнения нам понадобятся обработчики ActHeader, OnInitialization, OnMakeParameters, OnDialog.
В ActHeader, секция Protected, необходимо объявить параметры: (seted, B1, B2, b1, b2); (рис. 30).
Рис. 30. Объявление параметров исполнений
В OnInitialization вместо B и b присвоим значения новым введенным параметрам: B1 = 6; B2 = 4; b1 = 3; b2 = 2 (рис. 31).
Рис. 31. Ввод значений параметров исполнений
В OnMakeParameters добавим следующую конструкцию, передающую исполнениям определенные значения переменных (рис. 32):
if (strDesignName == "Implementation1") {b=b1};
if (strDesignName == "Implementation2") {b=b2};
if (strDesignName == "Implementation1") {B=B1};
if (strDesignName == "Implementation2") {B=B2};
Рис. 32. Передача значений исполнениям
Для отображения всех исполнений в диалоге вставки добавляем в OnDialog (рис. 33): VIDS, strDesignName, "All",
Рис. 33. Внесение изменений в функцию Диалог вставки
Сохраним изменения и закроем Мастер объектов. Проверим работу скрипта. Вставляем измененную шайбу из базы объектов в пространство модели. Теперь в появившемся окне свойств будут доступны два исполнения (рис. 34).
Рис. 34. Диалог вставки объекта с исполнениями
Выбираем второе исполнение, нажимаем ОК. Ширина шайбы изменится в соответствии со значениями параметров, заданными в OnInitialization.
Теперь, чтобы использовать новый объект в параметрической сборке, необходимо создать внешние зависимости. Такие зависимости описываются в обработчике OnConnect. В базовом примере Шайба (порядок подключения этого объекта к базе представлен в части 2: «Работа с кодом объекта. Мастер скриптов») основные сборочные зависимости уже заданы. Откроем этот объект в Мастере объектов, скопируем часть скрипта, описывающего функцию OnConnect, и вставим данный код в новую шайбу (рис. 35).
Рис. 35. Описание зависимостей объекта
Первая часть этого скрипта создает сборочную зависимость добавляемого элемента и подшипника – таким образом, что при указании подшипника рабочая плоскость элемента (в данном случае торец шайбы) будет совпадать с ближайшей плоскостью подшипника. С какой стороны средней плоскости выбран подшипник, с такой и будет отображаться шайба.
Вторая часть описывает зависимость сегмента вала и внутренней (посадочной) поверхности шайбы, диаметр которой обозначен переменной «d». Используя функцию динамического выбора параметров (кнопка в диалоге вставки объекта), после указания поверхности можно перемещать устанавливаемый объект в любую точку вдоль оси.
После вставки кода в новый объект поднимемся по ветке Обработчики событий в BeforeConnect. Этот обработчик позволяет выводить сообщение-подсказку о необходимых действиях после добавления объекта в пространство модели. Запишем в него после ResetLastConstraint(); следующее выражение:
if(rPart == 0) {strPromt = "Выберите подшипник, или ступень вала"; }.
В ActHeader добавим переменную NSelect со значением 2, которая определяет количество запросов объектов при вставке, – в случае необходимости это позволит контролировать посадочный диаметр шайбы выбором нужного диаметра вала, после указания подшипника.
Сохраним изменения и закроем Мастер объектов.
Чтобы протестировать полученный объект, возьмем несложную сборку, созданную из стандартных элементов базы nanoCAD Механика. Скачать файл сборки можно по ссылке https://goo.gl/g9Eks8.
Откроем сборку и добавим в нее новый объект. Появится информационное сообщение, которое было прописано в обработчике BeforeConnect. В командной строке программа выведет запрос: «Выберите точку вставки». Указать подшипник необходимо таким образом, чтобы шайба оказалась слева от него (рис. 36).
Рис. 36. Добавление объекта в сборку
Щелчком мыши фиксируем положение. Вторым щелчком выбираем ступень вала, на который устанавливается шайба, для корректировки внутреннего диаметра. Появится уже знакомое нам окно диалога вставки, в котором можно менять значения параметров и выбирать виды, а также менять исполнения. Выбираем второе исполнение, нажимаем Применить. Ширина шайбы изменится в соответствии с заданными параметрами, при этом будут сохранены зависимости с подшипником и валом (рис. 37).
Рис. 37. Смена исполнения объекта в диалоге вставки
Фиксируем изменения нажатием кнопки ОК. В дальнейшем при необходимости смены исполнения можно входить в диалог вставки двойным щелчком по объекту.
Теперь перейдем к управлению зависимостями.
Рассматриваемый узел является параметрической сборкой – все объекты связаны определенными зависимостями, и при изменении, скажем, размеров подшипников изменятся размеры всех взаимосвязанных деталей.
С помощью команды Управление зависимостями можно создавать или удалять различные зависимости между параметрами различных объектов базы, в том числе пользовательских.
Стандартные элементы базы, используемые в данном примере, уже имеют все необходимые зависимости. Для пользовательского объекта такие зависимости пока не заданы, но добавить их не составит большого труда. В качестве примера создадим зависимость диаметров шайбы и стакана, которая позволит избежать ошибок, связанных с наложением деталей при значительном уменьшении внешних диаметров подшипников и, как следствие, уменьшении размеров стакана.
Для запуска команды в меню Механика → Стандартные вызываем команду Управление зависимостями (рис. 38).
Рис. 38. Запуск функции Управление зависимостями
В открывшемся окне щелкаем по пиктограмме Дочерний объект и выбираем шайбу, затем в качестве родительского объекта выбираем деталь Стакан. Раскрываем ветви параметров обоих объектов и двойным щелчком выбираем в шайбе диаметр D, а в стакане – диаметр Dv. Параметры добавятся ниже в поле ввода. В правой части равенства можно вписывать математические выражения. Добавим «-0,25» после обозначения параметра, обеспечив таким образом зазор между деталями. Нажимаем кнопку Сохранить зависимости и закрываем окно щелчком по кнопке ОК (рис. 39). Внесенные изменения отобразятся на экране.
Рис. 39. Создание зависимости между объектами
Чтобы проверить работу созданной зависимости изменим параметры подшипников. Для этого входим в диалог вставки объекта и меняем наружный диаметр с 85 на 75 или на 100, нажимаем ОК. Размеры подшипников и, как следствие, диаметр стакана изменятся, но диаметр отверстия стакана останется прежним, заданный размер зазора сохранится (рис. 40).
Рис. 40. Диалог вставки параметрического подшипника
Таким образом можно связывать любые параметры разных деталей, а также вносить в созданные зависимости изменения, используя математические выражения.
В завершение, для наглядности и упрощения визуального поиска, посредством функционала Мастера объектов можно добавить в окно предпросмотра объекта картинку или 3D-модель.
Для этого, находясь в Мастере объектов, необходимо щелкнуть ПКМ по самому верхнему элементу дерева и выбрать из контекстного меню один из первых двух вариантов.
Рис. 41. Установка 3D-модели в предпросмотр объекта
В нашем случае подготовлена 3D-модель шайбы (скачать которую можно здесь: https://goo.gl/cVo2p7), поэтому выбираем Установить на объект картинку для предварительного просмотра (рис. 41). При этом в пространстве модели должна быть открыта соответствующая модель. Щелкаем по модели, нажимаем Enter – модель шайбы отобразится в окне предпросмотра. Сохраним и закроем Мастер объектов. Чтобы модель отобразилась в окне предварительного просмотра, следует нажать кнопку Обновить на панели инструментов вкладки База элементов. Для вращения модели в окне предпросмотра наведите на нее курсор и переместите при зажатой кнопке мыши (рис. 42).
Рис. 42. 3D-модель в предпросмотре объекта
Итак, мы рассмотрели некоторые возможности nanoCAD Механика, относящиеся к созданию параметрических объектов и работе с ними. Отметили нюансы подготовки геометрии для создания параметрического элемента и добавления нового элемента базы, научились подключать импортированный файл. Разобрали способы параметризации элементов базы: с помощью Мастера скриптов и по объектам-аналогам. Освоили процесс создания внешних зависимостей пользовательской детали для работы с параметрическими сборками.
Конечно, параметризация – это до некоторой степени уход от традиционных приемов, но при грамотном применении она позволяет значительно ускорить процесс проектирования и повысить его качество. Как следствие, параметрическое моделирование медленно, но верно обретает права нового стандарта проектирования. Что же касается программы nanoCAD Механика, то совершенствование инструментов параметрического моделирования уже стало одним из основных векторов ее развития.
Алексей Гепта
руководитель проекта nanoCAD Механика
ЗАО «Нанософт»