Как сделать звезду в опенскад

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

3D печать: создание моделей с помощью OpenSCAD

У вас есть 3D принтер, и вам надоело распечатывать модели из интернета и хотите создать что-то свое? Замечательно! Сегодня существует ряд программ, позволяющих рисовать свои 3D модели. Одной из таких программ является OpenSCAD. Ее особенность заключается в том, что моделирование здесь скорее представляется программированием, нежели рисованием. Большое количество полезных моделей, в том числе детали для 3D принтеров RepRap, были спроектированы с помощью OpenSCAD.

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Этот материал не является полным руководством OpenSCAD, но прочитав его вы сможете создавать несложные детали самостоятельно.

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

В основе OpenSCAD лежит конструктивная блочная геометрия. Это метод моделирования, который для создания объектов наряду с основными логическими операциями использует базовые примитивы, например, сферу, куб, цилиндр. Как это происходит, лучше показать на примере. На картинке изображены два предмета, которые описываются нижеприведенным кодом. Он достаточно прост в понимании.

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Все просто! Мы создаем сферу с радиусом 10 и цилиндр с радиусом 5 и высотой 20. Затем перемещаем цилиндр на 15 единиц по осям x и y и на 10 единиц вниз по оси z. Далее мы можем объединить эти два геометрических примитива, воспользовавшись командой union().

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Помимо команды union в OpenSCAD есть еще как минимум две полезные команды. Первая из них – difference, позволяющая вычесть один объект из другого, а вторая – intersection, то есть пересечение. Вот пример команды difference:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Пример команды intersection:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

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

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Попробуем создать какую-нибудь стандартную инженерную деталь. В данном случае выбор пал на деталь из учебника по инженерной графики 1929 года издания. Книга хоть и стара, но христоматийна, именно по ней учились инженеры, проектировавшие космический корабль Аполлон. Посредством объединения нескольких цилиндров и кубов достаточно легко создать простую фигуру, которая станет основой для нашей конечной детали. Исходный код и рендер-результат представлены ниже.

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Здесь одна единица измерения равна одной восьмой дюйма, поскольку в именно такой системе приводятся размеры детали в учебнике. Перед печатью размеры в редакторе можно будет масштабировать как угодно. Для того, чтобы завершить создание основы нашей детали, нужно на фланце добавить несколько цилиндров. Потрясающая возможность, которую предоставляет OpenSCAD заключается в том, что можно создавать мелкие детали, а затем объединить их с помощью команды union. Ниже приведен код для цилиндров:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Поскольку программа OpenSCAD код-ориентированная, то мы можем вызвать этот модуль в нужном нам месте программы. Вот как выглядит деталь теперь:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

В конце нужно только добавить вырез размером 3/8″ в основании детали. В итоге полный код получится такой:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Вот так с помощью программы OpenSCAD, некоторых навыков программирования и пространственного изображения можно создавать свои собственные детали для печати на 3D принтере.

Источник

Подвешиваем CD-диск, или практический пример моделирования на базе OpenSCAD для 3д печати

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

В данной статье я бы хотел поделиться опытом использования бесплатной программы OpenSCAD, для 3д моделирования предоставленной на картинке фигурки.

Будет показан пошагово весь путь моделирования и готовая, напечатанная 3д деталька в конце.

С помощью этой детальки можно подвесить сд-диск на нитке. Пользы для человечества планеты не так много, но благодаря решению этой хобби-задачи я (впервые) попробовал OpenSCAD, и за пол-часа «с нуля» нарисовал 3д модель.

OpenSCAD — это бесплатная и открытая программа для 3д моделирования, но в отличие от других 3д программ, мышка в ней используется только лишь для просмотра готовой детали, а само рисование происходит на базе составленной программы на языке OpenSCAD.

Суть программы на языке OpenSCAD достаточно простая — в ней мы даем команды на рисование геометрических примитивов, над которыми мы можем выполнять операции вращения, перемещения, масштабирования. И плюсом к этому можем осуществлять «арифметические» команды над фигурами, например, сложение, вычитание.

Простая иллюстрация идеи:

И мы получим такой результат:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Установка OpenSCAD

Для установки — скачиваем версию для вашей ОС с официального сайта (http://www.openscad.org/). В данный момент версия от 03.2014.

После старта программы мы увидим 2 области:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Cлева — для ввода программы на языке OpenSCAD,
Cправа — результат отрисовки.

Для отрисовки программы надо нажать F5, для полноценного рендеринга — F6.

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

Hello World

Попробуем нарисовать куб: cube();

Пишем в левой, текстовой зоне (10 — это сторона куба):

Обратим внимание, что каждая строчка в программе заканчивается точкой с запятой.

Нажимаем F5, видим справа — куб — можем вращать его захватив мышкой, роликом увеличивать/уменьшать, и правая кнопка для перемещения точки просмотра.

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

И попробуем нарисовать сферу, команда: sphere(10)

Просматриваем результат F5:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Теперь добавим команда вычитания:

Команды пишутся как вызов функции, если параметров нет, то пустые скобки, и далее те объекты или объект к которым надо применить эту функцию.

Вот как будет выглядеть вычитание

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Основы думаю понятны.

Теперь вернемся к нашей основной задаче.

Моделирование подвеса

Чтобы CD-диск висел на нити, в горизонтальном положении:

Начнем с точки крепления нити, а точнее того, что находится между ней и основанием диска.

Моделирование крестовины

Я решил выполнить этот фрагмент в виде крестовины, которая вверх идет как усеченная пирамида.

Ок, в начале делаем крестовину.

Для этого рисуем два прямоугольный параллелепипеда, перпендикулярные друг другу.

Примечание: для простоты текста — буду называть «прямоугольный параллелепипеда» — «кубоид», то есть это вариация куба.

При рисовании фигур, по умолчанию они идут от центра, в положительные стороны осей X, Y, Z. Это можно увидеть в нашем первом примере — и куб был нарисован в положительной зоне (тогда как сфера изначально рисуется в центре координат).

Настал момент задуматься о размерах. Диаметр внутреннего отверстия CD-диска — 15 мм. Значит крестовина внизу должна быть не более 15 мм, для запаса возьмем 14 мм.

Первая часть крестовины:

Получилось:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Мы указали:
14 — это ширина «кубоида» — оно должно быть не больше 15 мм — внутреннего отверстия CD-ROM диска.
1 — толщина стенки,
15 — это высота «кубоида», т.к. он по центру Z, то в верхней части будет 15/2 = 7.5 мм — это будет высота до точки крепления.

Далее нам нужна вторая часть крестовины, для этого нам нужно тот же «кубоид» повернуть на 90 градусов, относительно оси Z.

Функция поворота выглядит как: rotate(a = deg, v = [x, y, z])

Где в параметрах функции указывается угол поворота (a), и вектор (v) относительно которого поворот совершается.

Вот так будет выглядеть программа:

И результат
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

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

Для этого мы можем нарисовать внизу куб, и вычесть его из нашей фигуры. Но куб будет нарисован в центре, нам необходимо сдвинуть его вниз.

Команда перемещения выглядит так: translate(v = [x, y, z])

Где в параметрах указывается вектор (v) на который необходимо сдвинуть объект (указанный в теле функции).

Куб рисуем со стороной 15 мм, и сдвигаем вниз на 15/2 мм (да можно указывать математические операции) — он оказывается полностью под плоскостью.

Вот обновленный код:

И вот результат:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Теперь применяем уже известную нам команду вычитания — нам надо вычесть из крестовины, куб. Но проблема — для вычитания нужно два объекта — у нас три — два «кубоида» (крестовина), и куб.

Получается следующий код (с объединением и вычитанием):

Результат
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Крестовина получилась, теперь надо сделать ее пирамидальной.

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

Но команды для рисования конуса нет в OpenSCAD.

Зато есть команда рисования цилиндра: cylinder(h = 10, r = 10, [r2 = 20,]);

где кроме базовых двух параметров (для получения цилиндра) — радиус основания [r] и высоты [f] есть третий [r2] — радиус вершины, с помощью которого можно нарисовать конус, если выставить в 0. Или усеченный конус — если выставить значение не равное радиусу основания.

Это то, что нам нужно.

Определимся с размерами, основание конуса в диаметре должно быть 14, то есть радиус 7. Высота 15/2 мм. Радиус верхнего основания пусть будет 1мм, сам размер будет 2мм, на нем мы разместим ушко для нити.

Мы будем рисовать конус в центре координат, поэтому надо будет поднять вверх на половину высоты (15/4).

Вот как он выглядит:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

И результат:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Обратим внимание, что из-за нарисованного конуса мы не видим, что внутри. В OpenSCAD, можно для режима просмотра делать выбранные фигуры полупрозрачные, для этого надо в начале строки, перед командой добавить «%».

И что получается:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Ок, теперь нам надо получить пересечение нашей крестовины и конуса.

Команда пересечения фигур: intersection()

Добавляем в наш код:

И получаем результат:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Стойка для крепления нити готова.

Дальше будет проще, рисуем ушко для нити.

Моделирование ушка для нити

Ушко — это будет маленькое колечко. Мы его создадим с помощью вычитания плоских цилиндров.

Для этого рисуем цилинд, высота которого будет равна толщине ушка, внутри него рисуем меньший цилиндр, и вычитаем из большего. Далее то что получилось поворачиваем на 90 градусов вокруг оси у, и поднимаем вверх на вершину нашей крестовины.

Вот этот фрагмент кода:

И результат
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Вот это в коде нашей программы:

И вот результат:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

То есть крепление для нити есть, теперь надо сделать основание для сд диска.

Основание для диска

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

Что такое Рафт?

Рафт (raft) это техническая подложка, которую генерирует программа для 3д печати, это способ повышения прилипания печатаемой 3д фигурки.

Вот так выглядит Рафт, по сути это сеточка внизу:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Рафт автоматически вычисляется согласно контуру основания фигуры, и делается отступ вокруг, как правило 5мм.

Нам как раз это и надо — подложка, слой под нашей фигуркой обеспечит опору для CD-диска.

Кольцо в основании

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

Рисуем два цилиндра, высотой 0.5 мм, внешний диаметром 14мм, то есть радиус 7 мм, внутренний радиусом 6.5 мм, и вычитаем — получим кольцо, поднимаем вверх на 0.25 (так как рисовали в центре координат).

Результат:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

И вот финальный код для рисования:

Системные переменные

Возможно отметили — что окружности получаются «угловатые», для увеличения количества сегментов для рисования окружностей, можно выставить параметр (в самом начале кода):

Тогда получится более красиво:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Генерация СТЛ

Печать

Теперь загружаем полученный STL в программу 3д печати, не забываем выставить опцию Raft в настройках (5 мм).

Так это выглядит в программе Cura:
Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

И стартуем на печать.

Результат

Вот деталька в действии:

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

В качестве заключения

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

Если вы не знаете где выполнить 3д печать в вашем городе, то можно сделать:

Скачать модель

Модельку и код можно скачать с Thingiverse.

Источник

Нужна помощь с OpenSCAD

. прошу за код сильно не пинайте, я только учусь.

font = ‘Bernard MT Condensed’;

text(text = str(text), font = font, size = 9.2);

text(text = str(text1), font = font, size = 8.2);

text(text = str(text2), font = font, size = 4.7);

Популярные вопросы

Вентиляторы

Добрый день, Господа.

Может кто в курсе. В ANYCUBIC i3 Mega четыре вентилятора известных размеров.

Изучаю Куру и так и не нашел чем она лучше Симплифая

Адаптивные слои? Ну при качественной печати особой разницы нет, а полчаса экономии погоды не делают.

Древовидные поддержки? Так танцу.

Зачем используют слово ‘3D’ при описании аддитивных технологий?

Ответы

Если я правильно понял, то как-то так

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

text1 = ‘TestText1’;
text2 = ‘TestText2’;
font = ‘Bernard MT Condensed’;

difference() <
$fn=100;
translate([-3,7,-3]) cylinder(h=3, d=8.5);
translate([-3,7,-3.1]) cylinder(h=3.2, d=4.5);
translate([-2,4,0]) cube([5,6,3]);
>
difference() <
difference() <
$fn=100;
minkowski()
<
translate([0,0,-3]) cube([65,14,3]);
cylinder(r=2,h=1.5);
>
$fn=100;
minkowski()
<
translate([1,1,0]) cube([50,12,2]);
cylinder(r=2,h=2);
>
$fn=100;
minkowski()
<
translate([48,1,0]) cube([16,12,2]);
cylinder(r=2,h=2);
>
>;

Как сделать звезду в опенскад. Смотреть фото Как сделать звезду в опенскад. Смотреть картинку Как сделать звезду в опенскад. Картинка про Как сделать звезду в опенскад. Фото Как сделать звезду в опенскад

text = ‘89171020301’;
text1 = ‘89171030201’;
font = ‘Bernard MT Condensed’;
$fn=72;

Это столько мучений ради прямоугольничка с текстом? О_о

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

Вот когда ваше ПО будет нативно под Линукс, вот тогда и будем поговорить.

Ну и вот такое https://www.thingiverse.com/thing:1464715 или такое https://www.thingiverse.com/thing:1464727 за день слабо?
Это делалось в OpenSCAD девятиклассником.

По крайней мере это делается не чз массив

А что именно тут можно сделать массивом?

Вот только почему-то, сколько работ из Компаса видел, у всех круги были не кругами, а восьмиугольниками.

Про некроссплатформенность Компаса, вы, почему-то тактично промолчали. А также про отсутствие обратной межверсионной совместимости. Этим грешат все проприетарные САПРы и КАДы.

А преимущество OpenSCAD, не только в кроссплатформенности и работе даже на слабом железе, куда тяжеловесные САПРы и КАДы даже не устанавливаются, а в параметрическом моделировании на выходе, особенно если распределение примитивов и точек в пространстве можно описать математическим выражением.
[IMG]https://upload.wikimedia.org/wikipedia/commons/0/04/Wavy_multicolor_object.jpg[/IMG]

И как написал товарисч ниже

Так сложилось, что написать программку мне проще, чем освоить КАДСАПР.

и работе даже на слабом железе, куда тяжеловесные САПРы и КАДы даже не устанавливаются

Компаса видел, у всех круги были не кругами, а восьмиугольниками.

Судя по разговорам школьников, в Компасе всё делается чз массив.

Каковы будут действия оператора Компаса?

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

особенно если распределение примитивов и точек в пространстве можно описать математическим выражением.

Про некроссплатформенность Компаса, вы, почему-то тактично промолчали.

И как написал товарисч ниже
Так сложилось, что написать программку мне проще, чем освоить КАДСАПР.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *