Автор: Иван Черанёв, ведущий инженер-конструктор Отдела технологической подготовки производства ВСЗ
Готовая модель доступна для скачивания в разделе "Примеры"
В первой части методического материала был рассмотрен процесс создания параметрической модели бруса/доски, из которой и будет выполняться построение душевой кабины.
Построение каркаса душевой кабины
Пора переходить к созданию самой сборки. Её можно построить многими способами. Если необходимо обеспечение определённых габаритов конструкции, а также лёгкое управление ими с перестроением модели с изменениями, начинать следует с создания определённых баз, которые обеспечат нужную геометрию и станут привязками для вставки фрагментов. Один из способов создания таких баз — разметка пространства (или плоскости) 3D-узлами. В нашем случае они будут соответствовать углам основания кабинки.
Итак, создаём новый файл – модель сборки, рисуем на плоскости «Вид сверху», начиная с перекрестья в центре. От перекрестья строим вертикальные и горизонтальные линии по габариту кабинки. При этом аналогично построению профиля доски создаём переменные «длина» (для вертикальных линий) и «ширина» (для горизонтальных линий) (см. рис. 13). При этом помним:
— для получения симметрии выражение пишем так: «длина/2», «ширина/2», т. е. переменная будет задавать целый размер, а построение будет идти на половину этого размера;
— при построении влево/вверх — со знаком «+», вправо/вниз — со знаком «-» («-ширина/2»).
Так же от правого края влево строим вертикальную линию для задания ширины дверного проёма с созданием переменной «проём».
Затем по пересечениям необходимо расставить 3D узлы, в данном случае хватит всего трёх — по верхней (габаритной) линии на углах и в точке окончания дверного проёма (см. рис.14). Это один из способов, 3D узлы можно строить по пересечениям плоскостей, по координатам и т. д. После создания узлов выходим из плоскости, сами узлы останутся видимыми в 3D окне, к ним в дальнейшем и будем привязывать фрагменты сборки.
Кроме разметки для наиболее удобной работы нужна ещё дополнительная подготовка модели. Дело в том, что в конструкции душевой можно выделить отдельные группы деталей — верхняя и нижняя обвязки, обшивка, стойки и т. д. Для всех деталей каждой группы логично назначать одинаковый профиль материала, и для удобства редактирования фрагментов в этих группах мы создадим переменные, которые будут определять сечение пиломатериала. Для этого в файле сборки создаём такую же базу данных, как и в модели доски (см. рис. 7...9). Затем создаём набор текстовых переменных, которые будут брать значение из столбца «сечение», для каждой конструктивной группы должна соответствовать своя переменная (либо переменная может быть одна на несколько групп, если для них сечение пиломатериала планируется одинаковое) (см. рис. 15, 16).
Вот теперь можно начинать строить саму сборку душевой кабины. Начнём с одной стены, с нижней обвязки. Вставляем фрагмент доски с привязкой к 3D-узлу 1, любым удобным способом ориентируем её вдоль, оставляя ряд 3D по наружной кромке (см. рис. 17). Например, используя кнопки поворота системы координат и указание исходной системы координат (если надо сменить вершину доски). Переменные модели доски назначаем следующим образом:
— переменной L (длина доски) прописываем значение «длина» (т. е. имя переменной «длина», которая уже создана в сборке). Таким образом, длина этой доски всегда будет равна заданной длине душевой кабины;
— переменной «$сечение» присваиваем значение «$нижняя обвязка», точно так же связывая переменную фрагмента с переменной сборки.
После задания переменных размеры фрагмента настроятся в соответствии со значениями указанных переменных сборки.
После нижней обвязки начинаем вставку фрагментов-стоек. Их ставим снаружи относительно обвязки с привязкой к разметочным 3D-узлам. Для задания длины стойки используем переменную сборки «высота» (её создаём заранее), чтобы высота кабинки всегда соответствовала нужному значению (см. рис. 18). Тут ещё надо учесть один момент — при вставке стойки лучше сначала применить сечение не бруска, а доски, и ориентировать её по плоскости стенки, а потом уже заменять доску на брусок. Это необходимо на тот случай, если позднее по какой-либо причине придётся бруски заменять на доски, чтобы они не встали «на ребро», и не пришлось перестраивать модель.
После стоек ставим верхнюю обвязку по внутренней стороне стоек, назначение переменных - по тем же соображениям (см. рис. 19).
Для размещения фрагментов-раскосов нужно будет построение дополнительных 3D-узлов. Это связано с тем, что при изменении размеров кабинки будет меняться угол наклона раскосов, и нам необходимо привязать эти фрагменты к уже имеющимся по определённым правилам. Сделать это можно разными способами. Воспользуемся тем же способом разметки 3D-узлами. Для этого начинаем рисовать на наружной грани нижней обвязки, проецируем на неё все стойки и верхнюю обвязку, линиями построения вычерчиваем нужное нам положение раскосов, в данном случае это сделано по заданной величине отступа раскосов от стоек. В завершение в нужных пересечениях создаём 3D-узлы (см. рис. 20).
С наклоном раскосов определились, осталось рассчитать их длину. Для этого делаем замер между двумя 3D-узлами (см. рис. 21). Среди рассчитанных параметров выделяем «расстояние» и создаём для него переменную «раскос1» (кнопка ниже, на закладке переменных). При этом проверяем единицы измерения и, если необходимо, исправляем на миллиметры.
Вот теперь вставляем фрагменты раскосов, для привязки используем два 3D-узла (задаём направление) и грань обвязки (эта привязка не обязательна, она фиксирует угловое положение относительно оси, заданной двумя узлами). Длину L связываем с вновь созданной переменной «раскос1» для обеспечения правильной длины раскоса (см. рис. 22). Ещё одно замечание — при выборе привязок (особенно второго узла) надо внимательно следить, какую именно привязку предлагает система — это должен быть именно узел, а не нормали в точке и т. д. Привязки можно выбирать из списка (см. рис. 23).
При таком положении раскоса его верхний конец будет выступать над верхней гранью верхней обвязки, его можно (но не обязательно) отсечь заподлицо с обвязкой. Для этого по верхней грани обвязки строим рабочую плоскость и командой «Отсечение» отсекаем верхний край раскоса (см. рис. 24). Нижний конец раскоса за обвязку не выступает, его отсекать не надо.
Затем аналогично поступаем со вторым раскосом: выполняем замер расстояния по двум 3D-узлам с созданием переменной «раскос2», вставляем фрагмент, подрезаем его.
После размещение раскосов мы имеем готовый каркас одной стены, каркас второй стены проще всего получить симметричным («зеркальным») отображением относительно продольной вертикальной плоскости (см. рис. 25). «Зеркалить» каркас можно целиком либо частями — если есть сомнения в конструкции некоторых элементов (особенно — сомнения в их необходимости), и они могут быть подвергнуты редактированию в ходе корректировки проекта, их симметричные копии лучше строить отдельно.
Для завершения построения каркаса остаётся добавить поперечные нижнюю и верхнюю обвязки. Для нижней обвязки нужна будет переменная длины (она не равна ширине кабинки), для её создания делаем замер между внутренними гранями нижних обвязок (см. рис. 26).
При вставке фрагмента поперечной обвязки указываем соответствующие ему переменные длины и сечения (см. рис. 27). Так же, из конструктивных соображений, сдвигаем обвязку немного внутрь, за стойку, для удобства её крепления (сквозь продольную обвязку).
Для того чтобы избежать врезок в деталях, верхнюю поперечную обвязку будем ставить немного ниже продольных, при этом её длине будет соответствовать переменная «ширина», т. к. её торцы лежат на наружных гранях продольных обвязок (см. рис. 28).
Строим симметричное отображение поперечных обвязок относительно поперечной плоскости, и каркас душевой кабины готов. Можно приступать к зашивке пола и стен.
Построение зашивки пола и обшивки стен
Вставляем первую доску зашивки пола с привязкой к краю обвязки, задав фрагменту соответствующие значения переменных (см. рис. 29).
Зашивку пола будем строить линейным массивом, но так как длина кабины переменная, то и параметры массива (шаг и количество элементов) должны автоматически изменяться. Для этого необходимо создать несколько переменных.
Первая из них — это переменная, соответствующая ширине доски зашивки пола. Это в нашем случае можно сделать двумя способами:
— замерить длину поперечного ребра доски пола с созданием переменной «ШДП» (см. рис. 30 – переменная в редакторе переменных);
— брать нужное значение из базы данных («доска») в модели сборки душевой кабины, исходя из значения переменной «$пол» (она определяет сечение материала для досок пола, см. рис. 15):
ШДП= find (доска.б, доска.сечение==$пол).
Вторая переменная — количество досок (элементов массива), рассчитывается делением длины кабины на ширину доски пола с округлением до ближайшего меньшего целого:
КДП= floor (длина/ШДП) (нужные функции можно найти через помощника в редакторе переменных, см. рис. 30).
Третья переменная будет выполнять расчёт шага массива, исходя из рассчитанного количества элементов и ширины доски:
пол_шаг= (длина-ШДП)/(КДП-1).
Массив досок зашивки пола можно строить, используя переменные «КДП» и «пол_шаг» для задания его параметров. При этом наружные грани первой и последней досок всегда будут лежать на наружных торцах продольных обвязок. Но можно пойти немного дальше и добавить переменные, контролирующие зазор между досками. Это будут:
— переменная, рассчитывающая зазор по рассчитанному шагу:
пол_зазор= пол_шаг-ШДП;
— переменная, задающая шаг элементов по условию: если зазор получается менее заданной величины (например, 10 мм), то шаг принимается по ранее рассчитанной величине (переменная «пол_шаг»); если зазор превышает данную величину, то шаг рассчитывается как сумма ширины доски и заданной максимальной величины зазора:
шаг_пол2= пол_зазор<=10 ? (пол_шаг):(ШДП+10).
Построение массива показано на рисунке 31. При этом направление задано поперечной рабочей плоскостью (массив строится по направлению её нормали).
При этом при практической сборке душевой кабины такая точность шага конечно не реализуема из-за погрешностей размеров досок и погрешности сборки.
Следующим этапом будет создание в модели обшивки стен. В соответствии с эскизным проектом обшивка будет начинаться на некоторой высоте над полом, и для привязки первой доски необходимо создать 3D-узел на заданной высоте. Одним из способов построения этого узла будет пересечение ребра стойки с плоскостью, имеющей необходимое смещение от поверхности пола. При создании плоскости также можно создать переменную для управления этим зазором (см. рис. 32). После построения плоскости строим 3D-узел на её пересечении с ребром стойки (см. рис. 33).
Для моделирования обшивки стен будем использовать ту же модель доски (в учебных целях), что и на настил пола, при желании можно сделать более подробную модель фасонной доски, если таковая используется. Фрагмент доски вставляется с привязкой к созданному узлу, ориентируется нужным образом; переменные задаются точно так же, как и для других фрагментов (см. рис. 34).
После первой доски последовательно добавляем фрагменты для обшивки других стен, привязываясь при этом к вершинам уже имеющихся в модели досок. Для доски со стороны дверного проёма необходимо предварительно создать переменную для задания длины — с помощью замера расстояния (см. рис. 35).
Аналогичным образом «зашиваем» фрагментами досок нижнюю обвязку (см. рис. 36).
Далее для создания массива досок обшивки нам снова потребуются дополнительный параметр — количество элементов (рядов досок). Для этого мы сначала создаём переменную высоты зашивки — замером между плоскостью нижнего края обшивки и верхней гранью верхней обвязки (см. рис. 37). Ещё с помощью замера (или через базу данных) создаём переменную «ШДО» для ширины доски обшивки (см. выше на примере зашивки пола).
Массив досок обшивки стен будем делать немного иначе, чем массив досок настила пола. Так как элементы массива (доски) должны располагаться без зазора, это упрощает задачу — шаг массива можно задать непосредственно по модели доски, задав две вершины. При этом шаг массива автоматически будет всегда равен ширине доски. Также не будем создавать переменную — количество элементов массива, а пропишем выражение для этого расчёта прямо в строке параметра «floor (высота_обшивки/ШДО)» (так тоже можно делать, особенно, если эта переменная больше нигде использоваться не будет) (см. рис. 38).
Закончив с обшивкой, можно переходить к моделированию двери. Её будем строить в закрытом положении без таких подробностей, как петли, ручки и прочая фурнитура. Конструктивно это будет обшитая доской рамка из бруска, по высоте равная обшивке стен. Построение каркаса двери начинаем со вставки вертикального бруска с привязкой к вершине стойки, но при этом задаём некоторое смещение бруска от стойки. В этом зазоре должны будут располагаться дверные петли (можно сделать и без зазора, если задуманная конструкция навешивания двери зазора не предполагает). Длину бруска задаём по переменной высоте обшивки (см. рис. 39).
Бруски каркаса двери будут соединяться врезкой вполовину (могут быть и другие способы врезки, способ моделирования будет в целом такой же). Для создания врезки начинаем чертить на передней грани бруска, и, используя ось симметрии, строим профиль в виде двух квадратов на обоих концах бруска (см. рис. 40).
Для построения врезки точно на половину толщины бруска выталкивать необходимо до середины ребра, при этом сразу включаем булево вычитание, не забыв указать тело бруска (для выполнения вырезания) (см. рис. 41).
Для построения второго вертикального бруска можно использовать операцию симметричного отображения. Для этого предварительно придётся создать плоскость, проходящую через середину дверного проёма (см. рис. 42).
Далее, для построения горизонтальных брусков каркаса двери и её обшивки, нам необходима переменная, задающая ширину двери. Создаём её через замер расстояния между наружными рёбрами вертикальных брусков каркаса двери (см. рис. 43).
Горизонтальный брусок вставляем с привязкой к «задней» вершине вертикального уголка, длину задаём только что созданной переменной (см. рис. 44).
Чтобы сделать врезки в горизонтальном бруске используем булеву операцию вычитания, используя опцию «оставить в сцене» для вторых операндов (вертикальных брусков) (см. рис. 45).
Верхний горизонтальный брусок готов, нижний брусок будем создавать копированием с привязкой по исходной и целевой системам координат (СК). СК могут создаваться автоматически в выбранных точках. Привязками в данном случае должны быть одинаково расположенные вершины в узлах верхней и нижней врезки — например, это будет верхняя вершина на наружном ребре с левой стороны горизонтального бруска. Копия тела будет занимать точно такое же положение, как и оригинал (см. рис. 46).
Далее на двери остаётся создать обшивку, точно так же, как создавалась обшивка стен. И в завершение построения модели остаётся добавить фрагменты поперечных опорных досок под водяной бак. Первую доску вставляем с привязкой к наружной вершине верхней обвязки; вторую доску привязываем к вершине первой доски и задаём необходимое смещение. Сечение пиломатериала в данном случае можно задать напрямую, не создавая специальной переменной для данной конструктивной группы, длина доски — по переменные ширины (см. рис. 47).
На этом модель основной части конструкции, без крепежа, фурнитуры и прочих мелочей готова. Созданные нами в модели взаимосвязи и набор переменных позволяют быстро перестроить всю конструкцию при изменении задаваемых пользователем размерами с сохранением конструкции (см. рис. 48). Для этого в редакторе переменных сборки изменяются нужные переменные и выполняется полный пересчёт модели. Если при перестроении не возникло сбоев, и конструкция не нарушилась, значит в процессе моделирования всё было сделано правильно.
В завершение стоит отметить пару моментов (советов) для начинающих:
- здесь был описан лишь один вариант построения модели такой конструкции, а их всегда много. Чем лучше пользователь знает возможности системы, тем больший выбор способов построения он имеет и тем проще найдёт самый оптимальный из них. Вывод – изучайте систему, её инструменты и опции, не ограничивайтесь узким набором команд;
- в моделировании как простых, так и крупных сборок действуют одинаковые правила, применяются одинаковые инструменты, просто больше количество раз. Вывод – не бойтесь построения крупных сборок (хотя бы и домов), их построение будет мало чем отличаться от моделирования такой душевой кабинки.
И если у читателя получилось на практике повторить описанную модель (или аналогичную), значит ему под силу и более амбициозные проекты, надо лишь поставить задачу (не забываем, что модель начинается с карандаша)...