Справочник (шпаргалка) по OpenSCAD

 

openscad_logo

 

Данный пост поможет вам максимально быстро изучить основы OpenSCAD и разработать свою модель. Используйте содержание, для быстрого перехода к разделу поста.

Для более полной информации обращайтесь в справочник разработчиков OpenSCAD — ссылка

 

 

СОДЕРЖАНИЕ ПОСТА
 

 

 

 

 


В OpenSCAD используются следующие фигуры:

 

КУБ

cube([длина,ширина,высота]центр_куба_в_нуле? (true/false))

Если центр_куба_в_нуле? — false, то одна из вершин куба будет в нуле.

Пример

 

openscad_cube

 

СФЕРА

sphere(радиус,$fn=разрешение);

Чем выше разрешение, тем меньше полигональность (гладкость) сфера.

Пример

openscad_sphere

 

ЦИЛИНДР

cylinder(высота,радиус_основания,радиус крышки,$fn=разрешение);

Пример

openscad_cylinder

 

МНОГОУГОЛЬНИК

polyhedron(points=[ [x,y,z],[координаты точки], .. ],faces = [ [ n1,n2,n3], [номера точек],..]);

В параметре points в скобках [] указываются координаты точек, а в faces номера (нумеруются с 0) точек для объединения в плоскость.
Пример

openscad_polyhedron

 

ТЕКСТ

text(текст,размер,шрифт);

Список доступных шрифтов, можно посмотреть в Справка -> Список шрифтов.
Пример

 

text_openscad

 

 


OpenSCAD позволяет производить следующую трансформацию над фигурами:

ПЕРЕМЕЩЕНИЕ

 

translate(v = [переместить_x, переместить_y, переместить_z]) { код_фигуры }

Пример, поднимем параллелепипед на 3 единицы, сместим по х на 7, по y на 5.

openscad_translate

 

ПОВОРОТ

rotate([градус_вокруг_x, градус_вокруг_y, градус_вокруг_z]) { код_фигуры }

Пример, развернем параллелепипед на 15 градусов вокруг ось x, -20 градусов вокруг ось y, 30 градусов вокруг ось z.

openscad_rotate

МАСШТАБИРОВАНИЕ

scale([длина, ширина, высота]) { фигура )

В скобках указываются параметры масштабирования по длине, ширине и высоте. В данном случае по длине изменений не будет (т.к. 1), глубина измениться в два раза, а высота в три раза.

 scale_openscad

ОБЪЕДИНЕНИЕ

union() { фигура_1; фигура_2; и т.д.)

openscad_union

РАЗНОСТЬ ФИГУР

difference() { фигура_1; фигура_2; и т.д.)

От фигуры_1 отнимается фигура_2, очередность важна

openscad_difference

ПЕРЕСЕЧЕНИЕ ФИГУР

intersection() { фигура_1; фигура_2;)

Результат — пересечение фигуры_1 и фигуры_2

openscad_intersection

«ВЫПУКЛАЯ ОБОЛОЧКА»

Что это? См. статью в википедии.

hull() { фигура_1; фигура_2; фигура_3; и т.д.}

Результат — будет создана трехмерная фигура в которую помещаются перечисленные фигуры.

hull_openscad

 

 


В OpenScad можно создавать 3D фигуры методом выдавливания (extrude).

Перед изучением выдавливания, полезно знать команды для построения простейших 2D фигур.

Окружность — circle(радиус);

Прямоугольник — square([длина, глубина]);

Полигон — polygon( [[x,y,z],[координаты точки], .. ],[[номера точек для соединения]]);

 

ЛИНЕЙНОЕ ВЫДАВЛИВАНИЕ

 

Суть линейного выдавливания заключается в том, что 2d фигуру вытягивают по оси z.

 

linear_extrude(высота, twist = угол_поворота, slices = количетсво_слоев, scale = масштаб) { фигура; }

 

Параметр twist позволяет закручивать фигуру при вытяжение вокруг оси Z.

openscad_twist

 

Параметр scale увеличивает размер каждого следующего слоя. Коэффициент scale, говорит о том, что первый слой и последний слой будут отличается в scale раз.

openscad_scale

 

За «гладкость» отвечает slices, чем больше слоев, тем более гладкая результирующая фигура.

Если вы используете twist, фигура выполняет разворот вокруг оси z, в координатах x=0 и y=0;

Пример:

openscad_linera_extrude

Как пример воспользуемся масштабом —  scale.  Пусть край закрученной фигуры будет больше основания в 2 раза.

Пример:

openscad_linera_extrude_scale

 

Последний пример, уменьшим количество слоев. Пусть на фигура будет состоять из 3-ех слоев.

Пример:

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

openscad_linera_extrude_slices


 

ВЫДАВЛИВАНИЕ ВРАЩЕНИЕМ

 

Суть выдавливания вращением заключается в том, что 2d фигуру растягивают вокруг оси z.

rotate_extrude(angle = градусы) { фигура; }

 

Параметр angle определяет угол вокруг оси z, на сколько фигура должна растянуться, по умолчанию это значение 360.

Как это работает?

Допустим у нас есть фигура — прямоугольник:

openscad_rotate_extrude_test

При выдавливание вращением, 2d фигура разворачивается перпендикулярно поверхности XY:

openscad_rotate_extrude_test_2

Далее 2d фигура растянется вокруг оси z на 360 градусов, т.е. итог будет выглядеть так:

Пример:

openscad_rotate_extrude

 

 


 

ИМПОРТИРОВАНИЕ STL ФАЙЛОВ

 

В OpenScad можно работать с готовыми 3D моделями, например с stl файлами, т.к. они чаще всего используются для 3d печати.

Иногда stl модель не помешается на стол 3d принтера и её необходимо разрезать на части, для последующей склейки.

Например, мне нужно по частям напечатать защитный кожух для велосипеда, который одевался на переднюю звездочку.

ring_bike_demo

Сначала мы импортируем stl модель в OpenScad, далее выделим из неё отдельные части.

 

Как импортировать stl модель?

import_stl(«имя_файла.stl«, convexity = 5);

stl_openscad

Создадим фигуру — маску, в виде приплюснутого куба, которая будет пересекаться с той частью stl, которую мы хотим напечатать

Фигуру stl я развернул на 30 градусов, иначе место сечения находится рядом с монтажными отверстиями, что плохо.

stl_maska_openscad

 

Используем операцию пересечения фигур — intersection.

 

Печатаем результат, двигаем маску и получаем другие фрагменты данной stl модели.

 stl_maska_openscad_2




Буду признателен если вы поделитесь данным постом


Ваш комментарий


Ответ в цифрах

 
© s-engineer.ru, 2012-2017 | Все права защищены