Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «openscad»
OpenSCAD - Введение 2013-11-19 02:00:00
... учитывается интерпретатором OpenSCAD при генерации ... основные функции OpenSCAD, которые ...
+ развернуть текст сохранённая копия
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]) { cube([2,2,5], center=true); //...... } В OpenSCAD все что идет после символов // является комментарием и не учитывается интерпретатором OpenSCAD при генерации 3D модели, в них можно писать пометки в вашем коде чтобы потом легче было разобраться в нем, особенно когда код будет очень большим и сложным. Перемещать естественно можно и в отрицательные полуоси, например:translate([2,-2,-10]) { cube([2,2,5], center=true); //...... } А теперь сделаем модель буквы "П"translate([2.5,0,2.5]) cube([2,2,5], center=true); //правая нога translate([-2.5,0,2.5]) cube([2,2,5], center=true); //левая нога translate([0,0,5]) cube([7,2,2], center=true); //перекладина
Каждая строка кода завершается точкой с запятой, после фигурных скобок точку с запятой ставить не обязательно.
Переменные Вы можете использовать цифры при задании команд и создании объектов, но если вы хотите чтобы от изменения одного значения пересчитались и все остальные и когда ваша 3D модель будет очень сложной с большим числом строк кода, вам не обойтись без переменных. Переменная определяется следующим образом:parameter = 10; В OpenSCAD нельзя переопределять переменные, т.е. переменная должна быть задана только один раз, и она будет равна последнему присвоенному значению по всему тексту скрипта, например:a = 10; echo(a);
a = 15; echo(a); Даст следующий результат:ECHO: 15 ECHO: 15 А теперь давайте сделаем ту же модель буквы "П" с применением переменных:depth = 2; //глубина модели по оси Y weight_leg = 2; //ширина ноги по оси X height_leg = 5; //высота модели по оси Z legs_space = 5; //расстояние между осями ног по X weight_bridge = legs_space + weight_leg; //ширина перекладины равна расстоянию между осями ног плюс ширина ноги height_bridge = weight_leg; //высота перекладины равна ширине ноги
translate([legs_space/2,0,height_leg/2]) //перемещаем правую ногу вправо по X cube([weight_leg,depth,height_leg], center=true); //правая нога translate([-(legs_space/2),0,height_leg/2]) //перемещаем левую ногу влево по X cube([weight_leg,depth,height_leg], center=true); //левая нога translate([0,0,height_leg + height_bridge/2]) //перемещаем перекладину вверх по Z cube([weight_bridge,depth,height_bridge], center=true); //перекладина Попробуйте поэкспериментировать с различными значениями параметров.Как видите теперь намного проще изменять модель. Теперь давайте взглянем на другие формы которые вы можете использовать в 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]) { rotate([0,90,0]){ cylinder(r=5, h=5, center=true, $fn = 50); } } Из цилиндра можно получить конус задав разные диаметры сверху и снизу:cylinder(r1=20, r2=3, h=40, center=true, $fn=50); Где r1 - диаметр основания, а r2 - диаметр вершины. Вы также можете получить идеальный конус задав диаметр r2 равным нулю.
Объединение и ВырезаниеОбъединение неявно когда не используется. Но оно необходимо, например когда необходимо вырезать один объект из группы объектов. Пример объединения:union() { cylinder (h = 4, r=1, center = true, $fn=100); rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100); } Все что мы рассмотрели ранее позволяет создавать объекты сложной формы посредством добавления небольших частей друг к другу. Но очень часто нам нужно вырезать какую-то часть. И рассмотрим мы это на примере создания кольца. В функции вырезания из первого объекта вырезаются все последующие:$fn = 50;
difference() { // Из этого цилиндра мы будем вырезать cylinder(r=10, h=5, center=true);
// Все остальное следующее далее будет вырезано cylinder(r=8, h=6, center=true); } Иногда очень удобно видеть что мы вырезаем и в этом случае можно использовать специальный знак #, который делает видимым вырезаемую часть:$fn = 50;
difference() { // Эта часть будет создана cylinder(r=10, h=5, center=true);
// Все остальное следующее далее будет вырезано #cylinder(r=8, h=6, center=true); } Вырезаемая часть всегда должна быть немного больше. Например в рассмотренном выше примере, если между внешним и внутренним цилиндрами не будет перекрытия мы получим "оболочку" равную нулю. Это плохой стиль 3D моделирования, и может привести к ошибкам при генерации модели (рендеринг) или отправке модели в 3D принтер.
Поэтому всегда учитывайте это и делайте вырезаемый объект немного выступающим, 0.1мм достаточно. А теперь используем объединение и вырезание в одном примере, чтобы наглядно показать как вырезать из группы объектов:difference() { union() { cylinder (h = 4, r=1, center = true, $fn=100); rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100); } rotate([0,90,0]) cylinder(r=1, h=10, center=true, $fn=100); }
Модули Модули являются мощным средством в OpenSCAD, они позволяют упростить и повторно использовать однажды написаный код.Сделаем ранее рассмотренную модель буквы "П" с использованием модуля:// Инструкции как должна создаваться буква "П" module pi() { // Параметры depth = 2; //глубина модели по оси Y weight_leg = 2; //ширина ноги по оси X height_leg = 5; //высота модели по оси Z legs_space = 5; //расстояние между осями ног по X weight_bridge = legs_space + weight_leg; //ширина перекладины равна расстоянию между осями ног плюс ширина ноги height_bridge = weight_leg; //высота перекладины равна ширине ноги
translate([legs_space/2,0,height_leg/2]) //перемещаем правую ногу вправо по X cube([weight_leg,depth,height_leg], center=true); //правая нога translate([-(legs_space/2),0,height_leg/2]) //перемещаем левую ногу влево по X cube([weight_leg,depth,height_leg], center=true); //левая нога translate([0,0,height_leg + height_bridge/2]) //перемещаем перекладину вверх по Z cube([weight_bridge,depth,height_bridge], center=true); //перекладина }
// Эта строчка говорит OpenSCAD найти инструкции как создавать букву "П" и создать ее pi(); А теперь давайте улучшим модуль и будем передавать параметры в него, что позволит повторно использовать модуль с разными размерами, и создадим несколько разных букв "П":// Инструкции как должна создаваться буква "П" module pi(depth, weight_leg, height_leg, legs_space) { // Параметры weight_bridge = legs_space + weight_leg; //ширина перекладины равна расстоянию между осями ног плюс ширина ноги height_bridge = weight_leg; //высота перекладины равна ширине ноги
translate([legs_space/2,0,height_leg/2]) //перемещаем правую ногу вправо по X cube([weight_leg,depth,height_leg], center=true); //правая нога translate([-(legs_space/2),0,height_leg/2]) //перемещаем левую ногу влево по X cube([weight_leg,depth,height_leg], center=true); //левая нога translate([0,0,height_leg + height_bridge/2]) //перемещаем перекладину вверх по Z cube([weight_bridge,depth,height_bridge], center=true); //перекладина }
// Эта строчка говорит OpenSCAD найти инструкции как создавать букву "П" и создать ее pi(2,2,5,5); translate([10,0,0]) pi(1,3,7,4); translate([-10,0,0]) pi(4,1,2,5); Модули незаменимы когда вы работаете с функциями которые должны повторно использоваться в вашей модели. Вот мы и рассмотрели основные функции OpenSCAD, которые позволят вам создавать ваши 3D модели в такой замечательной программе твердотельного 3D моделирования как OpenSCAD. Продолжение следует...
При копировании ссылка на источник обязательна.
Тэги: openscad, моделирование, руководство
OpenSCAD + Sublime Text - Облегчаем себе работу 3D моделирования 2013-11-03 19:00:00
... AZdMesw3BU0/s640/ openscad.png" title=" OpenSCAD" width="640 ... .png" title=" OpenSCAD и Sublime Text ...
+ развернуть текст сохранённая копия
OpenSCAD это бесплатное программное обеспечение (ПО) для создания твердотельных 3D CAD моделей. Это ПО доступно для разных операционных систем, таких как Linux/UNIX, Windows и Mac OS X.К сожалению большинство бесплатного ПО для 3D моделирования сфокусировано на артистических аспектах, а не на CAD моделировании. OpenSCAD применяют для разработки деталей машин, если вы планируете разрабатывать 3D анимацию, то это ПО не для вас. Поэтому его очень любят RepRap разработчики и простые инженеры. Большинство проектов RepRap сделано именно в OpenSCAD.
Sublime Text это популярный кроссплатформенный продвинутый текстовый редактор для кодирования, разметки и прозы. Он имеет понятный пользовательский интерфейс, неординарные функции и восхитительную производительность.Интерфейс Sublime Text имеет подсветку синтаксиса, полноэкранный режим, миникарту, мультипанели, подсветку парных скобок и автосохранение. Редактор содержит снипеты, автозавершение, макросы, поиск и замену, проверку орфографии, мультивыделение и закладки. Настроить в Sublime Text можно практически все, а также доступно великое множество плагинов.Sublime Text является условно-платным ПО, бесплатная оценочная версия ничем не отличается от платной (по крайней мере ограничения не были найдены), кроме надписи "UNREGISTERED" в заголовке окна и раз в пару часов выскакивает диалоговое окно с предложением редактор приобрести.
В данной статье используется последняя версия OpenSCAD 2013.02.28 и Sublime Text 3 build 3047, операционная система Linux Ubuntu 13.10.
Настройка Процедура настройки одинакова для всех операционных систем. Итак приступим:- Скачать пакет настройки Sublime Text для OpenSCAD (OpenSCAD_Sublime.zip).
- Запускаем Sublime Text и определяем каталог где находятся пакеты настроек, меню Preferences - Browse Packages... (запоминаем этот каталог).
- Копируем папку OpenSCAD из архива OpenSCAD_Sublime.zip в каталог определенный в пункте 2.
- Запускаем OpenSCAD включаем настройку в меню Design - Automatic Reload and Compile и прячем редактор в меню View - Hide editor так как мы будем использовать внешний редактор.
- Еще один маленький твик (возможно кому-то поможет),если нет ошибок в скрипте но ваша модель не отображается, то увеличьте лимит отображаемых элементов в Edit - Preferences - Advanced - Turn off rendering at ... elements.
На этом наша настройка закончена.
Использование Разместите окна OpenSCAD и Sublime Text удобным для вас образом.Создайте новый или откройте существующий один и тот же файл в обоих программах. И теперь пишем код в Sublime Text, а он автоматически прорисовуется в OpenSCAD.
Автозавершение кода происходит при вводе первых символов команды, а также по нажатию Tab на клавиатуре. Вот мы и получили быстрый и удобный инструмент твердотельного 3D моделирования в OpenSCAD при помощи Sublime Text с функциями подсветки синтаксиса, автозавершения и другими вкусностями. Просто и удобно, не так ли? Удачи!При копировании ссылка на источник обязательна.
Тэги: openscad, sublime, text, моделирование, настройки, руководство
Добавляем статистику на сайт. Установка счетчиков liveinternet, яндекс метрики, google analytics, рамблер топ100, hotlog и рейтинг@mail.ru 2013-02-23 12:10:14
Добрый день, продолжаю уроки типа: что можно сделать или куда можно добавить (а если быть точнее ...
+ развернуть текст сохранённая копия
Добрый день, продолжаю уроки типа: что можно сделать или куда можно добавить (а если быть точнее нужно) новый сайт. Сегодня вы научитесь добавлять на свой сайт статистику посещений. А в некоторый случаях (майл, рамблер) еще и жирненькую ссылочку на ваш сайт. Но прежде советую вам прочитать мои статьи на тему: Добавление сайта в Яндекс Вебмастер, [...]
Тэги: analytic, google, hotlog, liveinternet, openstat.ru, блога, ведение, добавлять, жирный, метрика, рамблер, рейтинг@mail.ru, сайт, ссылка, статистик, статистика, счетчик, топ100, установка, яндекс
Редактор для видео Openshot 2011-09-19 18:24:20
Новая версия 1.4.0 отличного open-source видео редактора под Linux запланирована к выпуску в конце ...
+ развернуть текст сохранённая копия
Новая версия 1.4.0 отличного open-source видео редактора под Linux запланирована к выпуску в конце сентября. В этой версии появятся новые возможности и функции, новые инструменты для редактирования видео и корректировки цветового баланса, также появятся новые аудио-эффекты и новые дополнения для работ с заголовками.
Тэги: 1.4.0, 11.04, linux, openshot, ubuntu
Редактор для видео Openshot 2011-09-19 18:24:20
Новая версия 1.4.0 отличного open-source видео редактора под Linux запланирована к выпуску в конце ...
+ развернуть текст сохранённая копия
Новая версия 1.4.0 отличного open-source видео редактора под Linux запланирована к выпуску в конце сентября. В этой версии появятся новые возможности и функции, новые инструменты для редактирования видео и корректировки цветового баланса, также появятся новые аудио-эффекты и новые дополнения для работ с заголовками.
Тэги: 1.4.0, 11.04, linux, openshot, ubuntu
Главная / Главные темы / Тэг «openscad»
|
Взлеты Топ 5
Падения Топ 5
|