Найти в Дзене
ARTEM GUSEV

Кран шаровый. Ч.2. Графика – Создаем элементики в Model Studio CS

Добро пожаловать во вторую часть материала по созданию шарового крана. Напомню, кран шаровый Мы создаем в три этапа: Первая часть вышла 2 мая, вторая часть (та, которую Ты читаешь) 7 мая, третья часть 15 мая. В указанные даты гиперссылки станут активными. После всех шагов, которые описаны выше у нас должны получится три вот таких элемента: Собственно, в рамках этой части будут реализованы следующие шаги по созданию элемента: Прежде чем мы перейдем к созданию параметрической графики, напомню, что после первой части Наш объект выглядит так: На кран не сильно похоже, верно? Давай это исправим и начнем превращать пустое место в кран. Прежде чем рисовать параметрическую графику следует изучить чертеж. Если к нему присмотреться, то можно увидеть, что кран может быть отрисован при помощи примитивов: 4 цилиндров (CYLINDER) и 3 параллелепипедов (BOX). При этом часть этих примитивов будут относиться к самому крану, а часть к его ручке. Именно исходя из этих соображений мы будем группировать эти
Оглавление

Добро пожаловать во вторую часть материала по созданию шарового крана. Напомню, кран шаровый Мы создаем в три этапа:

  1. Формирование параметрического состава элемента.
  2. Формирование параметрической графики. На этом этапе мы создадим геометрию шарового крана.
  3. Создание типоразмеров в базе данных стандартных компонентов.

Первая часть вышла 2 мая, вторая часть (та, которую Ты читаешь) 7 мая, третья часть 15 мая. В указанные даты гиперссылки станут активными.

После всех шагов, которые описаны выше у нас должны получится три вот таких элемента:

3 крана шаровых на разные типоразмеры
3 крана шаровых на разные типоразмеры

Собственно, в рамках этой части будут реализованы следующие шаги по созданию элемента:

  1. Изучение чертежа и создание логического разделения на группы.
  2. Создание фланцев
  3. Создание центральной части крана
  4. Создание ручки
  5. Сохранение элемента в БДСК

Прежде чем мы перейдем к созданию параметрической графики, напомню, что после первой части Наш объект выглядит так:

Пустая параметрическая графика
Пустая параметрическая графика

На кран не сильно похоже, верно? Давай это исправим и начнем превращать пустое место в кран.

Изучение чертежа и логическое разделение на группы

Прежде чем рисовать параметрическую графику следует изучить чертеж. Если к нему присмотреться, то можно увидеть, что кран может быть отрисован при помощи примитивов: 4 цилиндров (CYLINDER) и 3 параллелепипедов (BOX).

Разбивка крана на примитивы
Разбивка крана на примитивы

При этом часть этих примитивов будут относиться к самому крану, а часть к его ручке. Именно исходя из этих соображений мы будем группировать эти примитивы в редакторе параметрического оборудования. С группировкой нам помогут специальные элементы структуры параметрической графики «GROUP».

Лирическое отступление: группы можно использовать, а можно не использовать, это целиком и полностью Твой выбор. Просто мне привычнее и удобнее работать с ними.

Итак, возвращаемся в редактор параметрического оборудования. И создаем две группы. Для этого кликаем по надписи «3D» правой кнопкой мыши (1), а затем активируем команду «Группа» (2). И так два раза.

Создание группы в редакторе параметрического оборудования
Создание группы в редакторе параметрического оборудования

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

Новые имена для созданных групп
Новые имена для созданных групп
Важно! Все объекты (примитивы и группы) параметрической графики могут быть привязаны к структурному уровню свойств элемента. Эта привязка влияет на вид формул для расчета значений параметров. Подобная привязка может быть необходима для того, чтобы в формулах не писать бесконечные child'ы и parent'ы.

Формула без привязки к структурному уровню «Параметризация», например, выглядит так:

child("Параметризация").[L2]

А с привязкой к структурному уровню «Параметризация» так:

[L2]

Хотя по факту мы ссылаемся на один и тот же параметр.

Именно для сокращения формул Мы будем использовать привязку параметрической графики к структурным уровням свойств элемента.

Для этого необходимо в редакторе параметрической графики выбрать группу (1), вызвать контекстное меню ПКМ (2), активировать команду «Выбрать» (3), выбрать уровень «Параметризация» (4) и нажать «ОК» (5). Осуществим эти действия для группы «Кран».

Привязка группы «Кран» к структурному уровню «Параметризация»
Привязка группы «Кран» к структурному уровню «Параметризация»

Аналогичные действия совершаем для группы «Ручка», только привяжем к структурному уровню «Привод». Для этого необходимо выбрать группу (1), вызвать контекстное меню ПКМ (2), активировать команду «Выбрать» (3), выбрать уровень «Привод» (4) и нажать «ОК» (5).

Привязка группы «Ручка» к структурному уровню «Привод»
Привязка группы «Ручка» к структурному уровню «Привод»

Следует отметить, что все примитивы, которые будут создаваться внутри групп будут наследовать эти привязки к структурным уровням. То есть они автоматически будут привязаны к уровням «Параметризация» и «Привод».

Создание фланцев

Теперь мы готовы создавать примитивы. И начнем мы с фланцев.

Для того чтобы создать один из фланцев выбираем группу «Кран» (1) и вызываем контекстное меню ПКМ (2). Из выпадающего списка «3D Примитив» выбираем «Цилиндр» (3). В группе «Кран» появится примитив «CYLINDER», а в модели появится цилиндр, имеющий «Высоту» = 1000 и «Радиус» = 100 по умолчанию (4).

Создание примитива «CYLINDER» для первого фланца
Создание примитива «CYLINDER» для первого фланца

Далее начинаем корректировать параметры этого цилиндра. Прежде всего давай зададим ему имя – «Фланец 1». Если что, нижнее подчеркивание появляется автоматически в местах, где пользователь ставит пробел.

Задаем имя примитиву «CYLINDER»
Задаем имя примитиву «CYLINDER»

После этого зададим радиус. Напомню, в свойства элемента был добавлен параметр «Диаметр», в который занесено значение размера «Диаметр фланцев». Именно этот параметр будет использован для расчета радиуса нашего примитива.

Нажимаем ЛКМ на параметр «Радиус» (1), а затем на кнопку «...» (2). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (3). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «Диаметр» (4) и нажимаем «ОК» (5). Т.к. нам необходимо получить радиус, добавляем деление пополам (6) и нажимаем «ОК» (7).

Задаем значение параметру «Радиус» при помощи формулы
Задаем значение параметру «Радиус» при помощи формулы

В результате параметр «Радиус» будет рассчитан по заданной нами формуле и составит значение «80». Кстати, определить, что параметр рассчитывается по формуле можно по значку «fx» рядом с ним.

Результаты расчета параметра «Радиус»
Результаты расчета параметра «Радиус»

Далее нам необходимо задать расчет параметра «Высота». Формулу для расчета этого параметра будем выдумывать, т.к. конкретный размер в чертеже не дан. В таких случаях я обычно брал какой-нибудь параметр (например, параметр «Длина 2», в который Мы зашили размер «Строительная длина») и умножал его на десятичную дробь (например, 0.1...0.9). Для нашего фланца я думаю подойдет «0.1».

Нажимаем ЛКМ на параметр «Высота» (1), а затем на кнопку «...» (2). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (3). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «Длина 2» (4) и нажимаем «ОК» (5). Умножаем на «0.1» (6) и нажимаем «ОК» (7).

Задаем значение параметру «Высота» при помощи формулы
Задаем значение параметру «Высота» при помощи формулы

В результате параметр «Высота» будет рассчитан по заданной Нами формуле и составит значение «8.6». А в модели будет отрисован фланец, геометрия которого соответствует заданным значениям.

Заданы параметры геометрии фланца
Заданы параметры геометрии фланца

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

Для этого выбираем его в редакторе параметрического оборудования (1), активируем команду «Повернуть подобъект вокруг оси Y» (2) и в пространстве модели с помощью динамического ввода или командной строки задаем угол поворота 90 градусов (3). В результате наш фланец повернется на 90 градусов вокруг оси Y (4).

Поворот фланца вокруг оси Y на 90 градусов
Поворот фланца вокруг оси Y на 90 градусов

Далее необходимо сместить фланец в крайнюю левую точку крана. Мы это сделаем при помощи параметра «L1», так как он наиболее для этого подходит.

Нажимаем ЛКМ на параметр «X координата» в группе параметров «Базовая точка» (1), а затем на кнопку «...» (2). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (3). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «L1» (4) и нажимаем «ОК» (5). Умножаем на «-1» (т.к. нам требуется смещение против оси X) (6) и нажимаем «ОК» (7).

Задаем значение параметру «X координата» при помощи формулы
Задаем значение параметру «X координата» при помощи формулы

В результате параметр «X координата» будет задан по формуле (1), а фланец сместится в крайнюю левую точку крана.

Результаты смещения фланца
Результаты смещения фланца

На этом работу над «Фланец_1» можно считать законченной. Мы можем приступить к фланцу 2. Разумеется, с нуля мы его делать не будем, а просто создадим копию первого фланца и немного её скорректируем.

Выбираем «Фланец_1» в редакторе параметрического оборудования (1), вызываем контекстное меню ПКМ (2), активируем команду «Копировать» (3). Затем выбираем группу «Кран» (4), вызываем контекстное меню ПКМ (5) и активируем команду «Вставить» (6). В результате в редакторе появится еще один примитив, имеющий имя «Фланец_1_1» (7). Скорректируем его на «Фланец_2» (8).

Создание фланца №2
Создание фланца №2

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

Выбираем параметр «X координата» в группе параметров «Базовая точка» (1), а затем нажимаем на кнопку «...» (2). Откроется мастер функций с формулой, которую мы задали ранее. Удаляем «-1*» и меняем «L1» на «L2» (3). Нажимаем «ОК» (4).

Корректировка смещения фланца 2
Корректировка смещения фланца 2

Значение параметра «X координата» будет рассчитано по новой формуле и «Фланец_2» будет размещен с другой стороны крана.

Фланец 2 размещен с другой стороны крана
Фланец 2 размещен с другой стороны крана

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

Некорректное размещение фланца 2
Некорректное размещение фланца 2

А это значит, что смещение мы задали не совсем корректно. Вообще, тут можно пойти двумя путями: скорректировать формулу смещения либо перевернуть элемент. Мы пойдем по второму пути.

Для этого выбираем наш «Фланец_2» в редакторе параметрического оборудования (1), активируем команду «Повернуть подобъект вокруг оси Z» (2) и в пространстве модели с помощью динамического ввода или командной строки задаем угол поворота 180 градусов (3). В результате наш фланец повернется на 180 градусов вокруг оси Z и будет размещен корректно (4).

Поворот фланца 2 на 180 градусов вокруг оси Z
Поворот фланца 2 на 180 градусов вокруг оси Z

На этом с фланцами мы закончили. А это значит, что можно приступить к центральной части крана.

Создание центральной части крана

Для отображения центральной части крана создаем еще один примитив типа «CYLINDER» (повторяем то, что изображено на рисунке «Создание примитива «CYLINDER» для первого фланца»). Изменим ему имя на «Центральная цилиндрическая часть» (повторяем то, что изображено на рисунке «Задаем имя примитиву «CYLINDER»»).

Скорректируем диаметр цилиндрической части. Этот размер также на чертеже я не увидел, поэтому мы его привяжем к параметру «Диаметр трубопровода», который определяет внешний диаметр трубы.

Для этого выбираем в редакторе параметрического оборудования примитив «Центральная_цилиндрическая_часть» (1), выбираем параметр «Радиус» ЛКМ (2), нажимаем на кнопку «...» (3). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (4). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «Диаметр трубопровода» (5) и нажимаем «ОК» (6). Т.к. требуется рассчитать радиус делим пополам (7) и нажимаем «ОК» (8).

Расчет радиуса для центральной цилиндрической части крана
Расчет радиуса для центральной цилиндрической части крана

Далее необходимо скорректировать параметр «Высота». Так как фланцы были завязаны на параметр «Длина 2» (напомню, формула расчета высоты каждого из фланцев: [DIM_LENGTH2]*0.1) высоту центральной цилиндрической части следует также завязывать на этот параметр. В этот раз формулу напишем вручную и выглядеть она будет так:

[DIM_LENGTH2]-[DIM_LENGTH2]*0.2 (умножение на 0.2 из-за того, что фланцев 2)

Выбираем параметр «Высота» ЛКМ (1), нажимаем на кнопку «...» (2). Откроется мастер функций. Вводим формулу, написанную выше (3) и нажимаем «ОК» (4). В результате параметры «Высота» и «Радиус» рассчитаны по формулам (5) и цилиндрическая часть в модели скорректирована под значения этих параметров (6).

Расчет высоты для центральной цилиндрической части крана
Расчет высоты для центральной цилиндрической части крана

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

Сначала повернем её, для этого необходимо повторить то, что показано на рисунке «Поворот фланца вокруг оси Y на 90 градусов». После того как действия будут выполнены, получим следующий результат:

Цилиндрическая часть повернута на 90 градусов вокруг оси Y
Цилиндрическая часть повернута на 90 градусов вокруг оси Y

Теперь корректируем смещение. Чтобы быстро это сделать нужно вспомнить, что высота цилиндрической части определена по формуле: [DIM_LENGTH2]-[DIM_LENGTH2]*0.2. А также следует понимать, что сейчас цилиндрическая часть стоит в точке вставки (смещение равно нулю).

Это означает, что по сути нам нужно совместить центральную точку примитива с точкой вставки. А центральную точку примитива можно найти по формуле:

([DIM_LENGTH2]-[DIM_LENGTH2]*0.2)/2

Нажимаем ЛКМ на параметр «X координата» в группе параметров «Базовая точка» (1), а затем на кнопку «...» (2). Откроется мастер функций. Вводим формулу, написанную выше (3) и умножаем её на «-1», т.к. нам требуется смещение против оси «X» (4). Нажимаем «ОК» (5).

Расчет параметра «X координата» для центральной цилиндрической части крана
Расчет параметра «X координата» для центральной цилиндрической части крана

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

Завершено создание основной геометрии крана
Завершено создание основной геометрии крана

Создание ручки

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

Кроме этого, саму ручку мы все-таки упростим. Вместо трех боксов, составляющих геометрию, мы оставим только один.

Начинаем со штока, который обозначим при помощи примитива «CYLINDER».

Создаем еще один примитив типа «CYLINDER» (повторяем то, что изображено на рисунке «Создание примитива «CYLINDER» для первого фланца»). Изменим ему имя на «Шток» (повторяем то, что изображено на рисунке «Задаем имя примитиву «CYLINDER»»).

Начинаем выдумывать геометрические размеры штока. Высоту зададим таким образом, чтобы она доходила до габаритного размера «Высота» на чертеже.

Для этого выбираем в редакторе параметрического оборудования примитив «Шток» (1), выбираем параметр «Высота» ЛКМ (2), нажимаем на кнопку «...» (3). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (4). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «Высота» (5) и нажимаем «ОК» (6). Так как высота на чертеже откладывается от нижней точки крана, нужно также вычесть из неё радиус фланца (7) и затем нажать «ОК» (8).

Расчет высоты штока
Расчет высоты штока

Радиус штока рассчитаем по формуле: parent.[DIM_LENGTH2]*0.1. В результате корректировок геометрии штока получим следующие результаты:

Результаты корректировки геометрии штока
Результаты корректировки геометрии штока

Теперь создадим бокс, который отображает непосредственно ручку. Для этого встаем на группу «Ручка», вызываем контекстное меню ПКМ (1) и в выпадающем списке «3D Примитив» выбираем «Параллелепипед» (2).

Создание примитива типа «BOX»
Создание примитива типа «BOX»

Не забудем задать новому примитиву имя - «П_Ручка». Почему именно такое имя? Буква П означает «Примитив» и я добавил её из-за того, что у нас уже есть подобъект «Группа», который имеет имя «Ручка».

Важно! Редактор параметрического оборудования не позволяет создать два подобъекта с одинаковым именем.

Высоту бокса (толщину ручки) мы сделаем фиксированной. Поэтому сразу вводим значение «5» в параметр высота.

Ввод значения для параметра «Высота» бокса
Ввод значения для параметра «Высота» бокса

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

Продолжим и зададим длину ручки. Длину ручки мы определим на основе габаритного размера L с чертежа. В свойствах элемента это параметр «Длина». Формула будет выглядеть так: parent.[DIM_LENGTH]-parent.[DIM_LENGTH2]/2.

Расчет значения для параметра «Длина» бокса
Расчет значения для параметра «Длина» бокса

И последний параметр, определяющий геометрию, который следует задать – это «Ширина». Мы её рассчитаем также, как рассчитывали радиус штока, но увеличим вдвое. Таким образом формула будет выглядеть так: parent.[DIM_LENGTH2]*0.2.

Расчет значения для параметра «Ширина» бокса.jpg
Расчет значения для параметра «Ширина» бокса.jpg

Вообще, это тоже не совсем корректно и может привести к проблемам в том случае, если параметр «Длина 2» будет иметь большие значения. Но в общем и целом, в рамках материала может быть применено.

Осталось корректно позиционировать нашу ручку. Для этого в параметр «Y координата» задаем следующую формулу: -1*parent.[DIM_LENGTH2]*0.1.

Результаты смещения ручки против оси Y
Результаты смещения ручки против оси Y

Как была определена эта формула? Нам известна формула для задания ширины. Для корректного позиционирования нам нужно сместить ручку на половину этой ширины (0.2/2 = 0.1) против оси Y (-1*).

Для позиционирования по оси Z воспользуемся формулой определения высоты штока и вычтем толщину ручки, которую мы задали. Получится следующая формула: parent.[DIM_HEIGHT]-parent.[DIM_DIAMETER]/2-5.

В результате получим следующий вид модели крана:

Вид модели крана
Вид модели крана

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

Первый штрих – это объединение геометрии ручки. Сейчас в графике ручки видно, что шток – это один примитив, а сама ручка – другой (1). Чтобы это исправить встаем на группу «Ручка» (2) и в параметр «Объединять тела» задаем значение 1 (3). В результаты эти примитивы будут объединены (4).

Объединение тел для группы «Ручка»
Объединение тел для группы «Ручка»

Штрих номер два – это покраска примитивов внутри арматуры. Мы сделаем наши фланцы красными.

Для этого встаем на фланец (1), выбираем параметр «Цвет» ЛКМ (2), а затем нажимаем на кнопку «...» (3). Откроется мастер функций, в котором активируем команду «Добавить индекс цвета» (4). В диалоговом окне «Выбор цвета» выбираем цвет 12 (5). Ну и везде где нужно нажимаем «ОК». Повторяем эти операции для обоих фланцев.

Покраска примитива в нужный цвет
Покраска примитива в нужный цвет

В результате всех наших издевательств над графикой элемента был получен такой элемент:

Итоговый вид шарового крана
Итоговый вид шарового крана

Сохранение элемента в БДСК

Далее нам необходимо сохранить элемент в базу данных стандартных компонентов. Для этого необходимо выделить элемент в пространстве модели (1), а затем активировать команду «Поместить объект в библиотеку» (2). В результате в выборке «Мои объекты» отразится сохраненный элемент (3).

Шаровый кран в библиотеке стандартных компонентов
Шаровый кран в библиотеке стандартных компонентов

Завершение материала

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

Если материал был полезен или интересен, то поставь лайк и подписывайся на Telegram, группу ВКонтакте и Яндекс. Дзен. Это поможет в продвижении канала и ускорит выход других интересных и полезных материалов.

Кран шаровый. Ч.2. Графика
Кран шаровый. Ч.2. Графика