![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная / Каталог блогов / Cтраница блогера 3D Печать, 3D Принтеры и другие приключения в стране RepRap план / Запись в блоге
![]()
OpenSCAD - Введение2013-11-19 02:00:00 (читать в оригинале)OpenSCAD - это программа твердотельного 3D моделирования, которая очень популярна среди RepRap сообщества. Принцип ее работы основан на написании алгоритма отрисовки 3D объекта. ![]() Для начала нужно настроить наше рабочее пространство, как это сделать и облегчить себе работу в OpenSCAD читайте здесь. Теперь удобно расположите ваши руки на клавиатуре и мы начнем. Весь код мы будем вводить в окне Sublime Text и по нажатию Ctrl+S он будет отображаться в окне OpenSCAD. Но вы также можете обойтись и одним OpenSCAD, в этом случае вводите код в окно редактора OpenSCAD. ![]() Куб и ПеремещениеКуб в OpenSCAD относится к прямоугольной призме. Чтобы создать куб введите: cube(5); ![]() Мы также можем отобразить куб в центре координат: cube(5, center=true); ![]() Куб с разными сторонами отображается следующей командой, где размер указывается в формате [x,y,z]: cube([2,2,5], center=true); ![]() Чтобы переместить объект используется команда translate([x,y,z]), например переместим предыдущий куб на 2 по Х, на 2 по У и на 10 по Z: translate([2,2,10]) cube([2,2,5], center=true); ![]() Если нужно переместить группу объектов то эта группа заключается в фигурные скобки, например так: translate([2,2,10]) { }В OpenSCAD все что идет после символов // является комментарием и не учитывается интерпретатором OpenSCAD при генерации 3D модели, в них можно писать пометки в вашем коде чтобы потом легче было разобраться в нем, особенно когда код будет очень большим и сложным. Перемещать естественно можно и в отрицательные полуоси, например: translate([2,-2,-10]) { ![]() А теперь сделаем модель буквы "П"
![]() Каждая строка кода завершается точкой с запятой, после фигурных скобок точку с запятой ставить не обязательно. ПеременныеВы можете использовать цифры при задании команд и создании объектов, но если вы хотите чтобы от изменения одного значения пересчитались и все остальные и когда ваша 3D модель будет очень сложной с большим числом строк кода, вам не обойтись без переменных. Переменная определяется следующим образом: parameter = 10;В OpenSCAD нельзя переопределять переменные, т.е. переменная должна быть задана только один раз, и она будет равна последнему присвоенному значению по всему тексту скрипта, например: a = 10;Даст следующий результат: ECHO: 15А теперь давайте сделаем ту же модель буквы "П" с применением переменных: depth = 2; //глубина модели по оси Y ![]() Попробуйте поэкспериментировать с различными значениями параметров. Как видите теперь намного проще изменять модель. Теперь давайте взглянем на другие формы которые вы можете использовать в OpenSCAD. СфераПростая сфера (шар) может быть определена командой: sphere(r=5); ![]() Вы можете управлять разрешением сферы и других форм при помощи параметра $fn. Разрешение можно задать как для всего скрипта: $fn = 50;Так и для конкретной формы которая позволяет использовать этот параметр: sphere(r=5, $fn = 50); ![]() На время проектирования рекомендуется использовать разрешение 20-40, а при компиляции и прорисовке готовой модели 100-150, потому что чем выше разрешение тем дольше будет проходить компиляция и тем больше понадобится памяти OpenSCAD. Цилиндр и ВращениеДля цилиндра нужно указать два параметра, радиус и высоту, а также можно указать разрешение как для сферы и положение относительно центра как для куба: cylinder(r=5, h=5, center=true, $fn = 50); ![]() Цилиндр создается в вертикальном положении, а если нам он нужен в горизонтальном положении то мы воспользуемся функцией вращения rotate([x,y,z]), где x,y,z - это угол на который нужно повернуть относительно соответствующей оси. Например повернем цилиндр на 90° относительно оси Y: rotate([0,90,0]) cylinder(r=5, h=5, center=true, $fn = 50); ![]() А теперь повернем и переместим цилиндр одновременно: translate([0,0,5]) rotate([0,90,0]) cylinder(r=5, h=5, center=true, $fn = 50);Этот код можно написать и подругому: translate([0,0,5]) { ![]() Из цилиндра можно получить конус задав разные диаметры сверху и снизу: cylinder(r1=20, r2=3, h=40, center=true, $fn=50); ![]() Где r1 - диаметр основания, а r2 - диаметр вершины. Вы также можете получить идеальный конус задав диаметр r2 равным нулю. Объединение и ВырезаниеОбъединение неявно когда не используется. Но оно необходимо, например когда необходимо вырезать один объект из группы объектов. Пример объединения:union() { ![]() Все что мы рассмотрели ранее позволяет создавать объекты сложной формы посредством добавления небольших частей друг к другу. Но очень часто нам нужно вырезать какую-то часть. И рассмотрим мы это на примере создания кольца. В функции вырезания из первого объекта вырезаются все последующие: $fn = 50; ![]() Иногда очень удобно видеть что мы вырезаем и в этом случае можно использовать специальный знак #, который делает видимым вырезаемую часть: $fn = 50; ![]() Вырезаемая часть всегда должна быть немного больше. Например в рассмотренном выше примере, если между внешним и внутренним цилиндрами не будет перекрытия мы получим "оболочку" равную нулю. Это плохой стиль 3D моделирования, и может привести к ошибкам при генерации модели (рендеринг) или отправке модели в 3D принтер. ![]() Поэтому всегда учитывайте это и делайте вырезаемый объект немного выступающим, 0.1мм достаточно. А теперь используем объединение и вырезание в одном примере, чтобы наглядно показать как вырезать из группы объектов: difference() { ![]() МодулиМодули являются мощным средством в OpenSCAD, они позволяют упростить и повторно использовать однажды написаный код. Сделаем ранее рассмотренную модель буквы "П" с использованием модуля: // Инструкции как должна создаваться буква "П" ![]() А теперь давайте улучшим модуль и будем передавать параметры в него, что позволит повторно использовать модуль с разными размерами, и создадим несколько разных букв "П": // Инструкции как должна создаваться буква "П" ![]() Модули незаменимы когда вы работаете с функциями которые должны повторно использоваться в вашей модели. Вот мы и рассмотрели основные функции OpenSCAD, которые позволят вам создавать ваши 3D модели в такой замечательной программе твердотельного 3D моделирования как OpenSCAD. Продолжение следует... При копировании ссылка на источник обязательна.
|
![]() ![]()
Категория «Путешествия»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...
![Загрузка... Загрузка...](/themes/1/i/loader/loader.gif)
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.