Готовый перевод Low-cost 3D Printing for Science, Education and Sustainable Development / Доступная 3Д печать для науки, образования и устойчивого развития: 7. 3D моделирование с OpenSCAD - Часть 1

Себастьян Бюттрих
IT лаборатория, Университет Информационных Технологий Копенгагена, Дания
sebastian@itu.dk

На пути от идеи к законченному 3D отпечатку, нужно совершить несколько шагов. Начать с проекта в CAD файле или сканирования уже существующего объекта, затем преобразовать в файл STL, возможно потребуется пост-обработка/восстановление, и наконец, преобразовать в исполняемый принтером файл g-кода.

Ваши первые шаги в 3D печати могут основываться на 3D проектах, найденных в Интернете, но став серьезнее, Вы захотите разработать свой собственный проект или улучшить существующие проекты, вместо того, чтобы просто копировать работу других. Здесь мы сосредоточимся на этапах разработки, т.е. создание 3D моделей и экспорт STL файлов.

Есть много доступных программных средств, и следующие два адреса - хорошие отправные точки, чтобы освоить их:
• http://www.reprap.org/wiki/Useful_Software_Packages
• https://en.wikipedia.org/wiki/Comparison_of_3D_computer_graphics_software

Разработка в OpenSCAD
Наиболее популярными бесплатными и открытыми программами являются Blender, POV-Ray, Wings3d и OpenSCAD. OpenSCAD подходит для всего, что легче рассчитать и генерировать программно нежели изобразить от руки, мышью или светокопированием (трассировкой лучей). Что касается последних, то Blender или POV-Ray могут стать Вашим выбором.

Таким образом, когда стоит задача конструирования объектов, все размеры которых точно заданы или объектов, отрисовка которых обременительна или даже невозможна, но легко описываемых формулами, параметрами или числовой последовательностью, OpenSCAD – Ваш инструмент. Его подход к 3D проекту основывается на математике и программировании.

Цитата с веб-сайта http://openscad.org:
«В отличие от большей части бесплатного программного обеспечения для создания 3D моделей (такое как известное приложение Blender), оно не фокусироется на художественных аспектах 3D моделирования, а вместо этого фокусируется на аспектах CAD. Таким образом, это приложение может быть тем, что Вы ищете, когда планируете создать 3D модели деталей машины, но со значительной степенью уверенности это не, то, что Вы ищете, если Вас большее интересует создание компьютерных анимационных фильмов».

OpenSCAD – бесплатное программное обеспечение, доступное под Linux/UNIX, MS Windows и Mac OS X, по лицензии GNU GPL v.2

В OpenSCAD два основных способа моделирования:
1. Конструктивная блочная геометрия (CSG) – сборка из цельных трехмерных объектов, элемент за элементом, из скрипта.
2. Экструзия 2D контуров - берутся готовые 2-мерные фигуры, например, из файла DXF или просто 2-мерные формы и из этого производится 3D объект, например, поворотом или подъемом.

Затем, получившийся 3D файл может быть экспортирован в файл формата STL или OFF.

STL значит СТереоЛитография. Большинство программ САПР поддерживают экспорт в этот формат. Файл STL представляет объект, который можно назвать «водонепроницаемым»: объект без отверстий или искажений. Можно, конечно, вообразить и зарисовать и более смелые объекты, но только «водонепроницаемый» объект - объект, который может быть заполнен материалом - может в действительности быть распечатан.

Нужно отметить, что в процессе экспорта в STL могут возникнуть проблемы, и всегда лучше проверить результаты при помощи инструмента пост-обработки и "ремонта", такого как Meshlab.

Основные элементы синтаксиса OpenSCAD - переменные, модули, функции, включения и требования.
Переменные описываются так
myVar = 5+4
и могут быть сгруппированы в вектора/точки как:
myVector = [5,4,8]

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

OpenSCAD понимает скалярные арифметические операторы, операторы сравнения, операторы булевой логики и длинный список общеупотребимых математических функций. Вы можете создать 2D (круг, квадрат, многоугольник) и 3D (кубы, сферы, цилиндры) примитивы, каждый из которых принимает в качестве входных аргументов такие параметры как упомянутые выше точки, зачастую дополняемые разрешающей способностью, параметрами поверхности и дополнительными инструкциями.

Шпаргалка по OpenSCAD на http://www.openscad.org/cheatsheet/ дает хорошее краткое изложение всех элементов языка OpenSCAD

Следующий пример кода демонстрирует перевод преобразования и трех основных булевых логических операций:
Union (объекты объединенные вместе),
Difference (удаление одного объекта от других);
Interselection (область совместно используемая двумя объектами).

Пример кода трех основных преобразований:
Union() {
cylinder (h = 4, r=1, center = true, $fn=100);
rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}
translated[0,3,3])
difference() {
cylinder (h = 4, r=1, center = true, $fn=100);
rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}
translated[0,-3,-3])
intersection() {
cylinder (h = 4, r=1, center = true, $fn=100);
rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100)
}

Основные булевы операции (комментарий к иллюстрации)

Подробности OpenSCAD User Manual на wikibooks:
http://en.wikibooks.org/wiki/OpenSCAD_User_Manual и этот сайт предоставит Вам всю необходимую информацию для разработки сложных объектов.

Примечание: Все ссылки в этой статье были проверены в апреле 2013.

Переведено на Нотабеноиде
http://notabenoid.org/book/41907/160863

Переводчики: Woolpit, mishavolkin, alex_itz

Настройки

Готово:

100.00% КП = 1.7