К содержанию

OpenSCAD: когда модель удобнее написать, чем нарисовать

В OpenSCAD модель задаётся текстом: «куб 40×30×20 минус цилиндр диаметром 6». Такой подход непривычен, но для деталей с размерами в таблице он экономит часы. Показываем основы на примере.

Обновлено 28.10.2026

Большинство редакторов 3D работают мышью: тянут грани, двигают вершины. В OpenSCAD всё наоборот: вы пишете, что получить, а программа строит. Для технических деталей это очень удобно, потому что размеры здесь важнее формы. Хотите изменить диаметр отверстия — меняете число, а не перерисовываете эскиз.

Три кита OpenSCAD

Примитивы. Кубы, цилиндры, сферы: cube([40,30,20]), cylinder(d=6, h=10), sphere(r=5).

Преобразования. Сдвиг translate, поворот rotate, масштаб scale. Они применяются к следующему за ними объекту.

Булевы операции. union объединяет, difference вычитает, intersection оставляет пересечение. Из этих операций складывается почти любая деталь.

Пример: коробка с отверстиями

w = 60;      // ширина, мм
d = 40;      // глубина
h = 25;      // высота
wall = 2;    // толщина стенки
hole = 3.2;  // отверстие под винт M3

difference() {
  cube([w, d, h]);
  translate([wall, wall, wall])
    cube([w - 2*wall, d - 2*wall, h]);
  for (x = [8, w - 8], y = [8, d - 8])
    translate([x, y, -1]) cylinder(d = hole, h = wall + 2, $fn = 32);
}

Что происходит: из куба вычитается внутренняя полость на высоту, оставляя дно и стенки, затем четыре цилиндра пробивают отверстия в углах дна. Если нужна коробка 80×50×30, меняете три числа, и все отверстия смещаются автоматически.

Что даёт параметрический подход

ЗадачаМышь (CAD)Код (OpenSCAD)
Изменить диаметр у 20 отверстийПравить по одномуМенять одну переменную
Сетка 10×10 отверстийКопировать массивомЦикл из двух строк
Серия размеров S, M, LТри файлаОдин файл и переменная
ВерсионированиеБинарные файлыТекст, можно в Git
Произвольная скульптураУдобноПрактически невозможно

Для детали «кронштейн под полку трёх размеров» код выигрывает. Для лица персонажа лучше скульптинг.

Customizer: ползунки вместо кода

Если над первой строкой переменной стоит комментарий с диапазоном, например // [20:5:100], Customizer показывает ползунок. Человек без навыков кода меняет размеры, а программа выдаёт новую модель. Такой же подход используют библиотеки готовых шаблонов: корпус для платы, подставка под телефон, крышка с резьбой. Параметрическим моделям посвящена статья «Параметрический дизайн для 3D-печати».

Как выпустить в STL

  1. Нажмите F5, чтобы увидеть быстрый предпросмотр.
  2. Нажмите F6: программа построит модель полностью.
  3. Через меню Файл → Экспорт → STL сохраните результат.
  4. Для круглых деталей поставьте $fn = 64 или выше — иначе окружности будут многоугольниками.
  5. Проверьте модель в слайсере на ошибки сетки; порядок проверки — в статье «Как исправить STL-файл».

Типичные ошибки новичков

  • Нулевая толщина. Вычитаемый объект должен выходить за границы детали на 0,01–1 мм, иначе остаются плёнки.
  • Низкое разрешение окружностей. $fn по умолчанию даёт грубые цилиндры.
  • Порядок преобразований. rotate и translate дают разный результат, если поменять местами.
  • Единицы. OpenSCAD не знает мм или дюймов: число — просто число, 1 = 1 мм при экспорте.

OpenSCAD и другие программы

OpenSCAD не заменяет всё. Для эскизов и сборок с чертежами выбирают Fusion 360 или КОМПАС, для начинающих — Tinkercad, для скульптуры — Blender. Сравнение — в статьях «Бесплатные программы для 3D-моделирования» и «САПР для 3D-печати».

Второй пример: массив отверстий и вентиляционная решётка

cols = 6; rows = 4; pitch = 8; d = 4;
difference() {
  cube([cols*pitch + 8, rows*pitch + 8, 3]);
  for (i = [0:cols-1], j = [0:rows-1])
    translate([8 + i*pitch, 8 + j*pitch, -1])
      cylinder(d = d, h = 5, $fn = 24);
}

Эта решётка размером 56×40 мм создаётся шестью строками. Чтобы получить 10×8 отверстий с шагом 6 мм, достаточно поменять числа в первой строке. Тот же принцип применяют для вентиляционных окон корпусов, сит, подставок под кисти и ключницы. Ещё одно преимущество — повторяемость: файл с кодом легко хранить, отправлять по почте и править на любом компьютере.

Шаблоны, которые меняют по ползункам

Чтобы пользователь без навыков программирования мог менять размеры, переменные оформляют специальными комментариями. Например, width = 60; // [30:5:120] создаёт ползунок от 30 до 120 с шагом 5. Для списков выбора подойдёт запись style = "round"; // [round, square, hex]. Такие шаблоны публикуют на онлайн-площадках, и любой желающий скачивает файл, подбирает размеры под себя и экспортирует STL. Принцип лежит в основе платформ для настройки изделий: заказчик выбирает параметры, а модель перестраивается автоматически.

Если нужно сделать

Если писать код некогда, отправьте размеры и эскиз: подготовим модель и учтём допуски под печать. Работа оформляется на странице 3D-моделирования; готовые детали печатаются в разделе деталей на заказ, а серии отличающихся по размеру изделий — в мелкосерийном производстве.

Частые вопросы

Что такое OpenSCAD?
Бесплатная программа, где 3D-модель описывается кодом. Работает на Windows, macOS и Linux, экспортирует STL, 3MF и другие форматы.
Для каких деталей он подходит?
Для технических: корпусов, кронштейнов, держателей, шестерён, сеток отверстий. Размеры хранятся как переменные и меняются в одном месте.
Подходит ли он для органических форм?
Нет, фигурки, скульптуры и сложные кривые удобнее делать в Blender или ZBrush.
Что такое Customizer?
Панель в OpenSCAD, где переменные модели превращаются в ползунки и поля ввода. Можно менять размеры без правки кода и получать новую модель.
Нужно ли уметь программировать?
Базовых знаний хватит: переменные, циклы, условия. Язык простой, а результат виден сразу в окне предпросмотра.
Моделирование и программы

Читайте также

Когда нет исходника: как править чужую 3D-модель перед печатью

Прислали STEP или STL без дерева построения, а деталь нужно подогнать? Для таких случаев придуман метод прямого моделирования: вы двигаете грани, а не переписываете историю операций.

Fusion 360 для 3D-печати: параметрическая модель, зазоры и экспорт

Fusion 360 любят за параметры: меняете одно число, и вся деталь перестраивается. Для печатных деталей это экономит дни. Разбираем рабочий порядок и что делать, если условия лицензии изменились.

3D-скан или замеры: как получить модель детали

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

Модель для рендера и модель для печати: что нужно переделать

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

САПР для 3D-печати: параметрическое и полигональное моделирование, форматы STEP, STL, 3MF

Для печати нужна не любая 3D-программа. Показываем разницу между параметрическим и полигональным моделированием и подсказываем, с чего начать.

Как создать 3D-модель вращением профиля для печати

Вазу, ножку стула, шахматную фигуру или ручку двери не нужно лепить вручную: достаточно нарисовать половину силуэта и провернуть её вокруг оси, как заготовку на токарном станке. Разбираем, как это делается и что проверить перед печатью.

Расчёт заказа

Пришлите модель, фото или идею

Посчитаем стоимость и срок в рабочее время — обычно в течение часа. Нет модели — сделаем по фото, эскизу или образцу.

  • Цена и срок — до запуска, расчёт бесплатный
  • Для серий — образец перед тиражом
  • Счёт и закрывающие документы для компаний
Тираж

Рассчитать заказ

Рассчитать заказ

  • Расчёт бесплатный
  • Ответ в течение часа
  • Счёт для компаний
Тираж

Несколько изделий? Соберите заказ из каталога — посчитаем всё одним счётом.

Ваш заказ

    Ориентир —

    Точную цену и срок назовём по файлу или фото — бесплатно.

    Оформить заказ →