Руководство пользователя по OpenSCAD/Язык сценариев OpenSCAD

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску


Язык сценариев OpenSCAD[править]

Примитивы объемных тел[править]

Куб[править]

Создает куб в начале системы координат. Когда center=true куб будет центром в начале координат, в противном случае он будет создан в первом октанте. Имена аргументов необязательны, если аргументы приведены в том же порядке, что и параметры.

Параметры[править]

size 
Число или трехчленный массив (также вектор). Если значение число, то в результате будет куб со сторонами этой длины. Если size трехчленный массив, то результатом станет прямоугольный параллелепипед с длинной, шириной и высотой соответственно равными X, Y и Z в массиве. Значение по умолчанию 1.
center 
Булевый (Boolean) параметр, определяет позиционирование объекта. Если равен true, — центром объекта будет точка (0,0,0). В противном случае, куб помещается в положительном октанте и одна из его вершин будет в точке (0,0,0). По умолчанию false.

Общий синтаксис описания куба[править]

Общий синтаксис описания такого геометрического объекта, как куб, выглядит так:

cube(size = [x,y,z] center = boolean_value)

Пример использования[править]

cube(size = 1, center = false);
cube(size = [1,2,3], center = true);

Openscad-cube.jpg

Сфера[править]

Создает сферу в начале системы координат. Название аргументов является необязательным.

Параметры[править]

r
Число, радиус сферы.
d
Число, диаметр сферы.
$fa
Угол фрагмента в градусах
$fs
Размер фрагмента в миллиметрах
$fn
Разрешение

Пример использования[править]

Openscad-sphere.jpg
 sphere(r = 1);
 sphere(r = 5);
 sphere(r = 10);
 sphere(d = 2);
 sphere(d = 10);
 sphere(d = 20);

 // результатом будет сфера радиусом 2мм , с поверхностью высокого разрешения
 sphere(2, $fn=1000); 

 // Результатом будет сфера радиусом 2мм, с меньшим разрешением
 sphere(2, $fa=5, $fs=0.1);

Цилиндр[править]

Создает цилиндр или конус в начале системы координат. Один радиус (г) имеет форму цилиндра, два различных радиусов (r1, r2) делают конус.

Параметры[править]

Число. Определяет высоту объекта. Значение по умолчанию 1.
Число. Радиус верхней и нижней грани цилиндра. Используйте этот параметр, если вы хотите простой цилиндр. Значение по умолчанию 1.
r1 
Число. Радиус нижней грани конуса. Значение по умолчанию 1.
r2 
Число. Радиус верхней грани конуса. Значение по умолчанию 1.
Число. Диаметр верхней и нижней грани цилиндра. Используйте этот параметр, если вы хотите простой цилиндр. Значение по умолчанию 1.
d1 
Число. Диаметр нижней грани конуса. Значение по умолчанию 1.
d2 
Число. Диаметр верхней грани конуса. Значение по умолчанию 1.
center 
boolean. Это определяет позиционирование объекта. Если значение true, объект получится с центром в (0,0,0). В противном случае, объект помещают в положительном квадранте с одним углом в (0,0,0). По умолчанию false
$fa 
Угол фрагмента в градусах
$fs 
Размер фрагмента в миллиметрах
$fn 
Разрешение

Пример использования[править]

Openscad-cylinder.jpg
 cylinder(h = 10, r=20);
 cylinder(h = 10, r=20, $fs=6);
 cylinder(h = 10, r1 = 10, r2 = 20, center = false);
 cylinder(h = 10, r1 = 20, r2 = 10, center = true);
 cylinder(h = 10, d=40);
 cylinder(h = 10, d=40, $fs=6);
 cylinder(h = 10, d1 = 20, d2 = 40, center = false);
 cylinder(h = 10, d1 = 40, d2 = 20, center = true);

Многогранник[править]

Создает многогранник, объединяя вершины (перечисленные в параметре points) в плоскости (формируемые путем соединения перечисленных вершин, порядок соединения в параметре faces),

Параметры[править]

points 
координаты точек или вершин ([ [X,Y,Z], ... [Xn,Yn,Zn] ]).
triangles 
(устарел в версии 2014.03, используйте faces) Список вершин которые следует объединить в одну плоскость (каждый по 3 вершины). Номера вершин из параметра "points", пронумерованных с индекса 0
faces 
(введен начиная с версии 2014.03) Список вершин которые следует объединить в одну плоскость (каждый содержит по 3 или более вершины). Номера вершин из параметра "points", пронумерованных с индекса 0. При указании более 3 точек в одном наборе, все точки должны быть в одной плоскости.
convexity
Целое. The convexity parameter specifies the maximum number of front sides (back sides) a ray intersecting the object might penetrate. Этот параметр необходим только для правильного отображения объекта в режиме предварительного просмотра OpenCSG и не имеет никакого влияния на формирование многогранника.

Правила формирования плоскостей[править]

При взгляде на грань снаружи, точки должны быть по часовой стрелке. Вы можете изменить порядок точек в массиве points или порядок указания на них в каждой грани. Порядок указания граней несущественен. Учтите, если не все многоугольники ориентированы таким же образом, OpenSCAD выдаст ошибку или crash completely, так что уделите внимание порядку вершин. Ещё раз напоминаем, что номера точек pN - ссылки на элементы массива точек, индексация которого начинается с нуля.

Пример использования[править]

обратите внимание: если ваша версия OpenSCAD ниже 2014.03 замените "faces" на "triangles" в приведенных ниже примерах

 polyhedron(points = [ [x, y, z], ... ], faces = [ [p1, p2, p3..], ... ], convexity = N);

Пример, пирамида,с квадратным основанием[править]

Пирамида,с квадратным основанием
polyhedron(
    points=[ [10,10,0],[10,-10,0],[-10,-10,0],[-10,10,0], // четыре точки , основания пирамиды
             [0,0,10]  ],                                 // точка вершины
    faces=[ [0,1,4],[1,2,4],[2,3,4],[3,0,4],              // формирование боковых плоскостей 
                [1,0,3],[2,1,3] ]                         // формирование плоскости основания
);