Как открыть файл с расширением .stl (на примере программы OpenSCAD)

Аббревиатура STL - это сокращение от STereoLithography (Стереолитография - технология трёхмерной печати). В файлах с расширением .stl содержатся объёмные модели объектов, которые могут быть "распечатаны" на трёхмерных принтерах. Существует два вида форматов .stl - файлов - бинарный и текстовый (ASCII). Бинарный более компактный, а содержимое текстового .stl файла может быть просмотрено любым текстовым редактором.

Одной из программ, которая позволяет открыть stl файл, является бесплатная программа OpenSCAD, её можно скачать с сайта http://www.openscad.org/downloads.html (есть версии под Windows/Mac OS X/Linux/BSD).

Как этой программой открыть файл с расширением .stl? Для этого из главного меню программы выбрать File --> Open (или нажать комбинацию клавиш Ctrl+O), в появившемся диалоге выбора файла ввести маску *.stl, как показано на скриншоте:

Диалог выбора файлов программы 3D моделирования OpenSCAD с введённой .stl маской

Это позволит увидеть .stl - файлы, находящиеся в текущем каталоге, выбрать нужный файл и открыть его. Другой способ - просто перетащить нужный .stl - файл из проводника на окно программы.

Окно программы состоит из трёх полей: текстовое, находящееся слева, графическое, расположенное справа вверху, и поле сообщений внизу справа. В самом низу окна находится строка состояния с индикатором прогресса, который появляется при компиляции и визуализации.

Окно программы OpenSCAD с прорисованной моделью

После открытия файла надо запустить компиляцию. Это делается нажатием клавиш F5 (компиляция) или F6 (компиляция и визуализация). Мышью можно вращать модель (при нажатой левой клавише) или перемещать (нажав правую клавишу мыши). Комбинация клавиш Ctrl+P передвигает модель в центр поля.

Программа OpenSCAD позволяет экспортировать 3D модели в форматы .STL, .OFF, .DXF, .CSG и в графический формат .PNG (главное меню --> Design). Для форматов .STL, .OFF и .DXF модель предварительно нужно скомпилировать и визуализировать, нажав клавишу F6. Для формата .CSG достаточно только скомпилировать (клавиша F5).

На рисунке внизу показан пример экспорта 3D модели в графический файл формата .PNG:

3D модель в программе OpenSCAD

Программа OpenSCAD позволяет создавать твёрдотельные трёхмерные модели. Для этого используется несложный язык. Вот пример, позволяющий построить модель сферы с отверстиями:

$fn = 100;
difference()
{
color([0, 1, 1])
sphere(40, center = true);
color([1, 1, 0.9])
cylinder(150,30,30, center = true );
rotate(90, [1, -0.66, 0]) cylinder(150,10,10, center = true);
rotate(90, [1, 0.66, 0]) cylinder(150,10,10, center = true);
rotate(90, [0, 1, 0]) cylinder(150,10,10, center = true);
}

Разберём этот пример. Здесь $fn - это системная переменная, определяющая количество полигонов модели, а следовательно, и графическое разрешение. Этот параметр можно задать отдельно для каждой фигуры

Пример: sphere(20, center = true, $fn = 300);

Чем больше величина $fn, тем больше полигонов, в результате получится более гладкая поверхность, но программе потребуется больше времени на вычисления.

Дальше идёт логический оператор difference() - это разница между первой фигурой (sphere) и четыремя цилиндрами (cylinder) - то есть из сферы (первая фигура в фигурных скобках) вычитаются (выдавливаются) цилиндры (все последующие фигуры в фигурных скобках). Существуют ещё два логических оператора - union() и intersection(). Поскольку такие операторы предназначены для работы с несколькими фигурами, то все фигуры, над которыми производятся логические операции, объединяются фигурными скобками { }.

Итак, программа OpenSCAD позволяет производить три логические операции над трёхмерными фигурами:

Оператор color([0, 1, 1]) - это цвет (RGB), в единицах от 0,0 до 1,0. Если использовать четыре параметра, то четвёртый параметр определяет прозрачность.

Пример: color([0, 1, 1, 0.3])

Можно также указывать именованные цвета.

Пример: color("red"))

Этот оператор действует на геометрическую фигру, находящуюся сразу за ним.

Пример:
color("blue") sphere(20, center = true, $fn = 300);).

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

Пример:

color("lime")
{
sphere(20, center = true, $fn = 300);
cylinder(30,10,10);
} 

Далее идёт оператор sphere(40, center = true);. Здесь указан радиус сферы (40) и расположение её центра так, что бы он совпадал с центром координат системы. Включить или выключить оси координат можно комбинацией клавиш Ctrl+2 или из главного меню программы View --> Show Axis.

Дальше снова оператор цвета color([1, 1, 0.9]) - он устанавливает цвет большого цилиндра (cylinder(150,30,30, center = true );). После операции выдавливания цвет этого цилиндра будет присвоен внутренней проверхности сферы.

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

Список трёхмерных фигур программы OpenSCAD:

Одними логическими операциями возможности программы OpenSCAD не ограничиваются - в ней можно производить линейное выдавливание плоских фигур в объёмные фигуры, как в программе SolidWorks. Пример:

linear_extrude(10) polygon([[0,0],[0,20], [20,20],[10,10],[20,0]]);

В этом примере плоская фигура, состоящая из пяти точек в плоскости Х создаётся командой polygon, и выдавливается командой linear_extrude на высоту 10 в плоскости Z. Вот что получилось в результате:

Выдавливание плоской фигуры в программе OpenSCAD

Вот список плоских фигур, которые можно выдавливать:

Таким образом можно создавать объёмные фигуры практически любой сложности.

BACK