Добро пожаловать во вторую часть материала по созданию шарового крана. Напомню, кран шаровый Мы создаем в три этапа:
- Формирование параметрического состава элемента.
- Формирование параметрической графики. На этом этапе мы создадим геометрию шарового крана.
- Создание типоразмеров в базе данных стандартных компонентов.
Первая часть вышла 2 мая, вторая часть (та, которую Ты читаешь) 7 мая, третья часть 15 мая. В указанные даты гиперссылки станут активными.
После всех шагов, которые описаны выше у нас должны получится три вот таких элемента:
Собственно, в рамках этой части будут реализованы следующие шаги по созданию элемента:
- Изучение чертежа и создание логического разделения на группы.
- Создание фланцев
- Создание центральной части крана
- Создание ручки
- Сохранение элемента в БДСК
Прежде чем мы перейдем к созданию параметрической графики, напомню, что после первой части Наш объект выглядит так:
На кран не сильно похоже, верно? Давай это исправим и начнем превращать пустое место в кран.
Изучение чертежа и логическое разделение на группы
Прежде чем рисовать параметрическую графику следует изучить чертеж. Если к нему присмотреться, то можно увидеть, что кран может быть отрисован при помощи примитивов: 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).
Далее начинаем корректировать параметры этого цилиндра. Прежде всего давай зададим ему имя – «Фланец 1». Если что, нижнее подчеркивание появляется автоматически в местах, где пользователь ставит пробел.
После этого зададим радиус. Напомню, в свойства элемента был добавлен параметр «Диаметр», в который занесено значение размера «Диаметр фланцев». Именно этот параметр будет использован для расчета радиуса нашего примитива.
Нажимаем ЛКМ на параметр «Радиус» (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).
Далее необходимо сместить фланец в крайнюю левую точку крана. Мы это сделаем при помощи параметра «L1», так как он наиболее для этого подходит.
Нажимаем ЛКМ на параметр «X координата» в группе параметров «Базовая точка» (1), а затем на кнопку «...» (2). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (3). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «L1» (4) и нажимаем «ОК» (5). Умножаем на «-1» (т.к. нам требуется смещение против оси X) (6) и нажимаем «ОК» (7).
В результате параметр «X координата» будет задан по формуле (1), а фланец сместится в крайнюю левую точку крана.
На этом работу над «Фланец_1» можно считать законченной. Мы можем приступить к фланцу 2. Разумеется, с нуля мы его делать не будем, а просто создадим копию первого фланца и немного её скорректируем.
Выбираем «Фланец_1» в редакторе параметрического оборудования (1), вызываем контекстное меню ПКМ (2), активируем команду «Копировать» (3). Затем выбираем группу «Кран» (4), вызываем контекстное меню ПКМ (5) и активируем команду «Вставить» (6). В результате в редакторе появится еще один примитив, имеющий имя «Фланец_1_1» (7). Скорректируем его на «Фланец_2» (8).
Теперь внесем корректировки в эту копию. Для начала нам необходимо изменить смещение, т.к. фланец должен находиться с другой стороны крана.
Выбираем параметр «X координата» в группе параметров «Базовая точка» (1), а затем нажимаем на кнопку «...» (2). Откроется мастер функций с формулой, которую мы задали ранее. Удаляем «-1*» и меняем «L1» на «L2» (3). Нажимаем «ОК» (4).
Значение параметра «X координата» будет рассчитано по новой формуле и «Фланец_2» будет размещен с другой стороны крана.
На самом деле, если присмотреться к фланцу 2, то можно увидеть, что соседний сегмент трубы сейчас заходит внутрь этого фланца.
А это значит, что смещение мы задали не совсем корректно. Вообще, тут можно пойти двумя путями: скорректировать формулу смещения либо перевернуть элемент. Мы пойдем по второму пути.
Для этого выбираем наш «Фланец_2» в редакторе параметрического оборудования (1), активируем команду «Повернуть подобъект вокруг оси Z» (2) и в пространстве модели с помощью динамического ввода или командной строки задаем угол поворота 180 градусов (3). В результате наш фланец повернется на 180 градусов вокруг оси Z и будет размещен корректно (4).
На этом с фланцами мы закончили. А это значит, что можно приступить к центральной части крана.
Создание центральной части крана
Для отображения центральной части крана создаем еще один примитив типа «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 градусов». После того как действия будут выполнены, получим следующий результат:
Теперь корректируем смещение. Чтобы быстро это сделать нужно вспомнить, что высота цилиндрической части определена по формуле: [DIM_LENGTH2]-[DIM_LENGTH2]*0.2. А также следует понимать, что сейчас цилиндрическая часть стоит в точке вставки (смещение равно нулю).
Это означает, что по сути нам нужно совместить центральную точку примитива с точкой вставки. А центральную точку примитива можно найти по формуле:
([DIM_LENGTH2]-[DIM_LENGTH2]*0.2)/2
Нажимаем ЛКМ на параметр «X координата» в группе параметров «Базовая точка» (1), а затем на кнопку «...» (2). Откроется мастер функций. Вводим формулу, написанную выше (3) и умножаем её на «-1», т.к. нам требуется смещение против оси «X» (4). Нажимаем «ОК» (5).
В результате всех наших манипуляций мы создали основную геометрию крана. При этом все необходимые параметры, определяющие геометрию, завязаны на свойства элемента.
Создание ручки
Теперь мы можем приступить к созданию геометрии ручки. Следует сказать, что часть размеров, составляющих геометрию ручки нам неизвестна. Поэтому мы будем их выдумывать.
Кроме этого, саму ручку мы все-таки упростим. Вместо трех боксов, составляющих геометрию, мы оставим только один.
Начинаем со штока, который обозначим при помощи примитива «CYLINDER».
Создаем еще один примитив типа «CYLINDER» (повторяем то, что изображено на рисунке «Создание примитива «CYLINDER» для первого фланца»). Изменим ему имя на «Шток» (повторяем то, что изображено на рисунке «Задаем имя примитиву «CYLINDER»»).
Начинаем выдумывать геометрические размеры штока. Высоту зададим таким образом, чтобы она доходила до габаритного размера «Высота» на чертеже.
Для этого выбираем в редакторе параметрического оборудования примитив «Шток» (1), выбираем параметр «Высота» ЛКМ (2), нажимаем на кнопку «...» (3). Откроется мастер функций, в котором нажимаем на кнопку «Добавить запрос к текущему элементу» (4). В диалоговом окне «Запрос к структуре элемента» выбираем параметр «Высота» (5) и нажимаем «ОК» (6). Так как высота на чертеже откладывается от нижней точки крана, нужно также вычесть из неё радиус фланца (7) и затем нажать «ОК» (8).
Радиус штока рассчитаем по формуле: parent.[DIM_LENGTH2]*0.1. В результате корректировок геометрии штока получим следующие результаты:
Теперь создадим бокс, который отображает непосредственно ручку. Для этого встаем на группу «Ручка», вызываем контекстное меню ПКМ (1) и в выпадающем списке «3D Примитив» выбираем «Параллелепипед» (2).
Не забудем задать новому примитиву имя - «П_Ручка». Почему именно такое имя? Буква П означает «Примитив» и я добавил её из-за того, что у нас уже есть подобъект «Группа», который имеет имя «Ручка».
Важно! Редактор параметрического оборудования не позволяет создать два подобъекта с одинаковым именем.
Высоту бокса (толщину ручки) мы сделаем фиксированной. Поэтому сразу вводим значение «5» в параметр высота.
Честно сказать, задавать фиксированные значения в параметрах графики – это не очень хорошая практика. В рамках материала это сделано исключительно для того, чтобы продемонстрировать, что такая возможность присутствует. На практике лучше все параметры выводить в свойства элемента.
Продолжим и зададим длину ручки. Длину ручки мы определим на основе габаритного размера L с чертежа. В свойствах элемента это параметр «Длина». Формула будет выглядеть так: parent.[DIM_LENGTH]-parent.[DIM_LENGTH2]/2.
И последний параметр, определяющий геометрию, который следует задать – это «Ширина». Мы её рассчитаем также, как рассчитывали радиус штока, но увеличим вдвое. Таким образом формула будет выглядеть так: parent.[DIM_LENGTH2]*0.2.
Вообще, это тоже не совсем корректно и может привести к проблемам в том случае, если параметр «Длина 2» будет иметь большие значения. Но в общем и целом, в рамках материала может быть применено.
Осталось корректно позиционировать нашу ручку. Для этого в параметр «Y координата» задаем следующую формулу: -1*parent.[DIM_LENGTH2]*0.1.
Как была определена эта формула? Нам известна формула для задания ширины. Для корректного позиционирования нам нужно сместить ручку на половину этой ширины (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, группу ВКонтакте и Яндекс. Дзен. Это поможет в продвижении канала и ускорит выход других интересных и полезных материалов.