Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Моделирование в OpenSCAD: на примерах

Покупка
Основная коллекция
Артикул: 674630.01.01
Доступ онлайн
от 400 ₽
В корзину
Учебное пособие является вводным курсом к изучению основ геометрического моделирования для 3D-печати с применением языка программирования OpenSCAD и построено на основе описаний инструкций по созданию примитивов, определению их свойств, проведению трансформаций и других сервисных операций. Содержит большое число примеров с подробными комментариями и описанием выполняемых действий, что позволяет получить базовые навыки по созданию трехмерных и плоских моделей, проведению экспорта и импорта графических данных. Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения. Может быть полезно учителям информатики, студентам, учащимся и всем, кто увлекается трехмерным моделированием и подготовкой изделий для 3D-печати.
Башкатов, А. М. Моделирование в OpenSCAD: на примерах : учебное пособие / А. М. Башкатов. — Москва : ИНФРА-М, 2020. — 333 с., [7] с. цв. ил. — (Высшее образование: Бакалавриат). - ISBN 978-5-16-013011-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/959073 (дата обращения: 09.12.2023). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МОДЕЛИРОВАНИЕ 
В OPENSCAD 

НА ПРИМЕРАХ

А.М. БАШКАТОВ

Рекомендовано Межрегиональным учебно-методическим советом профессионального 
образования в качестве учебного пособия для студентов 
высших учебных заведений, обучающихся по направлениям подготовки 
09.03.01 «Информатика и вычислительная техника»,
09.03.03 «Прикладная информатика», 
15.03.02 «Технологические машины и оборудование» 
(квалификация (степень) «бакалавр») (протокол № 15 от 14.10.2019)

Москва
ИНФРА-М
2020

УЧЕБНОЕ ПОСОБИЕ

УДК 004.94(075.8)
ББК 32.973.26-018.1я73
 
Б33

Р е ц е н з е н т ы:
Долгов Ю.А., доктор технических наук, профессор;
Федорченко С.Г., кандидат технических наук, доцент

ISBN 978-5-16-013011-8 (print)
ISBN 978-5-16-106515-0 (online)
© Башкатов А.М., 2019

Башкатов А.М.
Б33  
Моделирование в OpenSCAD: на примерах : учебное пособие / 
А.М. Башкатов. — Москва : ИНФРА-М, 2020. — 333 с., [7] с. цв. ил. — 
(Высшее образование: Бакалавриат). — DOI 10.12737/959073.

ISBN 978-5-16-013011-8 (print)
ISBN 978-5-16-106515-0 (online)
Учебное пособие является вводным курсом к изучению основ геометрического моделирования для 3D-печати с применением языка программирования OpenSCAD и построено на основе описаний инструкций по 
созданию примитивов, определению их свойств, проведению трансформаций и других сервисных операций. Содержит большое число примеров 
с подробными комментариями и описанием выполняемых действий, что 
позволяет получить базовые навыки по созданию трехмерных и плоских 
моделей, проведению экспорта и импорта графических данных.
Соответствует требованиям федеральных государственных образовательных стандартов высшего образования последнего поколения.
Может быть полезно учителям информатики, студентам, учащимся 
и всем, кто увлекается трехмерным моделированием и подготовкой изделий для 3D-печати.

УДК 004.94(075.8)
ББК 32.973.26-018.1я73

Предисловие

Одним из направлений, которое в наши дни активно обсуждается в интернет-сообществе, отечественных и зарубежных 
СМИ, является трехмерная печать (кратко — 3D-печать [7, 11]). 
Всплеск интереса к этой разработанной еще в середине XX в., 
но незаслуженно забытой технологии быстрого прототипирования прежде всего обусловлен ее широкими возможностями, 
которые возникли не случайно, а в связи с последними достижениями в области электроники и точной механики, усовершенствованием действующих технологий изготовления опытных образцов 
будущих изделий.
Получить задуманную деталь можно, удалив из заготовки материала «все лишнее» (используя так называемую subtractive технологию), что демонстрирует применение станков с числовым программным управлением (ЧПУ), или построив конструкцию путем 
добавления«порций» необходимого материала (применив additive 
технологию). Второй подход как раз и применяется в трехмерной 
печати.
Метод «выращивания» новых деталей на основе послойного 
осаждения материалов (англ. STereoLitography) предложенный 
Чарльзом Халлом, одним из основателей компании 3D Systems 
[16], еще в 1970-х гг., обладал несомненными достоинствами, предоставляя широкие возможности по созданию прототипа на основе 
полимеризации пластиков, но требовал серьезных затрат. Оборудование и расходные материалы были (да и остаются пока) довольно 
дорогими, что заметно ограничивало его массовое применение. Сам 
процесс шел длительно и был оправдан возможностью получить 
образец нового изделия, не прибегая к длительному циклу технологической подготовки производства.
Открытый в конце 1980-х гг. С. Скоттом Крампом процесс построения модели методом послойного наплавления (англ. Fused 
deposition modeling (FDM)) сделал трехмерную печать доступной 
экспериментаторам, школьникам [5, 7, 74]. Для этого нужно было 
лишь купить (или собрать самому) доступный 3D-принтер и «зарядить» в экструдер пруток термопластика — PLA, ABS, HIPS 
или любой другой [3], который мог использоваться при данной 
технологии, а затем, загрузив файл в формате *.stl, выполнить экструзию и послойное формирование модели вытекающим из экструдера расплавленным пластиком.

Разработчику требовалось только создать описание модели, которое должно было преобразоваться в набор так называемых кодов 
устройства 3D-печати. Практические же приемы реализации замысла могут быть различны: использование специализированного 
геометрического редактора для построения модели из графических 
примитивов, получение сканированного образа прототипа или создание описания модели на языке программирования [9].
Язык OpenSCAD [4, 34] предоставляет широкий набор 
инструмен тов для реализации моделирования именно программным 
путем. Изобретенный Мариусом Кинтелом и Клиффордом Вольфом 
в качестве бесплатной альтернативы существующим редакторам 
OpenSCAD изначально был ориентирован на создание трехмерных 
моделей, которые затем должны быть распечатаны на 3D-принтере. 
Язык стал популярным благодаря своей универсальности. Его легко 
осваивали и школьники, и люди преклонного возраста.
Однако при проведении курсов 3D-моделирования пришлось 
столкнуться с отсутствием учебников, справочников по данной тематике. Да, интернет изобилует советами и руководствами, где описывается все — начиная с азов и заканчивая примерами разработки 
серьезных приложений с помощью OpenSCAD. Многие разработчики показывают его применение для решения самых невероятных 
задач. Следует отдать должное авторам: в поставке с программой 
идет электронная документация. Но, во-первых, она англоязычная; 
во-вторых, подается с множеством ссылок, часто перекрестного 
характера; в-третьих, не всегда сопровождается необходимыми пояснениями. Все это создает формальные препятствия, проявляющиеся в необходимости подключения к интернету, попытках самостоятельного разбора не всегда понятного кода, что затрудняет его 
практическое применение, а потому и послужило мотивами к разработке предлагаемого пособия.
Теперь о том, что представляет собой данное издание.
На основе детального анализа зарубежных и отечественных 
источников наглядно и доступно представлены особенности программирования в OpenSCAD. Это делает процесс построения моделей творческим, увлекательным. Наличие подробных комментариев поясняет логику выполняемых действий, раскрывает возможности языка начиная с решения простых задач и переходя к более 
сложным. А главное, это попытка представить весь материал в виде 
структурированного пособия для самостоятельного изучения и закрепления знаний, что должно позволить даже новичку создавать 
программы, описывающие полезные модели разного уровня сложности.

Структура пособия следующая.
В главе «Основы 3D-моделирования и печати» приводятся 
краткие сведения о 3D-печати, ее разновидностях и базовых технологических принципах. Сообщается о сферах применения 
устройств трехмерной печати в современном мире. Приводится 
описание основных этапов наиболее популярного и доступного 
широким кругам экспериментаторов — метода послойного наплавления материала (FDM).
Глава «Программа OpenSCAD. Первые шаги» содержит описание 
ключевых приемов языка, базовых инструмен тов по созданию объемных форм и трансформаций с ними. Кроме перевода с английского языка справочных разделов OpenSCAD сюда включены примеры с авторскими моделями, объясняются основные конструкции 
языка, даются рекомендации и комментарии.
Создание сложных моделей сопряжено с выполнением расчетов, 
действие которых проясняется в главе «Расчеты в OpenSCAD». 
Здесь показано применение алгебраических, тригонометрических 
и других математических функций.
Глава «Функции и модули в OpenSCAD» раскрывает возможности по использованию наиболее мощных языковых средств — 
специализированных функций и подпрограмм (модулей). Также 
здесь рассматриваются средства для использования в OpenSCAD 
данных внешних файлов, включая операцию импорта.
Обязательным элементом практически любого языка, 
и OpenSCAD здесь не исключение, являются циклы. Кроме базовых 
сведений в главе «Циклы в OpenSCAD» читатель узнает о вариантах применения циклов с условием, ознакомится с примерами 
работы циклов со счетчиком и необходимыми действиями, которые 
должны быть выполнены для останова циклических операций.
В главе «Массивы и их применение в OpenSCAD» приведены 
примеры использования массивов в создании групповых элемен тов 
модели. Причем рассматриваются не только объемные формы, но и 
применение массивов для генерации плоских объектов.
Глава «Экструдирование» содержит описание приемов формообразования в результате вращения или перемещения по образующей заданного контура. При этом контур может быть создан как 
в самой программе OpenSCAD, так и взят из другого приложения. 
Здесь же указывается графические форматы, которые могут быть 
использованы при импорте контура.
Трудности, с которыми может столкнуться пользователь при создании кода OpenSCAD, приводятся в главе «Синтаксис записей, 
или соглашения по нотации». В прилагаемых примерах приведены 

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

Глава 1. 
ОСНОВЫ 3D-МОДЕЛИРОВАНИЯ И ПЕЧАТИ

1.1. МОДЕЛИРОВАНИЕ И 3D-ПЕЧАТЬ. КРАТКИЙ ОБЗОР 
СОВРЕМЕННЫХ ТЕХНОЛОГИЙ

Прежде всего стоит понять,  что есть моделирование и зачем оно 
применяется.
Моделирование — это процесс создания, работы с моделями 
(процессов, явлений, предметов), который требует изучения последних. На практике применяется как для построения моделей 
уже существующих объектов, так и для создания новых. Выделяют 
несколько этапов проведения, суть которых сводится к следующему.
Прежде всего — определение цели. В какой области будет выполняться моделирование и какая для этого требуется исходная 
информация? Что представляет собой реальный объект? Каковы 
его свойства? Ответив на эти вопросы, выделяют нужные сведения, 
а избыточную информацию блокируют. Для этого формируют 
списки критичных признаков и характеристик, задают уровень  оптимальной детализации (например, геометрии форм).
Затем следует выделить поведенческие свойства модели: ее 
функцио нальность, степень отражения нужных характеристик, 
возможность соответствовать представляемому прототипу/группе. 
При этом желательно планировать работу модели в различных 
условиях, которые могут быть созданы для реального объекта. Полученная информация позволит сформировать необходимую базу 
знаний.
Далее переходят к эксперименту (натурному, виртуальному), 
смысл которого — проверка полученных результатов, чтобы 
их можно было применить для оценки реального объекта (прототипа модели). При этом важно учитывать различия между моделью 
и объектом, чтобы внести необходимые корректировки в исходные 
данные.
Завершает процесс моделирования обобщение полученных сведений для их дальнейшего применения к другим объектам подобного класса, для разработки новых/корректировки существующих 
решений.

В ряде случаев моделирование может потребовать дополнительных операций: расчетов; выполнения серии итераций; смены 
параметров, системы координат, точности и т.д. Модель вследствие 
этого может видоизменяться, порой значительно, по сравнению 
с исходным вариантом, что вполне допустимо, поскольку приближает к поставленной цели.
Для проектировщиков при поиске оптимального решения и выявления возможностей часто требуется материализация модели. 
Реализовать ее позволяет трехмерная печать на основе реального 
прототипа или виртуального проекта. Обратимся к определениям.
3D-печать — получение трехмерной модели на специальном 
устройстве, 3D-принтере [7].
3D-принтер, в свою очередь, представляет периферийное 
устройство, использующее метод послойного создания 3D-модели 
по ее цифровому описанию. В зарубежной литературе данный тип 
устройств также именуют фабберами [3], а процесс трехмерной печати — быстрым прототипированием (Rapid Prototyping).
3D-печать может осуществляться разными способами и с использованием различных материалов [8], но в основе любого из них 
лежит принцип послойного создания (выращивания) твердого объекта, путем добавления материала (по это му все технологии этого 
направления называют аддитивными — от англ. add — добавлять) 
послойно.
Технологии создания слоев модели условно делят на два типа: 
лазерные и струйные. Они имеют ряд разновидностей.
Лазерная стереолитография (рис. 1.1) представляет технологию, где луч ультрафиолетового лазера попиксельно засвечивает 
жидкий фотополимерный композит, либо этот материал засвечивается через фотошаблон, меняющийся с каждым новым слоем. 
Жидкий полимер затвердевает, щетка удаляет лишнее и сетчатая 
платформа, на которой наращивается деталь, опускается на толщину полученного слоя (~ 0,1–0,2 мм) вниз.

Емкость 
с фотополимером

Подвижная сетчатая 
платформа
Смазывающеочистительная щетка

Рис. 1.1. Схема процесса стереолитографии

Лазерное сплавление (англ. melting) — технология, при которой 
лазер (рис. 1.2) сплавляет частицы порошка из металла или пла
стика, образуя слой за слоем тело детали [11]. Однако работа идет 
в среде инертного газа, что требует герметизации и усложняет процесс.

Лазер

Ракель
Окно

Деталь
Порошок
Инертный 
газ

Перемещение рабочей 
платформы по Z

Система 
сканирования X–Y

Рис. 1.2. Схема на основе лазерного сплавления [11]

Ламинирование — способ 3D-печати (рис. 1.3), при котором формирование детали происходит из набора слоев рабочего материала, 
где нужные слои выделяются при помощи лазера и затем склеиваются, соединяясь друг с другом согласно контурам [10]. Процесс 
этот довольно медленный.

Листовой 
материал

Лазер
Подогреваемый 
ролик

Зеркало
Лазерный луч
Оптическая головка

Рабочий слой
Контур детали и надрезы 
лишнего материала

Рулон с остатками 
материала
Рабочая платформа

Уложенные слои

Рулон

Рис. 1.3. Технология ламинирования материала [10]

Моделирование методом наплавления (англ. FDM) — в устройстве 
(рис. 1.4) через сопло экструдера выдавливаются послойно на основание струи разогретого термопластика. Каждый из полученных 
уровней застывает и сцепляется с соседними слоями, формируя 
деталь.

Направление 
движения 
материала

Нить поддерживающего материала
Нить основного материала
Экструдер
Подающие 
ролики
Нагреватели
Нагреватели
Печатающие 
сопла

Направление движения 
экструдера
Деталь
Поддержка, удаляется 
после выращивания

Направление 
передвижения 
платформы
Картридж с основным 
материалом

Картридж с поддерживающим материалом

Подогреваемая 
акриловая платформа

Каптон

Рис. 1.4. Схема FDM -печати [26]

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

Доступ онлайн
от 400 ₽
В корзину