Создание параметрических объектов базы в nanoCAD Механика (Часть 3)

Часть 3. Создание исполнений. Сборочные зависимости


fcql5b1vc5ovochwr-q03u2_luy.png

В предыдущей части мы ознакомились с основным инструментарием Мастера объектов nanoCAD Механика для создания параметрического объекта и рассмотрели процесс задания параметров созданному элементу базы.

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

В этой части мы задействуем инструментарий nanoCAD Механика, предназначенный для создания полноценных параметрических объектов и управления сборочными зависимостями.

В папке базы элементов Пользовательские, щелкаем правой кнопкой мыши (ПКМ) на новом объекте Шайба_10Н205–00–414–01 и из контекстного меню выбираем Открыть в Мастере объектов (рис. 1).

iyeoynkqtxex-fatgfxvrqoz0za.png
Рис. 1

На ветви Исполнения щелкаем ПКМ и из контекстного меню выбираем Добавить исполнение (рис. 2). Далее создаем вид по аналогии с первым исполнением. Щелкаем ПКМ на появившемся в правой части окна Мастера объектов новом исполнении, вызываем контекстное меню и выбираем параметрическое распознавание. В качестве эскиза используем ту же геометрию, что и для первого исполнения.

py5klt7p2wtkc8ti4iesljm3sme.png
Рис. 2

В данном случае ограничимся только одним видом (см. часть 1, «Подготовка геометрии объекта. Создание элемента базы», рис. 5).

Теперь, когда геометрия объекта на новое исполнение добавлена, внесем некоторые изменения в программный код объекта.

Для удобства навигации по скрипту раскроем ветвь Методы, а затем Обработчик событий. Откроется список всех основных функций, используемых в скрипте. Для создания нового исполнения нам понадобятся обработчики:

ActHeader, OnInitialization, OnMakeParameters, OnDialog.


В ActHeader, секция Protected, необходимо объявить параметры (рис. 3):

(seted, B1, B2, b1, b2);


oluqppw1nx2a6xzl2ynbhtntfqc.png
Рис. 3

В OnInitialization вместо B и b присвоим значения новым введенным параметрам (рис. 4):

B1 = 6; B2 = 4; b1 = 3; b2 = 2


pucrmx1bo88srffkbisqyfh8-ik.png
Рис. 4

В OnMakeParameters добавим следующую конструкцию, передавая исполнениям определенные значения переменных (рис. 5):

if (strDesignName == «Implementation1») {b=b1};
if (strDesignName == «Implementation2») {b=b2};
if (strDesignName == «Implementation1») {B=B1};
if (strDesignName == «Implementation2») {B=B2};


uag6ez9habqc4zir9-ggvb3rsfw.png
Рис. 5

Для отображения всех исполнений в диалоге вставки, добавляем в OnDialog (рис. 6):

VIDS, strDesignName, «All»,


itbfihrxtyfuxnm7mkvm4m-ohvm.png
Рис. 6

Сохраним изменения и закроем Мастер объектов. Проверим работу скрипта. Вставляем измененную шайбу из базы объектов в пространство модели. Теперь в появившемся окне свойств будут доступны два исполнения (рис. 7).

fhjzm16yso_i9gwjbgno0cutyls.png
Рис. 7

Выбираем второе исполнение, нажимаем ОК. Ширина шайбы изменится в соответствии со значениями параметров, заданными в OnInitialization.

Теперь, чтобы использовать новый объект в параметрической сборке, необходимо создать внешние зависимости. Такие зависимости описываются в обработчике OnConnect. В базовом примере Шайба (порядок подключения этого объекта к базе представлен в части 2: «Работа с кодом объекта. Мастер скриптов») основные сборочные зависимости уже заданы. Откроем этот объект в Мастере объектов, скопируем часть скрипта, описывающего функцию OnConnect, и вставим данный код в новую шайбу (рис. 8).

qdjpygappzg7__i4irqa1yjxz_c.png
Рис. 8

Первая часть этого скрипта создает сборочную зависимость добавляемого элемента и подшипника — таким образом, что при указании подшипника рабочая плоскость элемента (в данном случае торец шайбы) будет совпадать с ближайшей плоскостью подшипника. С какой стороны средней плоскости выбран подшипник, с такой и будет отображаться шайба.

Вторая часть описывает зависимость сегмента вала и внутренней (посадочной) поверхности шайбы, диаметр которой обозначен переменной «d». Используя функцию динамического выбора параметров (кнопка в диалоге вставки объекта snjddpnzy-mtvauojckdqlbjtsy.png), после указания поверхности можно перемещать устанавливаемый объект в любую точку вдоль оси.

После вставки кода в новый объект поднимемся по ветке Обработчики событий в BeforeConnect. Этот обработчик позволяет выводить сообщение-подсказку о необходимых действиях после добавления объекта в пространство модели. Запишем в него после ResetLastConstraint (); следующее выражение:

if (rPart == 0) {strPromt = «Выберите подшипник, или ступень вала»; }


В ActHeader добавим переменную NSelect со значением 2, которая определяет количество запросов объектов при вставке — при необходимости это позволит контролировать посадочный диаметр шайбы выбором нужного диаметра вала, после указания подшипника.
Сохраним изменения и закроем Мастер объектов.

Чтобы протестировать полученный объект, возьмем несложную сборку, созданную из стандартных элементов базы nanoCAD Механика. Скачать файл сборки можно по ссылке: goo.gl/g9Eks8

Откроем сборку и добавим в нее новый объект. Появится информационное сообщение, которое было прописано в обработчике BeforeConnect. В командной строке программа выведет запрос: «Выберите точку вставки». Указать подшипник необходимо таким образом, чтобы шайба оказалась слева от него (рис. 9).

bymiun50p6fz09b4tfndkkrelvo.png
Рис. 9

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

9sjosm7dwcqrnt_bnohndj3yo84.png
Рис. 10

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

Теперь перейдем к управлению зависимостями.

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

С помощью команды Управление зависимостями можно создавать или удалять различные зависимости между параметрами различных объектов базы, в том числе пользовательских.

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

Для запуска команды в меню МеханикаСтандартные вызываем команду Управление зависимостями (рис. 11).

yoc57knsywh_sjvrhrvfobcgmi0.png
Рис. 11

В открывшемся окне щелкаем по пиктограмме Дочерний объект и выбираем шайбу, затем в качестве родительского объекта выбираем деталь Стакан. Раскрываем ветви параметров обоих объектов и двойным щелчком выбираем в шайбе диаметр D, а в стакане — диаметр Dv. Параметры добавятся ниже в поле ввода. В правой части равенства можно вписывать математические выражения. Добавим »-0,25» после обозначения параметра, обеспечив таким образом зазор между деталями. Нажимаем кнопку Сохранить зависимости и закрываем окно щелчком по кнопке ОК (рис. 12). Внесенные изменения отобразятся на экране.

pmsmfhb2u-rjckbcpaqr9izipaa.png
Рис. 12

Для проверки работы созданной зависимости изменим параметры подшипников. Для этого входим в диалог вставки объекта и меняем наружный диаметр с 85 на 75 или на 100, нажимаем ОК. Размеры подшипников и, как следствие, диаметр стакана изменятся, но диаметр отверстия стакана останется прежним, заданный размер зазора сохранится (рис. 13).

vtvbmsnmejsm2gwgn7rcdnnopkw.png
Рис. 13

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

В завершение, для наглядности и упрощения визуального поиска, посредством функционала Мастера объектов можно добавить в окно предпросмотра объекта картинку или 3D-модель.

Для этого, находясь в Мастере объектов, необходимо щелкнуть ПКМ по самому верхнему элементу дерева и выбрать из контекстного меню один из первых двух вариантов.
В нашем случае подготовлена 3D-модель шайбы (скачать которую можно здесь: goo.gl/cVo2p7), поэтому выбираем Установить на объект картинку для предварительного просмотра (рис. 14). При этом в пространстве модели должна быть открыта соответствующая модель. Щелкаем по модели, нажимаем Enter — модель шайбы отобразится в окне предпросмотра.

edzhqovgyrmtpn-_f7zf3k3grve.png
Рис. 14

Сохраним и закроем Мастер объектов. Чтобы модель отобразилась в окне предварительного просмотра, следует нажать кнопку Обновить 6xt253bik4gzbdx3_a9smzum1q0.png на панели инструментов вкладки База элементов. Для вращения модели в окне предпросмотра наведите на нее курсор и переместите при зажатой кнопке мыши (рис. 15).

fqir8pkea2gcu60ert5xxllruky.png
Рис. 15

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

Конечно, параметризация — это в некотором смысле уход от традиционных приемов, но при грамотном применении она позволяет значительно ускорить процесс проектирования и повысить его качество.

Как следствие, параметрическое моделирование медленно, но верно обретает права нового стандарта проектирования.

Что же касается программы nanoCAD Механика, то совершенствование инструментов параметрического моделирования уже стало одним из основных векторов ее развития.

© Habrahabr.ru