Моделируем витрину

Данное задание предполагает моделирование прозрачной витрины, построенной из стекла и конструкционного алюминиевого профиля.

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


Рис. 1. Стеклянная витрина, созданная из алюминиевого конструкционного профиля. Взято с сайта fsmart.ru
Рис. 2. Пример конструкционного алюминиевого профиля. Взято с сайта elec.ru

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

Рис. 3. Примеры креплений профиля. Взято с сайта docplayer.ru

Моделируем каркас

Рис. 4. 2D-профиль. Создан в программе CorelDraw.

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

Для начала потребуется двухмерный профиль, из которого мы будем выдавливать объёмный (рис.4). Смоделировать 2D-профиль в OpenSCAD конечно можно, но быстрее это сделать в другой программе - векторном редакторе (например CorelDraw, Inkscape). Мы же воспользуемся уже готовым 2D-профилем с размерами 20мм х 20мм.

Для того чтобы добавить этот профиль в свой проект нужно сохранить проект в своей папке, а затем положить профиль в ту же самую папку где сохранён проект. Теперь можно выполнить команду import("Profile.svg"); Это добавит профиль в проект.

Рис. 5. Импортированный в проект профиль
Рис. 6. Выдавленный объёмный профиль цвета "Azure"

Следующая задача - превратить плоский профиль в объёмную фигуру. Эту задачу выполняет команда линейного выдавливания. Она содержит много полезных параметров. Применим её на плоском профиле:

linear_extrude(height=50,     //Длина вытягивания
               center=true,   //Опция центровки вкл/откл
               scale=[1,1],   //Масштабирование при вытягивании
               slices=100,    //Качество вытягивания (больше - лучше)
               twist=0)       //закручивание при вытягивании
import(file = "Profile.svg"); //Импорт профиля в формате SVG

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

модуль Брусок(длина, ширина_бруска) {   //модуль Брусок с двумя параметрами
   цвет("Azure",1.0)
   линейное_вытягивание(высота = длина, центр = ложь, convexity = 10)
   масштаб([ширина_бруска/20, ширина_бруска/20]) 
   импорт(файл= "Profile.svg");
//весь код выше написан на Русском языке, но для работы его надо переписать на английский язык команд OpenSCAD.

Теперь если ниже написать название модуля и указать его параметры, то будет произведён вызов модуля и на экране появится наш брусок (рис.6).

Рис. 7. Передняя рамка из профиля

На следующем шаге, из модуля Брусок (по английски Bar) создаём модуль передней рамки витрины (с именем Frame1, например). Его входными параметрами будут: ширина и высота витрины, ширина бруска профиля.


Рис. 8. Детали стыковки профилей в рамке

Помним что мы выполняем именно ПАРАМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ!

Затем дублируем и переносим (транслейтим) этот модуль чтобы создать вторую рамку как на рисунке

Рис. 9. Передняя и задняя рамки из профиля.

Добавляем 4 горизонтальных профиля. Удобно будет организовать под них отдельный модуль (например с именем Frame2). Удобство заключается в возможности легко включить или выключить этот модуль целиком когда это потребуется.

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

моделируем стекло

Для создания стёкол берём обыкновенный параллелепипед, задаём ему синий или зелёный цвет и делаем его полупрозрачным. Но самое интересное это задать верные размеры и положение стекла (чтобы оно не касалось рамы витрины). Единственный параметр который мы задаём специально для стекла - это его толщина. Остальные размеры и положение задаются через другие (уже имеющиеся параметры).