Как написать программу для 3д принтера

Приручаем динозавров, или как я писал свой собственный host controller для лаборатории 3D-печати

В этой статье я хочу рассказать о своем опыте разработки свободного ПО для управления 3D принтерами на Qt5, проблемах и особенностях общения с RepRap’ами и прочим радостям.

Результатом этого опыта стал RepRaptor — минималистичный свободный host-controller для 3D принтеров.

Всех интересующихся приглашаю под кат.

Немного предыстории

За последний год я сильно заинтересовался 3D печатью, и не просто 3D печатью, а ее свободной составляющей — проектом RepRap. Руководство ВУЗа поддержало начинания, и в течении этого года моими и единомышленников усилиями в МГТУ МИРЭА открылась лаборатория 3D печати.
Очень скоро возникла проблема — существующее в экосистеме ПО имело недостатки, которые сильно мешали работе. Поэтому было решено эти проблемы ликвидировать, создав свое ПО.

  • Они все написаны на интерпретируемых языках, открытие и разбор файлов занимают на слабом железе иногда и по 10 минут;
  • Те из них, что написаны на Mono еще и периодически падают, и обрекают кучу пластика на безвременную кончину (Виновато тут, скорее всего, не само Mono, а минимальное внимание к сборкам на ней от авторов);
  • В интерфейс вынесено мало кодов, зато встречается совсем уж избыточный функционал (прошу прощение за свой минимализм);

Почему Qt?

Как это все исправить? Довольно просто — написать хост на языке, который будет работать быстрее, и сделать его максимально простым. Сказано — сделано. Для разработки был выбран Qt, и не случайно. Этот замечательный фреймворк не только распространяется свободно, но и позволяет писать кроссплатформеные приложения без сопровождающей мультиплатформу в C++ боли, а так же не так давно периодически используемый мной QSerialPort стал официальной частью фреймворка.

Кроме того, я не знаю ни одной IDE, такой же быстрой и удобной для меня, как QtCreator.

Так как все окна, да и сам Ui в целом делался с помощью .ui файлов в WSIWYG редакторе Qt — я опущу все, связанное непосредственно с интерфейсом. Смотреть будем «под капот».

С чего начать, или как разговаривают принтеры

Общаться необходимо работать с целым зоопарком разнообразных плат (Melzi, RAMPS 1.4, Teensylu, Gen7 1.5.1 и т.д.), благо сообщество проекта RepRap уже давно определилось с протоколом и списком команд. Для общения с любой платой используется серийный порт и протокол G-code.

В своей лаборатории 3D печати мы с товарищами используем прошивку Repetier, которая, на ряду с прошивками Marlin и Teacup поддерживает большинство стандартных кодов.

Первое разочарование — протокол

Спецификация серийных портов RS-232 обширна и интересна, но, к сожалению редко где используется на полную. При эмуляции серийного порта по USB, очень часто к микроконтроллеру подключаются только линии TX и RX, отвечающие за передачу данных. Линии, такие как DTR (сброс при подключении), обычно не используются, и это печально.

  1. Принтер сообщает о простое строчкой wait;
  2. Хост отправляет команду G-Code, кончающуюся переносом строки;
  3. Принтер подтверждает прием команды строчкой Ok <номер строки>.

Выглядит это примерно так:

Где cs — вычисленная контрольная для строки.

Как правило кодогенераторы, преобразующие 3D модели в G-Code для печати контрольных сумм не генерируют, а оставляют это на усмотрение хоста.

У принтера есть буффер, размер которого в большинстве случаев составляет 16 команд.

Реализация протокола

Qt имеет отличную функцию для облегчения жизни разработчику — сигналы и слоты.
Сигнал — это новое для C++ понятие. Сигнал объявляется в классе подобно слоту:

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

Вызывается сигнал из любого метода родительского класса, и очень просто:

После такого вызова все слоты, присоединённые к этому сигналу будут вызваны при первой возможности в порядке присоединения, и им передастся значение 100.
Что такое слот? Коротко — это самый обычный метод, объявленный слотом

Соединяются сигнал со слотом тоже очень просто:

Есть и ограничение — у сигнала и слота обязательно должен совпадать передаваемый тип.

Учитывая сигналы и слоты можно очень легко написать асинхронный приемникпередатчик для связи по серийному порту.

Самая простая часть — чтение.

Для реализации связи по серийному порту используется упомянутый выше QSerialPort (экземпляр которого назовем «printer»), имеющий сигнал readyRead(), вызывающийся каждый раз, когда на порт приходит информация. Все что от нас требуется — это создать в своем классе слот, который мы и будем вызывать при появлении этого сигнала, соединить их, и ждать. Что же мы будем читать? Как уже описано выше, в первую очередь нас интересуют ответы ok и wait. Так как наш код исполняется асинхронно, а у принтера есть буфер — нам надо где-то сохранить колличество строчек ок, которые мы приняли, чтобы при отправлении знать, сколько мы можем отправить. Хранить их будет в переменной «readyRecieve».

Отлично, с приемом разобрались. А что у нас с отправкой? Вот тут и видим дефект протокола. Никакой аппаратной команды для обозначения готовности к приему данных у нас нет, а значит нету и соответствующего сигнала у нашего QSerialPort. Значит отправлять будем по таймеру. Таймер в Qt работает до безобразия просто и удобно — мы создаем экземпляр класса QTimer, соединяем его сигнал timeout() с нашим слотом, который будет выполнятся по этому таймеру, а после этого запускаем его — timer.start(ms). В последствии было выяснено, что в зависимости от производительности ПК оптимальный промежуток находится от 1 до 5 мс. Кстати, если указать таймеру промежуток 0, то выполнятся он будет как только у Qt появится свободная минутка.

Еще стоит упомянуть, что отправляем мы либо команду от пользователя, либо файл. Так как разбор файла сводится к заурядной загрузки файла в массив, а так же фильтровании линий целиком из комментариев (чтобы не отправлять лишнее на принтер и не захламлять память), я решил опустить эту часть. Массив строк из файла называется gcode.

Ну вот, с серийным портом разобрались? Еще нет. Еще нам надо отловить ошибки. Для этого вновь прибегнем к сигналам и слотам, на этот раз будем слушать сигнал error(SerialPort::SerialPortError error) от нашего экземпляра QSerialPort:

Неаккуратное обращение с принтером расстраивает динозаврика, %username%.

Делаем наш хост умнее

Выносим кнопки команд

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

Иконок пока нет, но они обязательно появятся в последующих релизах. Реализация большинства этих кнопок весьма простая:

Метод injectCommand, способ работы которого мы уже узнали ранее, в реализации отправщика кода тоже весьма прост:

Получаем дополнительные данные

RepRap — это суровый DIY. Настолько суровый, что случается всякое:

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


Под температуру определим отдельную группу элементов

Как же ее узнать? Во время нагрева, принтер перестает принимать команды, и вместо ok или wait начинает присылать температуру. Строка температуры выглядит так:

Читаемо для человека, но не очень удобно для разбора. В первых версиях я разбирал эту строку прямо в слоте, отвечающем за прием информации, но тесты показали, что разбор строки прямо в этом слоте слишком сильно замедляет работу программы. До последнего я пытался избежать работы с потоками, так как одна из главных причин, по которой RepRaptor был написан — быстродействие. Многопоточность отлично ускоряет работу софта на многоядерных системах, но у нас с железом было все не так радужно. Однако выбора не осталось — надо было перенести в отдельный поток либо разбор, либо само соединение. Было решено пойти на компромисс — перенести разбор в отдельный поток, и позволить пользователю отключить проверку температуры.

Как реализована многопоточность в Qt? Очень удобно. Есть несколько способов создать отдельный поток. Полноценный способ — создать поток с помощью QThread, но нам не нужен полноценный поток для простого разбора строки, так что будем использовать другой способ — передадим нашу функцию разбора вместе с аргументам объекту QFuture, и будем за ним следить. Делается это так — для начала нам необходимо создать экземпляр QFutureWatcher, класса, который следит за QFuture, и сообщает нам о его состоянии. Затем надо написать нашу функцию разбора. Так как функция может вернуть только одну переменную, я решил создать специальный тип для передачи температуры:

И функция разбора:

Теперь осталось только отдать эту функцию потоку при удобном случае (вставляем дополнительную проверку в автомат функции приема):

Осталось только создать слот, чтобы подключить к нему сигнал, передающий из QFutureWatcher результаты выполнения функции:

Вот и все, теперь каждый раз, когда принтер сообщает нам о температуре — мы разбираем эту строку и красиво отображаем ее в интерфейсе.

Проблема в том, что сам принтер ее присылает только во время нагрева, но мы можем его попросить прислать нам ее в любое другое время, отправив команду для проверки температуры M105. Отправлять ее будем по таймеру, при выполнении нескольких условий. Так же, как и ранее для функции отправки создаем новый таймер, и новый слот для подключения к его сигналу. На этот раз таймеру ставим значение побольше, например 1500мс:

Кто-то возможно скажет, что эти проверки излишние, но когда ты управляешь принтером с Asus EEEPC 900AX, и хочешь одновременно читать хабр — это необходимость.

Печать с SD карты

Очень многие типовые платы для 3D принтеров имеют встроенный слот для SD карты, или способ такой слот подключить. Такой метод печати является предпочтительным, так как в любой момент можно отключится от принтера и уйти, однако каждый раз вытаскивать SD карту зачастую лень, особенно если печатаешь много мелких деталей. Конечно, можно передать файл через серийный порт, но передача файла таким способом занимает едва ли меньше времени, чем сама печать.

  • Получать список файлов
  • Выбирать файл
  • Поставить файл на печать
  • Поставить печать на паузу
  • Сообщать о прогрессе

Каждый раз когда на хост будет приходить строка, с которой начинается список файлов на SD — будем открывать диалог со списком файлов. Для этого еще раз изменим наш приемник:

Флаг нужен, так как наш метод чтения вызывается для каждой строки.

За одно для открытия диалога будем посылать сигнал. Самому же себе. Да, соединять можно даже сигналы со слотами одного и того же объекта.

Слот, который мы подключаем к этому сигналу:

После этого надо перевести интерфейс в режим печати. Я сделал это путем введения дополнительного флага sdprinting. Статус печати с SD карты проверяется в схожей манере с температурой.

Софт — в массы

Как бы сильно я не любил GitHub — далеко не все любят собирать софт сами. Не смотря на кроссплатформенность Qt — это фреймворк, а не среда для кросс-компиляции. А это значит, помимо бинариков под платформу Linux-amd64 нужны еще бинарики под Linux-i386, Windows 32 и OSX 64. Что ж, с первыми двумя все просто — достаточно добавить нужные наборы в QtCreator. А как быть с Windows 32 и OSX 64? С последней — никак. Я пытался, но я умываю руки. Единственный способ собрать что-то под OSX — делать это на OSX. К сожалению, легально это сделать не возможно.

Debian и его пакеты

Очень хотелось собрать пакет под любимый Linux Mint, на котором и ведется разработка. По началу я хотел собрать пакеты для PPA, но в итоге пришел к тому, что собирать надо со статическими библиотеками Qt, а потому пакеты на первое время собирать пришлось руками. Почему статическая линковка? Все очень просто — даже в Ubuntu 14.04, на которой основан Mint в источниках имеется только Qt 5.2.1. В ходе тестов первых двух релизов на разных системах выявились баги QSerialPort, исправленные в новых версиях, а потому было принято решение поставлять все с последними версиями. К тому же, вики Qt говорит, что статически линкованые библиотеки несколько быстрее работают.

Руками пакет собирается весьма просто — он должен содержать дерево каталогов файловой системы Debian, в котором размещены все файлы, которые мы собираемся установить. Написав .desktop файл для того, чтобы получить пункт в меню на конечной системе, я написал небольшой bash скрипт для сборки нужной мне версии пакетов:

Все, что он делает — это создает дерево каталогов, копирует иконки и .desktop файл, а после этого генерирует описание пакета для пакетного менеджера, вставляя нужную версию.

Windows и MXE

Одно дело — собирать пакеты под свою ОС, другое дело — под чужую. Тут необходим тулчеин — набор инструментов для сборки. Благо под Windows есть отличный MinGW, а для Linux есть не менее отличный MXE — менеджер окружения для кросс-компиляции с использованием свободных библиотек.

Установка до смешного простая — клонируем MXE и говорим ему, какие нам библиотеки нужны:

После этого можно смело идти пить кофе — сборка всего этого добра занимает приличное время.

После того, как сборка окончена — можно написать скрипт сборки проекта под Windows автоматически:

Просто и сердито. Работоспособность легко проверяется в Wine:

Выводы

Когда я это начинал — я надеялся написать простую отправлялку G-code файлов, которая ничего больше бы не делала, а справится планировал за вечер. Но, как это часто бывает — проект вышел за рамки изначального плана, и теперь представляет из себя нечто большее. Впереди еще много чего предстоит сделать — хотя бы тот же графический редактор EEPROM, которого так не хватает, а так же поддержка контрольных сумм.

Однако уже сейчас RepRaptor позволяет мне спокойно использовать свой ASUS EEEPC как стабильный хост для принтера, чего не мог достичь ни один другой хост из тех, что я пробовал. Ну и знания Qt у меня определенно улучшились, и все равно еще есть место для оптимизаций.

Эта статья так же приурочена к выходу первой стабильной версии, которую я сам теперь использую каждый день — 0.2.

Программы для 3D печати и 3D принтера

Для того, чтобы получить любое изделие в 3 D нужно решить две задачи:

  • Создать математическое описание объекта – объёмную модель;
  • Объяснить устройству, как её печатать – в какой момент времени в какую точку добавить материал и как его отвердить.

Виды 3-х мерных объектов

  • Твердотельные;
  • Поверхностные – сеть.

Что такое слайсеры и зачем нужны?

Слайсеры и программы для работы с моделями для 3D принтера

Kissslicer

Одно из самых популярных средств для работы с печатью моделей. Есть платная и бесплатная версии. Платная отличается поддержкой нескольких сопел, облачным сервисом, библиотеками, большим количеством настроек, инструментов. Почти все платные опции нужны для аппаратов с несколькими соплами и построения сложных объектов. Нет больших возможностей по редактированию. Зато реализована функция непосредственного редактирования G-кода, что позволяет напрямую управлять всеми органами устройства. Бесплатная версия для любой операционной системы. На этой же странице можно перейти к платной профессиональной версии. Скачать Kissslicer (Бесплатная)

Одно из самых удобных и интуитивно понятных приложений от производителя 3D принтеров Ultimaker. Получила самое большое распространение – это самый популярный слайсер для 3D принтера. Кроме инструментов редактирования, настроек материала, опций печати, включён ряд удобных функций по расчёту количества материала и его стоимости, веса изделия. Имеет открытый код. Полностью бесплатная, обновляемая утилита. Скачать Cura (Бесплатная)

Slic3r

Один из наиболее универсальных и проработанных продуктов с точки зрения построения и редактирования G-кода для принтера. Есть настройки практически всех функций непосредственной печати, поддержку нескольких сопел и нескольких типов применяемых материалов. Реализована возможность редактирования G-кода пользователем. Скачать Slic3r (Бесплатная)

CraftWare

  • Работа с моделью;
  • Работа с поддержками и заполнением пустот;
  • Слайсер – нарезка модели для печати.

123D Catch

Это инструмент от Autodesk, который позволяет создать 3D объект из снимков камеры. Существует версия и для Android, позволяющая сделать из смартфона 3D сканер. В результате обработки снимков с различных ракурсов строится поверхностный объёмный объект в нескольких распространённых форматах 3D графики. Все операции проводятся в облачном сервисе с использованием электронной почты для получения конечного файла. Визуализация изделия происходит непосредственно в среде утилиты. Распространяется и поддерживается бесплатно. Скачать 123D Catch (Бесплатная)

3D Slash

Очень мощная облачная программа, позволяющая создавать, редактировать и печатать 3D объекты. Интуитивно понятный, интерактивный интерфейс хорошо воспринимается для использования всех функций. Кроме загрузки, создания, редактирования объектов реализованы все функции слайсера и управления печатью. Пожалуй, самая простая и универсальная программа для 3d принтера, позволяющая создавать и печатать различные предметы. Скачать 3D Slash (Бесплатная)

TinkerCAD

Полностью облачный сервис от Autodesk, который позволяет работать с 3D моделями, создавать их, редактировать, отправлять на печать. Существует очень большое количество сервисов и возможностей, функций построения и управления печатью. Это не самая функциональная утилита для управления принтером, так как изначально разрабатывалась для других прикладных станков, но эти функции постоянно развиваются разработчиком, увеличивается охват различных стандартов. Начало работы с сервисом на русском языке возможно после регистрации по этой ссылке . Там же предложен небольшой обучающий курс.

3DTin

Онлайн редактор для построения и редактирования сетевых 3D моделей. Очень простой, быстрый и интуитивно понятный. Не требует начальных навыков. Работает только в облаке. Позволяет создавать простые предметы с последующей их конвертацией в stl – файлы. Сервис представляет собой одну из свободно распространяемых CAD tools, работа с которыми возможна только после регистрации на https://www.tinkercad.com/ или сервере инструментов Autedesk http://formit360.autodesk.com/.

Blender 3D

Интересный трёхмерный редактор. Очень прост, но довольно функционален для построения различных изделий из большой библиотеки примитивов. Для редактирования есть набор удобных инструментов. Сохраняет файлы в большинстве используемых форматов, поэтому его часто используют в качестве конвертора. Изначально утилита была написана для объёмной анимации, но постоянные доработки и расширения сделали её вполне пригодной для конструирования деталей. Инструмент распространяется бесплатно, имеет открытый код. Скачать Blender 3D (Бесплатная)

Подведем итоги:

Перечень представленных инструментов совсем не полный – их уже существует намного больше. Появляются новые, а существующие очень быстро совершенствуются. Появляются интуитивно понятные возможности редактирования G -кода, простые способы редактирования поверхностных объектов, инструменты наглядного управления непосредственными функциями печати. Мы стоим на пороге технологического взлёта этой новой отрасли, внося свой посильный пользовательский вклад в её становление и совершенствование.

Топ бесплатных программ для 3D печати в 2021 году

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Топ бесплатных программ для 3D печати в 2021 году

Как подготовить 3D модель к печати или научиться создавать модели с нуля? Какое программное обеспечение лучше всего подходит для новичков? На все эти вопросы можно найти ответ в нашей статье. Представленные в обзоре приложения полностью бесплатны или имеют бесплатные версии для студентов, преподавателей и проектов с открытым исходным кодом.

Рабочий процесс 3D печати

Если вы стали счастливым обладателем 3D принтера, но совершенно не представляете, что с ним делать и как начать работу, тогда эта часть статьи для вас.

Для печати 3D моделей используются разные программы:

  • ПО для трехмерного моделирования/дизайна/САПР;
  • ПО для редактирования, просмотра и восстановления файлов STL;
  • Программы-слайсеры;
  • Хост 3D принтера.

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

Небольшой лайфхак для начинающих. Если вы не готовы создавать модель своими силами, выбрать и скачать подходящую можно с торговых площадок. В сообществах мейкеров есть также бесплатные ссылки для скачивания — иногда предложенные 3D модели могут быть не только интересны, но и полезны.

После создания 3D модели ее необходимо преобразовать в формат, подходящий для печати. Для настольных 3D принтеров это формат STL. Некоторые созданные или скачанные файлы имеют дефекты, которые ведут к сбоям во время печати. Именно для редактирования файлов STL есть специальной программное обеспечение, которое помогает подготовить модель к воспроизведению на принтере.

Программа слайсер помогает преобразовать STL файл в понятный для принтера G-код. Функционал таких программ позволяет разбить 3D модель на тысячи плоских 2D слоев, которые будут последовательно воспроизводиться на принтере.

И, наконец, хост 3D принтера обеспечивает связь между компьютером и принтером. Он позволяет получать информацию для печати, а также изменять параметры работы устройства в режиме реального времени через ПК. Часто Слайсер и хост объединены в одно ПО для 3D печати, которое поставляется производителем принтера.

Дорогие читатели портала 3DToday хотим вам сообщить, что у нас на сайте интернет-магазина LIDER-3D открылся новый раздел «База знаний». В данном разделе мы делимся совами, опытом, настройками и секретами мира аддитивных технологий, переходите в раздел по данной ссылке.

Лучшие слайсеры и хосты для 3D принтера

Топ бесплатных программ для 3D печати в 2021 годуОдна из популярных программ-слайсеров, которая поставляется вместе со всеми принтерами Ultimaker. Однако ее функционал подходит для использования совместно с другими 3D принтерами. Поскольку это ПО является одним из самых популярный среди мейкеров, можно не тратить время на настройки профиля — для большинства принтеров их можно найти в самой программе.

Софт предназначен для изменения важных настроек печати. Начните с режима “Recommended”,чтобы выбрать улучшенные параметры качества для принтера и легко адаптироваться в работе с программой.

Более точный контроль всех параметров возможен в пользовательском режиме “Custom”. Перейдя в этот режим вы сможете управлять более 400 разными настройками.

Cura — это не только простой и понятный слайсер для домашних пользователей. Софт можно использовать в качестве главного программного обеспечения для вашего принтера, а также интегрировать с САПР, например с SolidWorks или Siemens NX.

Программа постоянно обновляется и дополняется, что позволяет сделать 3D печать на вашем принтере более качественной.

PrusaSlicer

Топ бесплатных программ для 3D печати в 2021 годуЭто программное обеспечение основано на базе Slic3r и в отличие от прототипа завоевал большую популярность среди пользователей. Главным отличием является большой список настраиваемых параметров и дополнительные функции, делающие работу более удобной.

Удобный пользовательский интерфейс, встроенная поддержка принтеров Prusa и настройки для разных видов пластика помогают легко приступить к работе с 3D принтером. Также слайсер позволяет размещать дополнительные поддержки, работать с разными материалами и использовать плавные функции с переменной высотой слоя.

Слайсер PrusaSlicer можно использовать как для работы с FDM принтерами, так и с устройствами, печатающими смолами. Панели настроек для пользователей с разным опытом в 3D печати помогают значительно улучшить качество готовых моделей.

Отличный бонус для тех, кто до этого работал со Slic3r — PrusaSlicer поддерживает большинство исходных функций и принимает пакеты конфигурации Slic3r ри импорте профилей.

MatterControl 2.0

Топ бесплатных программ для 3D печати в 2021 годуMatterControl — это CAD программа для моделирования,слайсер и одновременной хост для 3D принтера. Благодаря функциям хоста вы можете напрямую контролировать печать при подключении принтера через USB. Также программа позволяет нарезать файлы формата STL для экспорта на SD-карту для автономной печати и конечно же, создавать проекты в отдельном разделе программного обеспечения САПР.

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

Расширенные настройки печати и удобная программа для просмотра делают это ПО одним из лучших для комплексного контроля процесса 3D печати. Кроме функций хоста и слайсера, MatterControl имеет инструменты для дизайна,которые позволяют проектировать детали. Полученные 3D модели легко экспортировать в слайсер и распечатать. Таким образом, программа позволяет контролировать весь процесс — от создания модели, до ее нарезки и отправки в печать.

3DPinterOS

Топ бесплатных программ для 3D печати в 2021 году3DPrinterOS — облачная программа для управления 3D принтером. Она сочетает в себе функции слайсера, хоста и редактора файлов STL. В программе можно создавать очередь на печать, управлять принтером и системой подключаемых модулей на основе приложений для анализа и восстановления данных STL, а также выполнять облачную нарезку.

Бесплатный пакет Starter позволяет пользователям загружать G-коды и отправлять их в печать, удаленно контролировать процесс печати и получать поддержку на форуме единомышленников. За умеренную плату можно получить доступ к дополнительным функциям, включая возможность совместной работы над проектом.

По сути эта программа является универсальным средством конвертации файлов для печати в формат STL. Именно поэтому 3DPrinterOS подходит для небольшого бизнеса, обучения, производства и дизайна.

KISSlicer

Топ бесплатных программ для 3D печати в 2021 годуАббревиатура этого приложения “Keep It Simple Slicer” может смутить неопытных пользователей. На самом деле это довольно сложный инструмент для 3D печати. Противоречивые отзывы пользователей тем не менее позволяют сделать вывод о том, что программа популярна и имеет достаточный функционал для работы с 3D принтерами.

Бесплатная версия программы подходит для большинства пользователей, которые работают на принтерах с одним экструдером. KISSlicer помогает упростить некоторые аспекты нарезки с помощью Profile Wizards для настроек конкретного принтера и Tuning Wizards для оптимизации материалов. Платная версия программы позволяет работать с принтерами с 2 экструдерами.

Хотя настройки приложения довольно сложны, но усилия того стоят — слайсер позволяет обеспечить полный контроль над всем процессом печати.

Slic3r

Топ бесплатных программ для 3D печати в 2021 годуЭто программное обеспечение предназначено для слайсеров с открытым исходным кодом. Его главное отличие — передовые функции, которые не встречаются больше ни в одном приложении.

Несмотря на то, что Slic3r почти не выпускает обновлений для своей программы, она является базовой для многих других ПО с открытым исходным кодом. Например, во многих программах используется трехмерное сотовое заполнение полостей, что является особой заслугой разработчиков Slic3r.

В 2018 году вышла новая версия софта с новыми интегрированными функциями. Так, в этой версии есть новые шаблоны заполнения, экспериментальная поддержка принтеров SLA и DLP, формат 3MF, а также печать через USB.

На сайте ПО можно найти подробное руководство, которое дает представление обо всех функциях Slic3r. Отличным бонусом программы является прямая интеграция с OctoPrint для печати одним нажатием кнопки.

SliceCrafter

Топ бесплатных программ для 3D печати в 2021 годуБраузерный слайсер от разработчиков IceSL.С помощью программы можно быстро загрузить STL файлы, нарезать их, а затем подготовить G-код к печати. В браузерной программе можно воспользоваться практически всеми опциями, которые предлагает IceSL.

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

IceSL

Топ бесплатных программ для 3D печати в 2021 годуПрограмма IceSL — отличный инструмент для 3D моделирования и печати. Несколько рабочих окон позволяют редактировать модель напрямую через скрипт на языке Lua, выбирать разные настройки для нарезки модели, а также просматривать полученный результат в режиме реального времени. Несмотря на кажущуюся сложность работы с ПО, IceSL дает возможность изящного параметрического моделирования.

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

OctoPrint

Топ бесплатных программ для 3D печати в 2021 годуЭта программа является хостом для 3D принтеров, который позволяет контролировать печать и менять настройки. ПО также дает возможность дистанционного управления принтером с помощью Wi-Fi модуля, подключенного к устройству.

OctoPrint принимает G-код практически от любого слайсера, при этом хост позволяет визуализировать полученные файлы до и во время печати. Кроме того, нарезку файлов можно осуществлять непосредственно в программе, используя ее в качестве слайсера.

OctoPrint предлагает не только широкий выбор инструментов для удаленного управления печатью, но и несколько способов отслеживания выполняемых задач. Вы можете настроить push-уведомления или отправку предупреждений через разные мессенджеры.

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

Repetier-Host

Топ бесплатных программ для 3D печати в 2021 годуЛюбимый хост разработчиков Rep-Rap — Repetier является высокопроизводительным программным обеспечением для управления печатью и подготовки файлов.

Repetier-Host позиционируется как универсальное ПО, которое помогает управлять принтерами с большим количеством экструдеров (до 16 экструдеров), а также поддерживает практически любой 3D принтер, представленный на рынке.

Программа имеет функции удаленного доступа через Repetier Server, что позволяет управлять своим принтером через браузер на ПК, планшете или смартфоне.

AstroPrint

Топ бесплатных программ для 3D печати в 2021 годуКак и 3DPrinterOS эта программа является облачным решением для контроля и управления вашими 3D принтерами. Также, с помощью AstroPrint можно менять настройки слайсера, управлять профилями принтера и материала. Бесплатная учетная запись позволяет сохранять информацию для печати, а также иметь доступ ко всем настройкам через браузер или мобильное приложение AstroPrint.

Это ПО уникально тем, что оно совместимо с Thingiverse и MyMiniFactory, а также с бесплатными версиями CAD программ, например с 3D Slash и Leopoly. Также у приложения есть инструменты для нарезки 3D моделей с возможностью отправлять файлы в печать со смартфона.

Софт будет полезен тем, кто работает в крупномасштабных сетях, таких как 3D фермы, предприятия и университеты.

Лучшее программное обеспечение для редактирования и восстановления файлов STL

3D-Tool Free Viewer

Топ бесплатных программ для 3D печати в 2021 году3D-Tool Free Viewer предназначена для поверки структурной целостности файлов STL и возможности печати документа на вашем принтере. Дополнительные функции, например “Поперечное сечение”позволяют также заглянуть внутрь 3D модели и оценить некоторые параметры.

Эта программа может быть полезна, если вы хотите проверить свой STL файл на наличие ошибок. Удобный интерфейс программного обеспечения позволяет измерить размер, площадь поверхности и объем всех частей фигуры, а также изменить расстояние, углы и радиус одним нажатием кнопки.

Для тех, кто не обладает достаточными познаниями и опытом в САПР, программа предлагает быстрый способ проверки STL файла и подготовки его к 3D печати.

MakePrintable

Топ бесплатных программ для 3D печати в 2021 годуЭтот полезный веб-сервис позволяет проверить файлы STL а наличие ошибок и исправить критические значения,которые могут повлиять на печать. В отличие от других бесплатных программ, MakePrintable дает возможность полного контроля процесса. Вы можете выбрать уровень качества печати, сделать сетку пустотелой, исправить количество полигонов и даже объединить несколько мишеней в одну.

Хотя программа больше не предлагает бесплатную версию с ограниченным функционалом, пользователи могут найти несколько вариантов использования программы. Программа имеет разные возможности оплаты — за единичную загрузку файла (около 2 долларов за файл) или пакет “Maker” с возможностью загружать до 30 файлов в месяц (ежемесячная цена около 15 долларов).

Преимуществом программы является совместимость плагинов с Blender и SketchUp.

Meshmixer

Топ бесплатных программ для 3D печати в 2021 годуПрограмма Meshmixer — это супер современное и бесплатное программное обеспечение из семейства Autodesk для 3D печати для просмотра, проверки, редактирования и восстановления STL файлов. Эта программа помогает выявить потенциальные проблемы и автоматически устранить их. Например, программа идентифицирует недостаточную толщину стенок.

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

Пытаетесь ли вы исправить STL файл,подготовить модель к печати или сконструировать несколько объектов — Meshmixer идеально подходит для всех этих целей.

MeshLab

Топ бесплатных программ для 3D печати в 2021 годуMeshLab — это приложение с открытым исходным кодом, которое позволяет редактировать файлы формата STL, а также имеет инструменты для работы с трехмерными треугольными сетками. Возможности софта помогают проверять, визуализировать, восстанавливать и преобразовывать сетки, и даже объединять модели в твердые тела и заделывать дыры.

Приложение отлично подходит для редактирования 3D моделей, созданных в САПР. Несмотря на то, что последняя версия была выпущена в 2016 году, программа по-прежнему пользуется популярностью у мейкеров.

NetFabb

Топ бесплатных программ для 3D печати в 2021 годуNetFabb — это программное обеспечение для нарезки, которое включает в себя дополнительные возможности анализа и восстановления файлов STL. Один из самых мощных инструментов NetFabb направлен на оптимизацию процесса для пользователей, предлагая возможность создания поддержек, восстановление сетки и широкий выбор инструментов генеративного дизайна.

Программа бесплатна для студентов,в рамках подписки Autodesk. Трехлетняя лицензия для учащихся позволяет выбрать одну из версий:

  • NetFabb Standard позволяет быстро подготовить модель к печати;
  • NetFabb Premium с расширенными возможностями для создания решеток, поддержек и автоматической упаковки деталей;
  • NetFabb Ultimate позволяет вычислить сбои в сборке, предоставляет инструменты для моделирования, настраиваемые стратегии траектории инструмента, а также помогает автоматизировать процесс подготовки модели к 3D печати;
  • NetFabb Simulation помогает моделировать определенные технологии печати металлом до начала производства.

Лучшее бесплатное программное обеспечение для 3D моделирования и 3D печати

О программах для 3D моделирования, в которых разберется даже новичок, мы писали в этой статье. Здесь представлены не менее полезные, простые в использовании, а главное, бесплатные программы для трехмерного моделирования и 3D печати.

3D Builder

Топ бесплатных программ для 3D печати в 2021 годуПриложение 3D Builder предлагает своим пользователям быстро визуализировать и редактировать 3D модели. Софт помогает создавать и импортировать файлы в форматах для трехмерной печати. Используя простые инструменты для редактирования, можно создавать трехмерные изображения даже пользователям начального уровня.

Приложение располагает собственной обширной библиотекой 3D моделей. Также можно загрузить внешний файл или использовать датчик Kinect V2 для сканирования и импорта нового 3D изображения. Присоединившись к сообществу 3D Builder и скачав SDK 3D Printing можно расширить возможности этой бесплатной программы.

Figuro

Топ бесплатных программ для 3D печати в 2021 годуЭтот браузерный софт для моделирования сочетает в себе доступность TinkerCAD и мощность более совершенных инструментов для 3D моделирования. Программа подойдет для тех, кто хочет улучшить свои навыки в проектировании, при этом не сильно углубляясь в детали.

Создание объектов в Figuro построено по принципу полигонального моделирования — вы генерируете многоугольники, изменяя их и объединяя друг с другом. Если вы пользуетесь программой впервые, рекомендуем использовать дополнительные инструменты проверки и восстановления файлов STL.

Программа имеет простой и приятный пользовательский интерфейс. Обширная галерея позволяет оценить возможности ПО и получить вдохновение на создание новых объектов.

Fusion 360

Топ бесплатных программ для 3D печати в 2021 годуFusion 360 — это профессиональная CAD программа для 3D моделирования. В отличие от других ПО, софт позволяет охватить весь процесс планирования, тестирования и трехмерного дизайна.

Программа имеет мощные инструменты для решения задач промышленного дизайна. Fusion 360 позволяет моделировать конструкцию проектируемых объектов а также нагрузки, с которыми они столкнутся после введения в эксплуатацию.

Возможность совместной работы над проектом, облачный обмен файлами и импорт/экспорт разных типов файлов САПР делает использование приложения комфортным.

Fusion 360 бесплатен для студентов, стартапов и любителей. При этом любительские проекты не должны быть коммерческими, доход стартапа не должен превышать 100000 долларов в год, а студенческая лицензия программы ограничена тремя годами.

FreeCAD

Топ бесплатных программ для 3D печати в 2021 годуМногофункциональное программное обеспечение САПР позволяет отлично развить дизайнерские навыки. ПО для параметрического моделирования создает модели в соответствии с заданными параметрами. Большим преимуществом является возможность перетаскивания и управления объектами непосредственно с помощью мыши.

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

FreeCAD позволяет пользователям рисовать 2D формы в качестве основы для создания дополнительных объектов. Программа подойдет для дизайна изделий, машиностроения, архитектуры и других областей.

OpenSCAD

Топ бесплатных программ для 3D печати в 2021 годуВ отличие от других представленных программ, OpenSCAD больше фокусируется на CAD аспекте 3D моделирования. Софт работает как 3D-камиллятор, который считывает файл сценария, описывающий 3D модель, а затем преобразует объект в 3D модель.

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

ПО не имеет интерактивных компонентов, зато помогает лучше контролировать процесс моделирования и управлять настройками параметров конструкции. OpenSCAD считается идеальным инструментом для студентов.

Blender

Топ бесплатных программ для 3D печати в 2021 году

Популярная программа автоматизированного проектирования САПР с крутой кривой обучения. Этот софт — не лучший выбор для новичка, но идеальна для тех, кто знаком с концепциями 3D моделирования и хочет создавать более сложные модели.

Последняя версия программы является более доступной. Так пользовательский интерфейс стал более удобным, а также появилось трехмерное окно просмотра. Расширенные дополнения Eevee, средство визуализации в реальном времени и Grease Pencil для 2D рисования и анимации значительно расширяют возможности программы.

Программа с открытым исходным кодом постоянно пополняется новыми функциональными решениями для комфортной работы.

OnShape

Топ бесплатных программ для 3D печати в 2021 годуOnShape — мощная браузерная программа для САПР, которая предназначена для профессиональных пользователей. Софт позволяет организовать совместную работу над проектом и хранить данные в облаке.

Программа предоставляет всем членам команды мгновенный доступ к одной и той же рабочей области САПР и одним и тем же данным в облаке. Дополнительная возможность управления основным дизайном без необходимости сохранять копии и отслеживать разные версии файлов делает работу по-настоящему удобной.

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

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

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

Источник: greenbiz.com

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

Содержание

Какие файлы необходимы для 3D-принтера?

Большинство фотополимерных 3D-принтеров распознают STL-файлы. STL — это формат файла, изначально разработанный компанией 3D Systems для печати предметов методом стереолитографии. STL-файлы описывают только геометрию поверхности трехмерного объекта без какого-либо представления о цвете, текстуре или других атрибутах модели. Слайсеры различных моделей 3D-принтеров поддерживают файлы распространенных форматов OBJ, 3DS, а также проприетарные (FORM, PLG).

Создать STL-файл трехмерной модели можно в CAD-программе или при помощи 3D-сканеров RangeVision, ручных 3D-сканеров Einscan и т.д. Не следует путать файлы STL и Gcode. Файлы STL содержат 3D-объект, а Gcode-файл — это составленный слайсером код управления 3D-принтером. Многие производители 3D-принтеров предоставляют тестовый файл в формате .gcode, чтобы пользователь мог сразу испытать новое оборудование. Но как поступить, если необходимо создать проект для 3D-принтера с нуля? Рассмотрим популярные программы, которые дают возможность разработать сложные предметы для разных методов 3D-печати.

Программы для 3D-моделирования

Готовить модели для 3D-печати можно в различных программах, предназначенных для работы с трехмерными объектами. Хотя принцип моделирования объектов во всех программах схожий, существуют различия в подходе к решению задач. Можно использовать профессиональные приложения для отрисовки 3D-рендеров (The Brush, Autodesk Maya и 3ds Max и другие), приложения для инженеров (Fusion 360, Autodesk Solidworks Blender, Компас 3D), а также существуют программы, которые оптимизированы для работы с небольшими 3D-объектами (Sketchup). Выбор ПО зависит от привычек пользователя, поскольку от особенностей интерфейса зависит удобство использования программы. Рассмотрим часто встречающиеся примеры ПО для 3D-моделирования. 

Видеоуроки по Fusion 360

Fusion 360 — это профессиональная многофункциональная программа, предназначенная в том числе для создания 3D-моделей для 3D-принтера. Несмотря на обширные возможности, интерфейс программы достаточно понятный. Более того, многие функции меню имеют визуальные подсказки, по которым легко ориентироваться. Программа Fusion 360 позволяет сразу конвертировать разработанную для 3D-печати модель в формат .STL, то есть получить готовый файл для печати. Одно из достоинств этого ПО — наличие условно-бесплатной версии.

На следующем видео показано, как в программе создать модель, на примере опоры-кронштейна для лампы:

В конце следующего длинного видеоролика показано, как на основе чертежа создать 3D-модель станины:

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

Достаточно сложный пример: проектирование кулона в виде Ленты Мёбиуса, процесс пошагово показан в 14-минутном видео:

Автор канала Make Anything опубликовал получасовой ролик о создании в Fusion 360 квадратной тарелки и высокой вазы. Бонусом автор прикрепил в описании к видео ссылку на готовые stl-файлы этих предметов.

В следующем видео показано, как в Fusion 360 спроектировать составную деталь с шарниром, на примере зажима:

Adafruit Industries сделали 18-минутное видео, в котором показали, как в Fusion 360 наносить объемный рисунок на боковые стенки предметов. В примерах показаны как повторяющиеся симметричные паттерны, так и сложные асимметричные узоры:

Видеоуроки по SolidWorks

Программа SolidWorks имеет русифицированный интерфейс, что может быть удобно, в частности, при создании обучающих курсов по 3D-печати в школах. Меню программы не перегружено пунктами. Разобраться в приложении достаточно просто даже начинающему специалисту.

В следующем примере показано, как спроектировать в SolidWorks переходник для колков гитары:

На видео ниже показано, как спроектировать в SolidWorks изогнутую трубу с фланцами:

Моделирование опорной детали для различных инструментов — тема следующего ролика:

Чтобы смоделировать болт с правильной аккуратной резьбой, необходимо знать несколько трюков в SolidWorks. На канале My Digi Pro объяснили, как выполнить работу быстро:

Если вам необходимо строить объекты сложной формы, вам поможет разобраться в программе большой получасовой видеоурок:

Создайте шестеренку сложной формы. Сделать это вам поможет короткий видеоролик:

Видеоуроки по Компас 3D

Компас 3D — это профессиональная программа для создания 3D-объектов любой сложности. Вероятно, из-за ориентации на профессиональное CAD-моделирование, интерфейс программы получился довольно сложным: с большим количеством пунктов меню и обширными возможностями для настройки.

Если вы только начинаете осваивать Компас 3D, потренируйтесь на моделировании обычного ящичка:

Модель гайки представлена на следующем видео:

Порядок моделирования зубчатого колеса с использованием чертежа:

Подгонка и сборка шарнирного соединения на 3D-модели показана в следующем видео:

Пример сравнительно сложной детали, винта кулера, показан в этом ролике: 

Видеоуроки по Blender

Blender — профессиональная программа, которая предназначена для создания сложных трехмерных объектов, в том числе анимированных. Интерфейс программы может показаться достаточно сложным для новичка, но в Интернете можно найти достаточно обучающих материалов по созданию 3D-моделей с ее помощью. Интерфейс программы русифицирован.

Начать освоение Blender можно с моделирования держателя полки (для фиксации на стене):

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

Еще один арт-объект, но на этот раз — абстрактная модель ламы. Отрисовка такой модели занимает существенно меньше времени:

Головной убор для косплея:

Подготовка файла Blender для 3D-печати, пример — серьги-секиры:

Создание 3D-модели осевого держателя на основе чертежа:

Крючок с креплением для стенда с инструментами:

Создание модели сундучка с нуля:

Конвертация чертежей онлайн

В последние годы на рынке появляются и альтернативные методы 3D-моделирования. Например, немецкая компания CAD Schroer разработала комплекс из компьютерной программы MEDUSA4 Personal и онлайн-платформы CSG eSERVICES, которые позволяют превратить чертеж в трехмерный объект с сохранением в STL-файл. В десктопном ПО MEDUSA4 Personal пользователь открывает файл с двухмерным чертежом и запускает через пункт меню Model Reconstruct моделирование 3D-объекта. Сохраненный трехмерный объект в MOD-файле необходимо конвертировать онлайн в STL-файл. Единственным недостатком сервиса является оплата за каждую конверсию поштучно.

Ошибки, которые необходимо предотвратить при 3D-моделировании

Начинающие пользователи обычно приобретают FDM- или SLA/LCD-принтеры начального уровня. В FDM для печати используется пластиковый филамент. В SLA и LCD, фотополимерных технологиях печати — жидкая фотополимерная смола. FDM-принтеры доступнее, а фотополимерные принтеры позволяют создавать гораздо более сложные и детализированные объекты. Рассмотрим самые распространенные ошибки, совершаемые пользователями при подготовке модели к печати.

Добавление поддержки

При создании сложного объекта следует учесть, что участки модели, которые “висят в воздухе”, не могут быть напечатаны без создания поддержек. Поддержки — печатающиеся вместе с моделью опорные конструкции, которые удаляются после завершения печати. Во многих программах поддержки можно создавать автоматически и изменять вручную.

Фото: thingiverse.com

При использовании FDM-принтера с двумя экструдерами поддержки можно печатать из растворимого материала, например — поддержки из HIPS с деталью из ABS, поддержки из PVA с деталью из PLA. Такие поддержки легко удаляются с помощью растворителя, без риска повредить модель в процессе ее очистки от них.

Толщина стенок, диаметр отверстий

При создании легкого ажурного объекта пользователь может ошибиться и создать слишком маленькие отверстия, либо слишком тонкие стенки изделия, которые принтер не сможет воспроизвести корректно. Данная ошибка в большей степени характерна для FDM-моделей, однако и при работе с фотополимерными необходимо учитывать рекомендованные производителем параметры стенок и отверстий.
Мы рекомендуем моделировать стенки объектов с толщиной не менее двух диаметров сопла, для FDM-принтера, а для фотополимерных — не менее полмиллиметра.

Итоги

Как видно из приведенных примеров, процесс моделирования 3D-детали для печати на 3D-принтере легко освоить без прохождения длительных дорогостоящих курсов. В современной информационной среде достаточное количество бесплатных и, что важно — весьма содержательных и простых для понимания обучающих видео. Также в самообразовании может помочь чтение тематических форумов, участие в сообществах 3D-печатников, где принято помогать новичкам и объяснять неочевидные и сложные нюансы.

Узнайте больше о возможностях усовершенствовать ваше производство интеграцией нового оборудования:

Время на прочтение
15 мин

Количество просмотров 19K

В этой статье я хочу рассказать о своем опыте разработки свободного ПО для управления 3D принтерами на Qt5, проблемах и особенностях общения с RepRap’ами и прочим радостям.

Результатом этого опыта стал RepRaptor — минималистичный свободный host-controller для 3D принтеров.

Всех интересующихся приглашаю под кат.

Немного предыстории

За последний год я сильно заинтересовался 3D печатью, и не просто 3D печатью, а ее свободной составляющей — проектом RepRap. Руководство ВУЗа поддержало начинания, и в течении этого года моими и единомышленников усилиями в МГТУ МИРЭА открылась лаборатория 3D печати.
Очень скоро возникла проблема — существующее в экосистеме ПО имело недостатки, которые сильно мешали работе. Поэтому было решено эти проблемы ликвидировать, создав свое ПО.

Чтобы не обидеть ненароком авторов имеющегося ПО, не буду тыкать пальцем, тем более проблемы у целого ряда свободного ПО для 3D печати общие:

  • Они все написаны на интерпретируемых языках, открытие и разбор файлов занимают на слабом железе иногда и по 10 минут;
  • Те из них, что написаны на Mono еще и периодически падают, и обрекают кучу пластика на безвременную кончину (Виновато тут, скорее всего, не само Mono, а минимальное внимание к сборкам на ней от авторов);
  • В интерфейс вынесено мало кодов, зато встречается совсем уж избыточный функционал (прошу прощение за свой минимализм);

Почему Qt?

Как это все исправить? Довольно просто — написать хост на языке, который будет работать быстрее, и сделать его максимально простым. Сказано — сделано. Для разработки был выбран Qt, и не случайно. Этот замечательный фреймворк не только распространяется свободно, но и позволяет писать кроссплатформеные приложения без сопровождающей мультиплатформу в C++ боли, а так же не так давно периодически используемый мной QSerialPort стал официальной частью фреймворка.

Кроме того, я не знаю ни одной IDE, такой же быстрой и удобной для меня, как QtCreator.

Так как все окна, да и сам Ui в целом делался с помощью .ui файлов в WSIWYG редакторе Qt — я опущу все, связанное непосредственно с интерфейсом. Смотреть будем «под капот».

С чего начать, или как разговаривают принтеры

Общаться необходимо работать с целым зоопарком разнообразных плат (Melzi, RAMPS 1.4, Teensylu, Gen7 1.5.1 и т.д.), благо сообщество проекта RepRap уже давно определилось с протоколом и списком команд. Для общения с любой платой используется серийный порт и протокол G-code.

В своей лаборатории 3D печати мы с товарищами используем прошивку Repetier, которая, на ряду с прошивками Marlin и Teacup поддерживает большинство стандартных кодов.

Первое разочарование — протокол

Спецификация серийных портов RS-232 обширна и интересна, но, к сожалению редко где используется на полную. При эмуляции серийного порта по USB, очень часто к микроконтроллеру подключаются только линии TX и RX, отвечающие за передачу данных. Линии, такие как DTR (сброс при подключении), обычно не используются, и это печально.

Вместо аппаратного контроля за передачей данных RepRap-совместимые принтеры используют очень простой протокол, организованный по принципу PingPong:

  1. Принтер сообщает о простое строчкой wait;
  2. Хост отправляет команду G-Code, кончающуюся переносом строки;
  3. Принтер подтверждает прием команды строчкой Ok <номер строки>.

Выглядит это примерно так:

wait
G1 X10 Y10 Z10
ok 0
G1 X20 Y5 Z3
ok 0

Обратили внимание на 0 после «ok»? Это — номер строчки. При желании можно использовать контрольную сумму и номер строки при
отправке команд на принтер:

N1 G1 X10 Y10 Z10 *cs
ok 1
N2 G1 X20 Y5 Z3 *cs
ok 2

Где cs — вычисленная контрольная для строки.

Как правило кодогенераторы, преобразующие 3D модели в G-Code для печати контрольных сумм не генерируют, а оставляют это на усмотрение хоста.

У принтера есть буффер, размер которого в большинстве случаев составляет 16 команд.

Реализация протокола

Qt имеет отличную функцию для облегчения жизни разработчику — сигналы и слоты.
Сигнал — это новое для C++ понятие. Сигнал объявляется в классе подобно слоту:

class Example : public QObject
{
    Q_OBJECT
    public:
        Example();

    signals:
         void exampleSignal(int);
} 

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

Вызывается сигнал из любого метода родительского класса, и очень просто:

emit exampleSignal(100);

После такого вызова все слоты, присоединённые к этому сигналу будут вызваны при первой возможности в порядке присоединения, и им передастся значение 100.
Что такое слот? Коротко — это самый обычный метод, объявленный слотом

class Example2 : public QObject
{
    Q_OBJECT
    public:
        Example();

    public slots:
         void exampleSlot(int);
} 

Соединяются сигнал со слотом тоже очень просто:

Example e1;
Example2 e2;
connect(&e1, SIGNAL(exampleSignal(int)), &e2, SLOT(exampleSlot(int)));

Есть и ограничение — у сигнала и слота обязательно должен совпадать передаваемый тип.

Учитывая сигналы и слоты можно очень легко написать асинхронный приемникпередатчик для связи по серийному порту.

Самая простая часть — чтение.

Для реализации связи по серийному порту используется упомянутый выше QSerialPort (экземпляр которого назовем «printer»), имеющий сигнал readyRead(), вызывающийся каждый раз, когда на порт приходит информация. Все что от нас требуется — это создать в своем классе слот, который мы и будем вызывать при появлении этого сигнала, соединить их, и ждать. Что же мы будем читать? Как уже описано выше, в первую очередь нас интересуют ответы ok и wait. Так как наш код исполняется асинхронно, а у принтера есть буфер — нам надо где-то сохранить колличество строчек ок, которые мы приняли, чтобы при отправлении знать, сколько мы можем отправить. Хранить их будет в переменной «readyRecieve».

Слот:

void MainWindow::readSerial() 
{
    if(printer.canReadLine()) //На всякий случай проверяем, есть ли линия в буффере
    {
        QByteArray data = printer.readLine(); //Читаем пришедшую строку

        if(data.startsWith("ok")) readyRecieve++;  //Можно отправить еще одну строчку
        else if(data.startsWith("wait")) readyRecieve = 1; //А вот это значит, что принтер в простое - отправляем только 1 команду

        printMsg(QString(data)); //Покажем пользователю, что мы получили от принтера
    }
}

Отлично, с приемом разобрались. А что у нас с отправкой? Вот тут и видим дефект протокола. Никакой аппаратной команды для обозначения готовности к приему данных у нас нет, а значит нету и соответствующего сигнала у нашего QSerialPort. Значит отправлять будем по таймеру. Таймер в Qt работает до безобразия просто и удобно — мы создаем экземпляр класса QTimer, соединяем его сигнал timeout() с нашим слотом, который будет выполнятся по этому таймеру, а после этого запускаем его — timer.start(ms). В последствии было выяснено, что в зависимости от производительности ПК оптимальный промежуток находится от 1 до 5 мс. Кстати, если указать таймеру промежуток 0, то выполнятся он будет как только у Qt появится свободная минутка.

Еще стоит упомянуть, что отправляем мы либо команду от пользователя, либо файл. Так как разбор файла сводится к заурядной загрузки файла в массив, а так же фильтровании линий целиком из комментариев (чтобы не отправлять лишнее на принтер и не захламлять память), я решил опустить эту часть. Массив строк из файла называется gcode.

Реализация отправки:

void MainWindow::sendNext()
{
    if(injectingCommand && printer.isWritable() && readyRecieve > 0) //Пытаемся вклинить команду от пользователя
    {
        sendLine(userCommand); //отправляем в порт (userCommand и флаг injectingCommand служат для вставки команды от пользователя)
        readyRecieve--; //уменьшаем колличество строчек, которые принтер готов принять
        injectingCommand=false; //уже вклинили команду, так что флаг стоит опустить
        return; //обрываем наш отправщик
    }
    else if(sending && !paused && readyRecieve > 0 && !sdprinting && printer.isWritable()) //Проверяем, отправляем ли мы сейчас файл
    {
        if(currentLine >= gcode.size()) //Не кончился ли файл
        {
            sending = false; //Ну рас уж кончился - то мы его уже не отправляем
            currentLine = 0; //Обнуляем счетчик отправленых из файла линий
            ui->sendBtn->setText("Send"); //обновляем интерфейс
            ui->pauseBtn->setDisabled("true"); //обновляем интерфейс
            ui->filelines->setText(QString::number(gcode.size()) //обновляем интерфейс
                                   + QString("/")
                                   + QString::number(currentLine)
                                   + QString(" Lines"));
            return; //обрываем функцию отправки
        }
        sendLine(gcode.at(currentLine)); //если файл не кончился - отправляем следующую линию
        currentLine++; //Увеличиваем счетчик отправленых из файла линий
        readyRecieve--; //Уменьшаем счетчик команд

        ui->filelines->setText(QString::number(gcode.size()) //Обновляем счетчик линий в интерфейсе
                               + QString("/")
                               + QString::number(currentLine)
                               + QString(" Lines"));
        ui->progressBar->setValue(((float)currentLine/gcode.size()) * 100); //обновляем полоску 
    }
}

Ну вот, с серийным портом разобрались? Еще нет. Еще нам надо отловить ошибки. Для этого вновь прибегнем к сигналам и слотам, на этот раз будем слушать сигнал error(SerialPort::SerialPortError error) от нашего экземпляра QSerialPort:

void MainWindow::serialError(QSerialPort::SerialPortError error)
{
    if(error == QSerialPort::NoError) return; //Нет ошибки - нет проблем

    if(printer.isOpen()) printer.close(); //Ну а если сюда дело дошло - не плохо бы закрыть порт, если он еще открыт

    if(sending) paused = true; //Если что-то отправляем на принтер - поставим на паузу отправку

    ui->connectBtn->setText("Connect"); //Обновим интерфейс
    ui->sendBtn->setDisabled(true); //Обновим интерфейс
    ui->pauseBtn->setDisabled(true); //Обновим интерфейс
    ui->controlBox->setDisabled(true); //Обновим интерфейс
    ui->consoleGroup->setDisabled(true); //Обновим интерфейс

    qDebug() << error; //На всякий случай отправим ошибку в консоль

    QString errorMsg; //Переведем нашу ошибку на понятный язык
    switch(error)
    {
    case QSerialPort::DeviceNotFoundError:
        errorMsg = "Device not found";
        break;

    case QSerialPort::PermissionError:
        errorMsg = "Insufficient permissionsnAlready opened?";
        break;

    case QSerialPort::OpenError:
        errorMsg = "Cant open portnAlready opened?";
        break;

    case QSerialPort::TimeoutError:
        errorMsg = "Serial connection timed out";
        break;

    case QSerialPort::WriteError:
    case QSerialPort::ReadError:
        errorMsg = "I/O Error";
        break;

    case QSerialPort::ResourceError:
        errorMsg = "Disconnected";
        break;

    default:
        errorMsg = "Unknown errornSomething went wrong";
        break;
    }

    ErrorWindow errorwindow(this, errorMsg); //И покажем окошко с ошибкой
    errorwindow.exec();
}

Неаккуратное обращение с принтером расстраивает динозаврика, %username%.

Делаем наш хост умнее

Выносим кнопки команд

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

Иконок пока нет, но они обязательно появятся в последующих релизах. Реализация большинства этих кнопок весьма простая:

void MainWindow::homeall()
{
    injectCommand("G28");
}

Метод injectCommand, способ работы которого мы уже узнали ранее, в реализации отправщика кода тоже весьма прост:

void MainWindow::injectCommand(QString command)
{
    injectingCommand = true; //Поставим флаг вставки команды 
    userCommand = command; //Запомним команду
}

Получаем дополнительные данные

RepRap — это суровый DIY. Настолько суровый, что случается всякое:

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


Под температуру определим отдельную группу элементов

Как же ее узнать? Во время нагрева, принтер перестает принимать команды, и вместо ok или wait начинает присылать температуру. Строка температуры выглядит так:

T:196.94 /210 B:23.19 /0 B@:0 @:4

Читаемо для человека, но не очень удобно для разбора. В первых версиях я разбирал эту строку прямо в слоте, отвечающем за прием информации, но тесты показали, что разбор строки прямо в этом слоте слишком сильно замедляет работу программы. До последнего я пытался избежать работы с потоками, так как одна из главных причин, по которой RepRaptor был написан — быстродействие. Многопоточность отлично ускоряет работу софта на многоядерных системах, но у нас с железом было все не так радужно. Однако выбора не осталось — надо было перенести в отдельный поток либо разбор, либо само соединение. Было решено пойти на компромисс — перенести разбор в отдельный поток, и позволить пользователю отключить проверку температуры.

Как реализована многопоточность в Qt? Очень удобно. Есть несколько способов создать отдельный поток. Полноценный способ — создать поток с помощью QThread, но нам не нужен полноценный поток для простого разбора строки, так что будем использовать другой способ — передадим нашу функцию разбора вместе с аргументам объекту QFuture, и будем за ним следить. Делается это так — для начала нам необходимо создать экземпляр QFutureWatcher, класса, который следит за QFuture, и сообщает нам о его состоянии. Затем надо написать нашу функцию разбора. Так как функция может вернуть только одну переменную, я решил создать специальный тип для передачи температуры:

typedef struct
{
    double e, b;
} TemperatureReadings;

И функция разбора:

TemperatureReadings MainWindow::parseStatus(QByteArray data)
{
    QString extmp = ""; // Подготовим строку для температуры экструдера
    QString btmp = ""; // Подготовим строку для температуры кровати

    for(int i = 2; data.at(i) != '/'; i++) //Считываем температуру экструдера
    {
        extmp+=data.at(i);
    }
    for(int i = data.indexOf("B:")+2; data.at(i) != '/'; i++) //Считываем температуру кровати
    {
        btmp+=data.at(i);
    }

    TemperatureReadings t;
    t.e = extmp.toDouble(); //Переводим строки в числа
    t.b = btmp.toDouble(); 

    return t; //Возвращаем температуру
}

Теперь осталось только отдать эту функцию потоку при удобном случае (вставляем дополнительную проверку в автомат функции приема):

//....
else if(checkingTemperature && data.startsWith("T:")) // Определяем, температура ли это
        {
            QFuture<TemperatureReadings> parseThread = QtConcurrent::run(this, &MainWindow::parseStatus, data); //Создаем объект QFuture (QtConcurrent::run создает экземпляр QFuture из метода parseStatus)
            statusWatcher.setFuture(parseThread); //Передаем наш объект QFuture наблюдателю
            ui->tempLine->setText(data); //Продублируем строку в интерфейсе
        }
//...

Осталось только создать слот, чтобы подключить к нему сигнал, передающий из QFutureWatcher результаты выполнения функции:

void MainWindow::updateStatus()
{
    TemperatureReadings r = statusWatcher.future().result(); //Получаем результат из потока
    ui->extruderlcd->display(r.e); //Обновляем интерфейс
    ui->bedlcd->display(r.b); 

    sinceLastTemp.restart(); //Перезапускам таймер последнего снятия температуры
}

Вот и все, теперь каждый раз, когда принтер сообщает нам о температуре — мы разбираем эту строку и красиво отображаем ее в интерфейсе.

Проблема в том, что сам принтер ее присылает только во время нагрева, но мы можем его попросить прислать нам ее в любое другое время, отправив команду для проверки температуры M105. Отправлять ее будем по таймеру, при выполнении нескольких условий. Так же, как и ранее для функции отправки создаем новый таймер, и новый слот для подключения к его сигналу. На этот раз таймеру ставим значение побольше, например 1500мс:

void MainWindow::checkStatus()
{
    if(checkingTemperature && //Если проверяем температуру....
            (sinceLastTemp.elapsed() > statusTimer.interval()) //И последний раз ее получили не раньше, чем задано
            && statusWatcher.isFinished()) injectCommand("M105"); //И если наш поток уже закончил, тогда отправляем команду M105
}

Кто-то возможно скажет, что эти проверки излишние, но когда ты управляешь принтером с Asus EEEPC 900AX, и хочешь одновременно читать хабр — это необходимость.

Печать с SD карты

Очень многие типовые платы для 3D принтеров имеют встроенный слот для SD карты, или способ такой слот подключить. Такой метод печати является предпочтительным, так как в любой момент можно отключится от принтера и уйти, однако каждый раз вытаскивать SD карту зачастую лень, особенно если печатаешь много мелких деталей. Конечно, можно передать файл через серийный порт, но передача файла таким способом занимает едва ли меньше времени, чем сама печать.

В любом случае, хост должен уметь работать с SD картой, а это значит:

  • Получать список файлов
  • Выбирать файл
  • Поставить файл на печать
  • Поставить печать на паузу
  • Сообщать о прогрессе

А это значит — больше парсинга! Но на этот раз, опрашивая список файлов мы можем не волноваться о производительности — в этот момент она не важна. Для отображения списка файлов нам понадобится диалог. В диалог мы будем передавать массив строк с файлами, а он нам вернет один файл, а заодно скажет нашей программе, что она в режиме печати с SD.

Каждый раз когда на хост будет приходить строка, с которой начинается список файлов на SD — будем открывать диалог со списком файлов. Для этого еще раз изменим наш приемник:

//...	
	if(readingFiles) //Если читаем файлы
        {
            if(!data.contains("End file list")) sdFiles.append(data); //Если список не кончился - добавляем строчку в список файлов
            else
            {
                readingFiles = false; //Если кончился список 
                emit sdReady(); //Отправим сигнал о готовности списка файлов
            }
        }
//...
	else if(data.startsWith("Done")) sdprinting = false; //Если получили Done - печать с SD окончена
	else if(data.startsWith("SD printing byte") && sdWatcher.isFinished()) //Разберем статус SD печати
	{
    	QFuture<double> parseSDThread = QtConcurrent::run(this, &MainWindow::parseSDStatus, data); //Скормим строку потоку с парсером
        sdWatcher.setFuture(parseSDThread); //Следим за потоком
    }
    else if(data.contains("Begin file list")) //Список файлов с SD карты
    {
         sdFiles.clear(); Очистим массив файлов
         readingFiles = true; //Поставим флаг, идет получение файлов
    }
//...

Флаг нужен, так как наш метод чтения вызывается для каждой строки.

За одно для открытия диалога будем посылать сигнал. Самому же себе. Да, соединять можно даже сигналы со слотами одного и того же объекта.

Слот, который мы подключаем к этому сигналу:

void MainWindow::initSDprinting()
{
    SDWindow sdwindow(sdFiles, this); 

    connect(&sdwindow, SIGNAL(fileSelected(QString)), this, SLOT(selectSDfile(QString)));

    sdwindow.exec();
}

После этого надо перевести интерфейс в режим печати. Я сделал это путем введения дополнительного флага sdprinting. Статус печати с SD карты проверяется в схожей манере с температурой.

Софт — в массы

Как бы сильно я не любил GitHub — далеко не все любят собирать софт сами. Не смотря на кроссплатформенность Qt — это фреймворк, а не среда для кросс-компиляции. А это значит, помимо бинариков под платформу Linux-amd64 нужны еще бинарики под Linux-i386, Windows 32 и OSX 64. Что ж, с первыми двумя все просто — достаточно добавить нужные наборы в QtCreator. А как быть с Windows 32 и OSX 64? С последней — никак. Я пытался, но я умываю руки. Единственный способ собрать что-то под OSX — делать это на OSX. К сожалению, легально это сделать не возможно.

Debian и его пакеты

Очень хотелось собрать пакет под любимый Linux Mint, на котором и ведется разработка. По началу я хотел собрать пакеты для PPA, но в итоге пришел к тому, что собирать надо со статическими библиотеками Qt, а потому пакеты на первое время собирать пришлось руками. Почему статическая линковка? Все очень просто — даже в Ubuntu 14.04, на которой основан Mint в источниках имеется только Qt 5.2.1. В ходе тестов первых двух релизов на разных системах выявились баги QSerialPort, исправленные в новых версиях, а потому было принято решение поставлять все с последними версиями. К тому же, вики Qt говорит, что статически линкованые библиотеки несколько быстрее работают.

Руками пакет собирается весьма просто — он должен содержать дерево каталогов файловой системы Debian, в котором размещены все файлы, которые мы собираемся установить. Написав .desktop файл для того, чтобы получить пункт в меню на конечной системе, я написал небольшой bash скрипт для сборки нужной мне версии пакетов:

#!/bin/bashcd 

# $1 - первый аргумент командной строки после скрипта

mkdir repraptor-$1-1-i386 
mkdir repraptor-$1-1-amd64

mkdir repraptor-$1-1-i386/DEBIAN/
mkdir repraptor-$1-1-i386/usr/
mkdir repraptor-$1-1-i386/usr/local/
mkdir repraptor-$1-1-i386/usr/local/bin
mkdir repraptor-$1-1-i386/usr/local/share

mkdir repraptor-$1-1-amd64/DEBIAN/
mkdir repraptor-$1-1-amd64/usr/
mkdir repraptor-$1-1-amd64/usr/local/
mkdir repraptor-$1-1-amd64/usr/local/bin

cp ../RepRaptor-linux32/RepRaptor repraptor-$1-1-i386/usr/local/bin/repraptor
cp ../RepRaptor-linux64/RepRaptor repraptor-$1-1-amd64/usr/local/bin/repraptor

cp share repraptor-$1-1-i386/usr/local/ -r
cp share repraptor-$1-1-amd64/usr/local/ -r

echo "Package: repraptor
Version: $1-1
Section: base
Priority: optional
Architecture: i386
Maintainer: [Hello Habr!]
Description: RepRaptor
 A Qt RepRap gcode sender/host controller" > repraptor-$1-1-i386/DEBIAN/control
echo "Package: repraptor
Version: $1-1
Section: base
Priority: optional
Architecture: amd64
Maintainer: [Hello Habr!]
Description: RepRaptor
 A Qt RepRap gcode sender/host controller" > repraptor-$1-1-amd64/DEBIAN/control

dpkg-deb --build repraptor-$1-1-i386
dpkg-deb --build repraptor-$1-1-amd64

Все, что он делает — это создает дерево каталогов, копирует иконки и .desktop файл, а после этого генерирует описание пакета для пакетного менеджера, вставляя нужную версию.

Windows и MXE

Одно дело — собирать пакеты под свою ОС, другое дело — под чужую. Тут необходим тулчеин — набор инструментов для сборки. Благо под Windows есть отличный MinGW, а для Linux есть не менее отличный MXE — менеджер окружения для кросс-компиляции с использованием свободных библиотек.

Установка до смешного простая — клонируем MXE и говорим ему, какие нам библиотеки нужны:

git clone https://github.com/mxe/mxe.git

cd mxe

make qtbase qtserialport

После этого можно смело идти пить кофе — сборка всего этого добра занимает приличное время.

После того, как сборка окончена — можно написать скрипт сборки проекта под Windows автоматически:

#!/bin/bash

#Добавим исполняемые файлы MXE в PATH
export PATH=/home/neothefox/src/mxe/usr/bin:$PATH 

#Удаляем старый каталог
rm -rf RepRaptor-win32

#Клонируем свежую версию и переходим в ее папку
git clone https://github.com/NeoTheFox/RepRaptor RepRaptor-win32
cd RepRaptor-win32

#Генерируем Makefile из проекта QtCreator и собираем проект
/home/neothefox/src/mxe/usr/bin/i686-w64-mingw32.static-qmake-qt5 RepRaptor.pro
make

#Собираем ZIP архив с лицензией и исполняемым файлом
cp LICENCE release/
cd release
zip RepRaptor-$1-win32.zip RepRaptor.exe LICENCE

#Переносим его в каталог с остальными сборками
mv RepRaptor-$1-win32.zip ../../RepRaptor-$1-win32.zip

Просто и сердито. Работоспособность легко проверяется в Wine:

Выводы

Когда я это начинал — я надеялся написать простую отправлялку G-code файлов, которая ничего больше бы не делала, а справится планировал за вечер. Но, как это часто бывает — проект вышел за рамки изначального плана, и теперь представляет из себя нечто большее. Впереди еще много чего предстоит сделать — хотя бы тот же графический редактор EEPROM, которого так не хватает, а так же поддержка контрольных сумм.

Однако уже сейчас RepRaptor позволяет мне спокойно использовать свой ASUS EEEPC как стабильный хост для принтера, чего не мог достичь ни один другой хост из тех, что я пробовал. Ну и знания Qt у меня определенно улучшились, и все равно еще есть место для оптимизаций.

Эта статья так же приурочена к выходу первой стабильной версии, которую я сам теперь использую каждый день — 0.2.

Всем спасибо за внимание! Надеюсь мой опыт был вам полезен.

Напоследок — вот армия объектов, напечатанных во время тестов:

Ссылки

Первая стабильная версия
RepRap wiki
GitHub

Топ бесплатных программ для 3D печати в 2021 году

Как подготовить 3D модель к печати или научиться создавать модели с нуля? Какое программное обеспечение лучше всего подходит для новичков? На все эти вопросы можно найти ответ в нашей статье. Представленные в обзоре приложения полностью бесплатны или имеют бесплатные версии для студентов, преподавателей и проектов с открытым исходным кодом.

Рабочий процесс 3D печати

Почему мы поместили этот раздел перед всеми остальными? Ответ очень прост. Зная весь процесс 3D печати можно лучше понять, как каждое ПО участвует в подготовке и печати трехмерных деталей.

Если вы стали счастливым обладателем 3D принтера, но совершенно не представляете, что с ним делать и как начать работу, тогда эта часть статьи для вас.

Для печати 3D моделей используются разные программы:

  •  ПО для трехмерного моделирования/дизайна/САПР;
  •  ПО для редактирования, просмотра и восстановления файлов STL;
  •  Программы-слайсеры;
  •  Хост 3D принтера.

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

Небольшой лайфхак для начинающих. Если вы не готовы создавать модель своими силами, выбрать и скачать подходящую можно с торговых площадок. В сообществах мейкеров есть также бесплатные ссылки для скачивания — иногда предложенные 3D модели могут быть не только интересны, но и полезны.

После создания 3D модели ее необходимо преобразовать в формат, подходящий для печати. Для настольных 3D принтеров это формат STL. Некоторые созданные или скачанные файлы имеют дефекты, которые ведут к сбоям во время печати. Именно для редактирования файлов STL есть специальной программное обеспечение, которое помогает подготовить модель к воспроизведению на принтере.

Программа слайсер помогает преобразовать STL файл в понятный для принтера G-код. Функционал таких программ позволяет разбить 3D модель на тысячи плоских 2D слоев, которые будут последовательно воспроизводиться на принтере.

И, наконец, хост 3D принтера обеспечивает связь между компьютером и принтером. Он позволяет получать информацию для печати, а также изменять параметры работы устройства в режиме реального времени через ПК. Часто Слайсер и хост объединены в одно ПО для 3D печати, которое поставляется производителем принтера.

Дорогие читатели портала 3DToday хотим вам сообщить, что у нас на сайте интернет-магазина LIDER-3D открылся новый раздел «База знаний». В данном разделе мы делимся совами, опытом, настройками и секретами мира аддитивных технологий, переходите в раздел по данной ссылке.

Примеры некоторых уже выложеных статей в разделе «База знаний»: Постобработка моделей после 3D-печати, 10 калибровочных моделей для вашего 3D-принтера, Как и чем печатают 3D-принтеры, Печать пластиком HIPS, Настройки печати ABS пластиком, Рекомендации по постобработке изделий из фотополимеров HARZ Labs, Лучшие бесплатные программы для 3D-моделирования для начинающих.

Лучшие слайсеры и хосты для 3D принтера

Cura

Топ бесплатных программ для 3D печати в 2021 годуОдна из популярных программ-слайсеров, которая поставляется вместе со всеми принтерами Ultimaker. Однако ее функционал подходит для использования совместно с другими 3D принтерами. Поскольку это ПО является одним из самых популярный среди мейкеров, можно не тратить время на настройки профиля — для большинства принтеров их можно найти в самой программе.

Софт предназначен для изменения важных настроек печати. Начните с режима “Recommended”,чтобы выбрать улучшенные параметры качества для принтера и легко адаптироваться в работе с программой.

Более точный контроль всех параметров возможен в пользовательском режиме “Custom”. Перейдя в этот режим вы сможете управлять более 400 разными настройками.

Cura — это не только простой и понятный слайсер для домашних пользователей. Софт можно использовать в качестве главного программного обеспечения для вашего принтера, а также интегрировать с САПР, например с SolidWorks или Siemens NX.

Программа постоянно обновляется и дополняется, что позволяет сделать 3D печать на вашем принтере более качественной.

►►►Ссылка на оф. сайт Cura

PrusaSlicer

Топ бесплатных программ для 3D печати в 2021 годуЭто программное обеспечение основано на базе Slic3r и в отличие от прототипа завоевал большую популярность среди пользователей. Главным отличием является большой список настраиваемых параметров и дополнительные функции, делающие работу более удобной.

Удобный пользовательский интерфейс, встроенная поддержка принтеров Prusa и настройки для разных видов пластика помогают легко приступить к работе с 3D принтером. Также слайсер позволяет размещать дополнительные поддержки, работать с разными материалами и использовать плавные функции с переменной высотой слоя.

Слайсер PrusaSlicer можно использовать как для работы с FDM принтерами, так и с устройствами, печатающими смолами. Панели настроек для пользователей с разным опытом в 3D печати помогают значительно улучшить качество готовых моделей.

Отличный бонус для тех, кто до этого работал со Slic3r — PrusaSlicer поддерживает большинство исходных функций и принимает пакеты конфигурации Slic3r ри импорте профилей.

►►►Ссылка на оф. сайт PrusaSlicer

MatterControl 2.0

Топ бесплатных программ для 3D печати в 2021 годуMatterControl — это CAD программа для моделирования,слайсер и одновременной хост для 3D принтера. Благодаря функциям хоста вы можете напрямую контролировать печать при подключении принтера через USB. Также программа позволяет нарезать файлы формата STL для экспорта на SD-карту для автономной печати и конечно же, создавать проекты в отдельном разделе программного обеспечения САПР.

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

Расширенные настройки печати и удобная программа для просмотра делают это ПО одним из лучших для комплексного контроля процесса 3D печати. Кроме функций хоста и слайсера, MatterControl имеет инструменты для дизайна,которые позволяют проектировать детали. Полученные 3D модели легко экспортировать в слайсер и распечатать. Таким образом, программа позволяет контролировать весь процесс — от создания модели, до ее нарезки и отправки в печать.

►►►Ссылка на оф. сайт PrusaSlicer

3DPinterOS

Топ бесплатных программ для 3D печати в 2021 году3DPrinterOS — облачная программа для управления 3D принтером. Она сочетает в себе функции слайсера, хоста и редактора файлов STL. В программе можно создавать очередь на печать, управлять принтером и системой подключаемых модулей на основе приложений для анализа и восстановления данных STL, а также выполнять облачную нарезку.

Бесплатный пакет Starter позволяет пользователям загружать G-коды и отправлять их в печать, удаленно контролировать процесс печати и получать поддержку на форуме единомышленников. За умеренную плату можно получить доступ к дополнительным функциям, включая возможность совместной работы над проектом.

По сути эта программа является универсальным средством конвертации файлов для печати в формат STL. Именно поэтому 3DPrinterOS подходит для небольшого бизнеса, обучения, производства и дизайна.

►►►Ссылка на оф. сайт 3DPinterOS

KISSlicer

Топ бесплатных программ для 3D печати в 2021 годуАббревиатура этого приложения “Keep It Simple Slicer” может смутить неопытных пользователей. На самом деле это довольно сложный инструмент для 3D печати. Противоречивые отзывы пользователей тем не менее позволяют сделать вывод о том, что программа популярна и имеет достаточный функционал для работы с 3D принтерами.

Бесплатная версия программы подходит для большинства пользователей, которые работают на принтерах с одним экструдером. KISSlicer помогает упростить некоторые аспекты нарезки с помощью Profile Wizards для настроек конкретного принтера и Tuning Wizards для оптимизации материалов. Платная версия программы позволяет работать с принтерами с 2 экструдерами.

Хотя настройки приложения довольно сложны, но усилия того стоят — слайсер позволяет обеспечить полный контроль над всем процессом печати.

►►►Ссылка на оф. сайт KISSlicer

Slic3r

Топ бесплатных программ для 3D печати в 2021 годуЭто программное обеспечение предназначено для слайсеров с открытым исходным кодом. Его главное отличие — передовые функции, которые не встречаются больше ни в одном приложении.

Несмотря на то, что Slic3r почти не выпускает обновлений для своей программы, она является базовой для многих других ПО с открытым исходным кодом. Например, во многих программах используется трехмерное сотовое заполнение полостей, что является особой заслугой разработчиков Slic3r.

В 2018 году вышла новая версия софта с новыми интегрированными функциями. Так, в этой версии есть новые шаблоны заполнения, экспериментальная поддержка принтеров SLA и DLP, формат 3MF, а также печать через USB.

На сайте ПО можно найти подробное руководство, которое дает представление обо всех функциях Slic3r. Отличным бонусом программы является прямая интеграция с OctoPrint для печати одним нажатием кнопки.

►►►Ссылка на оф. сайт Slic3r

SliceCrafter

Топ бесплатных программ для 3D печати в 2021 годуБраузерный слайсер от разработчиков IceSL.С помощью программы можно быстро загрузить STL файлы, нарезать их, а затем подготовить G-код к печати. В браузерной программе можно воспользоваться практически всеми опциями, которые предлагает IceSL.

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

►►►Ссылка на оф. сайт SliceCrafter

IceSL

Топ бесплатных программ для 3D печати в 2021 годуПрограмма IceSL — отличный инструмент для 3D моделирования и печати. Несколько рабочих окон позволяют редактировать модель напрямую через скрипт на языке Lua, выбирать разные настройки для нарезки модели, а также просматривать полученный результат в режиме реального времени. Несмотря на кажущуюся сложность работы с ПО, IceSL дает возможность изящного параметрического моделирования.

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

►►►Ссылка на оф. сайт IceSL

OctoPrint

Топ бесплатных программ для 3D печати в 2021 годуЭта программа является хостом для 3D принтеров, который позволяет контролировать печать и менять настройки. ПО также дает возможность дистанционного управления принтером с помощью Wi-Fi модуля, подключенного к устройству.

OctoPrint принимает G-код практически от любого слайсера, при этом хост позволяет визуализировать полученные файлы до и во время печати. Кроме того, нарезку файлов можно осуществлять непосредственно в программе, используя ее в качестве слайсера.

OctoPrint предлагает не только широкий выбор инструментов для удаленного управления печатью, но и несколько способов отслеживания выполняемых задач. Вы можете настроить push-уведомления или отправку предупреждений через разные мессенджеры.

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

►►►Ссылка на оф. сайт OctoPrint

Repetier-Host

Топ бесплатных программ для 3D печати в 2021 годуЛюбимый хост разработчиков Rep-Rap — Repetier является высокопроизводительным программным обеспечением для управления печатью и подготовки файлов.

Repetier-Host позиционируется как универсальное ПО, которое помогает управлять принтерами с большим количеством экструдеров (до 16 экструдеров), а также поддерживает практически любой 3D принтер, представленный на рынке.

Программа имеет функции удаленного доступа через Repetier Server, что позволяет управлять своим принтером через браузер на ПК, планшете или смартфоне.

►►►Ссылка на оф. сайт Repetier-Host

AstroPrint

Топ бесплатных программ для 3D печати в 2021 годуКак и 3DPrinterOS эта программа является облачным решением для контроля и управления вашими 3D принтерами. Также, с помощью AstroPrint можно менять настройки слайсера, управлять профилями принтера и материала. Бесплатная учетная запись позволяет сохранять информацию для печати, а также иметь доступ ко всем настройкам через браузер или мобильное приложение AstroPrint.

Это ПО уникально тем, что оно совместимо с Thingiverse и MyMiniFactory, а также с бесплатными версиями CAD программ, например с 3D Slash и Leopoly. Также у приложения есть инструменты для нарезки 3D моделей с возможностью отправлять файлы в печать со смартфона.

Софт будет полезен тем, кто работает в крупномасштабных сетях, таких как 3D фермы, предприятия и университеты.

►►►Ссылка на оф. сайт AstroPrint

Лучшее программное обеспечение для редактирования и восстановления файлов STL

3D-Tool Free Viewer

Топ бесплатных программ для 3D печати в 2021 году3D-Tool Free Viewer предназначена для поверки структурной целостности файлов STL и возможности печати документа на вашем принтере. Дополнительные функции, например “Поперечное сечение”позволяют также заглянуть внутрь 3D модели и оценить некоторые параметры.

Эта программа может быть полезна, если вы хотите проверить свой STL файл на наличие ошибок. Удобный интерфейс программного обеспечения позволяет измерить размер, площадь поверхности и объем всех частей фигуры, а также изменить расстояние, углы и радиус одним нажатием кнопки.

Для тех, кто не обладает достаточными познаниями и опытом в САПР, программа предлагает быстрый способ проверки STL файла и подготовки его к 3D печати.

►►►Ссылка на оф. сайт 3D-Tool Free Viewer

MakePrintable

Топ бесплатных программ для 3D печати в 2021 годуЭтот полезный веб-сервис позволяет проверить файлы STL а наличие ошибок и исправить критические значения,которые могут повлиять на печать. В отличие от других бесплатных программ, MakePrintable дает возможность полного контроля процесса. Вы можете выбрать уровень качества печати, сделать сетку пустотелой, исправить количество полигонов и даже объединить несколько мишеней в одну.

Хотя программа больше не предлагает бесплатную версию с ограниченным функционалом, пользователи могут найти несколько вариантов использования программы. Программа имеет разные возможности оплаты — за единичную загрузку файла (около 2 долларов за файл) или пакет “Maker” с возможностью загружать до 30 файлов в месяц (ежемесячная цена около 15 долларов).

Преимуществом программы является совместимость плагинов с Blender и SketchUp.

►►►Ссылка на оф. сайт MakePrintable

Meshmixer

Топ бесплатных программ для 3D печати в 2021 годуПрограмма Meshmixer — это супер современное и бесплатное программное обеспечение из семейства Autodesk для 3D печати для просмотра, проверки, редактирования и восстановления STL файлов. Эта программа помогает выявить потенциальные проблемы и автоматически устранить их. Например, программа идентифицирует недостаточную толщину стенок.

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

Пытаетесь ли вы исправить STL файл,подготовить модель к печати или сконструировать несколько объектов — Meshmixer идеально подходит для всех этих целей.

►►►Ссылка на оф. сайт Meshmixer

MeshLab

Топ бесплатных программ для 3D печати в 2021 годуMeshLab — это приложение с открытым исходным кодом, которое позволяет редактировать файлы формата STL, а также имеет инструменты для работы с трехмерными треугольными сетками. Возможности софта помогают проверять, визуализировать, восстанавливать и преобразовывать сетки, и даже объединять модели в твердые тела и заделывать дыры.

Приложение отлично подходит для редактирования 3D моделей, созданных в САПР. Несмотря на то, что последняя версия была выпущена в 2016 году, программа по-прежнему пользуется популярностью у мейкеров.

►►►Ссылка на оф. сайт MeshLab

NetFabb

Топ бесплатных программ для 3D печати в 2021 годуNetFabb — это программное обеспечение для нарезки, которое включает в себя дополнительные возможности анализа и восстановления файлов STL. Один из самых мощных инструментов NetFabb направлен на оптимизацию процесса для пользователей, предлагая возможность создания поддержек, восстановление сетки и широкий выбор инструментов генеративного дизайна.

Программа бесплатна для студентов,в рамках подписки Autodesk. Трехлетняя лицензия для учащихся позволяет выбрать одну из версий:

  •  NetFabb Standard позволяет быстро подготовить модель к печати;
  •  NetFabb Premium с расширенными возможностями для создания решеток, поддержек и автоматической упаковки деталей;
  •  NetFabb Ultimate позволяет вычислить сбои в сборке, предоставляет инструменты для моделирования, настраиваемые стратегии траектории инструмента, а также помогает автоматизировать процесс подготовки модели к 3D печати;
  •  NetFabb Simulation помогает моделировать определенные технологии печати металлом до начала производства.

►►►Ссылка на оф. сайт NetFabb

Лучшее бесплатное программное обеспечение для 3D моделирования и 3D печати

О программах для 3D моделирования, в которых разберется даже новичок, мы писали в этой статье. Здесь представлены не менее полезные, простые в использовании, а главное, бесплатные программы для трехмерного моделирования и 3D печати.

3D Builder

Топ бесплатных программ для 3D печати в 2021 годуПриложение 3D Builder предлагает своим пользователям быстро визуализировать и редактировать 3D модели. Софт помогает создавать и импортировать файлы в форматах для трехмерной печати. Используя простые инструменты для редактирования, можно создавать трехмерные изображения даже пользователям начального уровня.

Приложение располагает собственной обширной библиотекой 3D моделей. Также можно загрузить внешний файл или использовать датчик Kinect V2 для сканирования и импорта нового 3D изображения. Присоединившись к сообществу 3D Builder и скачав SDK 3D Printing можно расширить возможности этой бесплатной программы.

►►►Ссылка на оф. сайт 3D Builder

Figuro

Топ бесплатных программ для 3D печати в 2021 годуЭтот браузерный софт для моделирования сочетает в себе доступность TinkerCAD и мощность более совершенных инструментов для 3D моделирования. Программа подойдет для тех, кто хочет улучшить свои навыки в проектировании, при этом не сильно углубляясь в детали.

Создание объектов в Figuro построено по принципу полигонального моделирования — вы генерируете многоугольники, изменяя их и объединяя друг с другом. Если вы пользуетесь программой впервые, рекомендуем использовать дополнительные инструменты проверки и восстановления файлов STL.

Программа имеет простой и приятный пользовательский интерфейс. Обширная галерея позволяет оценить возможности ПО и получить вдохновение на создание новых объектов.

►►►Ссылка на оф. сайт Figuro

Fusion 360

Топ бесплатных программ для 3D печати в 2021 годуFusion 360 — это профессиональная CAD программа для 3D моделирования. В отличие от других ПО, софт позволяет охватить весь процесс планирования, тестирования и трехмерного дизайна.

Программа имеет мощные инструменты для решения задач промышленного дизайна. Fusion 360 позволяет моделировать конструкцию проектируемых объектов а также нагрузки, с которыми они столкнутся после введения в эксплуатацию.

Возможность совместной работы над проектом, облачный обмен файлами и импорт/экспорт разных типов файлов САПР делает использование приложения комфортным.

Fusion 360 бесплатен для студентов, стартапов и любителей. При этом любительские проекты не должны быть коммерческими, доход стартапа не должен превышать 100000 долларов в год, а студенческая лицензия программы ограничена тремя годами.

►►►Ссылка на оф. сайт Fusion 360

FreeCAD

Топ бесплатных программ для 3D печати в 2021 годуМногофункциональное программное обеспечение САПР позволяет отлично развить дизайнерские навыки. ПО для параметрического моделирования создает модели в соответствии с заданными параметрами. Большим преимуществом является возможность перетаскивания и управления объектами непосредственно с помощью мыши.

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

FreeCAD позволяет пользователям рисовать 2D формы в качестве основы для создания дополнительных объектов. Программа подойдет для дизайна изделий, машиностроения, архитектуры и других областей.

►►►Ссылка на оф. сайт FreeCAD

OpenSCAD

Топ бесплатных программ для 3D печати в 2021 годуВ отличие от других представленных программ, OpenSCAD больше фокусируется на CAD аспекте 3D моделирования. Софт работает как 3D-камиллятор, который считывает файл сценария, описывающий 3D модель, а затем преобразует объект в 3D модель.

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

ПО не имеет интерактивных компонентов, зато помогает лучше контролировать процесс моделирования и управлять настройками параметров конструкции. OpenSCAD считается идеальным инструментом для студентов.

►►►Ссылка на оф. сайт OpenSCAD

Blender

Топ бесплатных программ для 3D печати в 2021 году

Популярная программа автоматизированного проектирования САПР с крутой кривой обучения. Этот софт — не лучший выбор для новичка, но идеальна для тех, кто знаком с концепциями 3D моделирования и хочет создавать более сложные модели.

Последняя версия программы является более доступной. Так пользовательский интерфейс стал более удобным, а также появилось трехмерное окно просмотра. Расширенные дополнения Eevee, средство визуализации в реальном времени и Grease Pencil для 2D рисования и анимации значительно расширяют возможности программы.

Программа с открытым исходным кодом постоянно пополняется новыми функциональными решениями для комфортной работы.

►►►Ссылка на оф. сайт Blender

OnShape

Топ бесплатных программ для 3D печати в 2021 годуOnShape — мощная браузерная программа для САПР, которая предназначена для профессиональных пользователей. Софт позволяет организовать совместную работу над проектом и хранить данные в облаке.

Программа предоставляет всем членам команды мгновенный доступ к одной и той же рабочей области САПР и одним и тем же данным в облаке. Дополнительная возможность управления основным дизайном без необходимости сохранять копии и отслеживать разные версии файлов делает работу по-настоящему удобной.

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

►►►Ссылка на оф. сайт OnShape

Полученная программа выглядит вот так (это не вся программа, а только начальная часть, для примера, программа синем шрифтом, мои комментарии — черным):

Обычный заголовок:

(<alteration>)

(**** beginning of start.gcode ****)

(This file is for a MakerBot Thing-O-Matic)

(**** begin initialization commands ****)

G21 (set units to mm)

устанавливаем мм

G90 (set positioning to absolute)

Дальше идут команды которых нет в обычном MACH3, которые не входят в стандартный набор G-кодов.

Эти дополнительные коды описаны тут, на сайте программы ReplicatorG.

M108 R1.98 (set extruder speed)

M103 (Make sure extruder is off)

M104 S225 T0 (set extruder temperature)

M109 S125 T0 (set heated-build-platform temperature)

Установка скорости экструдера, включение-выключение подачи лески, установка температуры экструдера и платформы.

(**** end initialization commands ****)

Дальше идут команды поиска HOME станка:

(**** begin homing ****)

G162 Z F500 (home Z axis maximum)

G92 Z10 (set Z to 10)

G1 Z0.0 (move Z down 0)

G162 Z F100 (home Z axis maximum)

G161 X Y F2500 (home XY axes minimum)

M132 X Y Z A B (Recall stored home offsets for XYZAB axis)

(**** end homing ****)

Дальше — включение прогрева экструдера и выдавливание начальной нити:

(**** begin pre-wipe commands ****)

G1 X52.0 Y-57.0 Z10.0 F3300.0 (move to waiting position)

M6 T0 (wait for toolhead parts, nozzle, HBP, etc., to reach temperature)

M101 (Extruder on, forward)

G04 P5000 (Wait t/1000 seconds)

M103 (Extruder off)

(**** end pre-wipe commands ****)

(**** end of start.gcode ****)

Дальше идут не очень мне понятно зачем они нужны — комментарии (с параметрами станка):

(</alteration>)

(<creation> skeinforge </creation>)

(<version> 10.11.05 </version>)

(<extruderInitialization>)

(<craftTypeName> extrusion </craftTypeName>)

M105

(<bridgeWidthMultiplier> 1.0 </bridgeWidthMultiplier>)

(<decimalPlacesCarried> 3 </decimalPlacesCarried>)

(<layerThickness> 0.3 </layerThickness>)

(<threadSequenceString> loops perimeter infill </threadSequenceString>)

(<operatingFeedRatePerSecond> 30.0 </operatingFeedRatePerSecond>)

(<operatingFlowRate> 1.17935176361 </operatingFlowRate>)

(<orbitalFeedRatePerSecond> 15.0 </orbitalFeedRatePerSecond>)

(<travelFeedRatePerSecond> 40.0 </travelFeedRatePerSecond>)

(<perimeterWidth> 0.419 </perimeterWidth>)

(<profileName> ABS </profileName>)

(<procedureDone> carve,bottom </procedureDone>)

(<procedureDone> preface </procedureDone>)

(<procedureDone> inset </procedureDone>)

(<procedureDone> fill </procedureDone>)

(<procedureDone> speed </procedureDone>)

(<procedureDone> raft </procedureDone>)

(<procedureDone> comb </procedureDone>)

(<procedureDone> cool </procedureDone>)

(<procedureDone> outline </procedureDone>)

(<procedureDone> reversal </procedureDone>)

(<procedureDone> export </procedureDone>)

(</extruderInitialization>)

И вот начало работы:

(<extrusion>)

Что такое М113 не понятно. Но он закоментиован

;M113 S1.0

Включаем пскорость подачи 1,179 оборота в минуту:

M108 R1.179

Опять комментарии, видимо что собираемся делать:

(<layer> 0.45 )

(<surroundingLoop>)

(<boundaryPerimeter>)

(<boundaryPoint> X0.0 Y-2.5 Z0.45 </boundaryPoint>)

(<boundaryPoint> X10.0 Y-2.5 Z0.45 </boundaryPoint>)

(<boundaryPoint> X10.0 Y7.5 Z0.45 </boundaryPoint>)

(<boundaryPoint> X0.0 Y7.5 Z0.45 </boundaryPoint>)

(<loop> outer )

Так ничего еще и не сделав утанавливаем скорость поменьше:

M108 R0.8598

Идем в начальную точку

G1 X12.79 Y-5.29 Z0.45 F787.605

Включаем экструдер

M101

Рисуем прямоугольник ВОКРУГ предполагаемой детали (не понял зачем?):

G1 X-2.79 Y-5.29 Z0.45 F787.605

G1 X-2.79 Y10.29 Z0.45 F787.605

G1 X12.79 Y10.29 Z0.45 F787.605

G1 X12.79 Y-4.31 Z0.45 F787.605

Делаем скорость большую:

M108 R35.0

И всасываем леску немного назад, что бы прервать «соплю»:

M102

Это я вообще не понял зачем? пустой ход? засечка времени пока сопля убирается?

G1 X12.79 Y-5.29 Z0.45 F787.605

Устанавливаем маленькую скорость:

M108 R0.8598

Выключаем экструдер:

M103

И т.д.:

G1 X2.19 Y-0.68 Z0.45 F1312.674

M108 R35.0

M101

G1 X0.63 Y0.0 Z0.45 F1312.674

M108 R0.8598

Рисуем внутреннюю линию контура первого слоя детали:

G1 X0.63 Y-1.87 Z0.45 F984.506

G1 X9.37 Y-1.87 Z0.45 F984.506

G1 X9.37 Y6.87 Z0.45 F984.506

G1 X0.63 Y6.87 Z0.45 F984.506

G1 X0.63 Y0.0 Z0.45 F984.506

M103

(</loop>)

Рисуем наружную линию контура первого слоя детали:

(<perimeter> outer )

G1 X0.21 Y0.0 Z0.45 F1050.139

M101

G1 X0.21 Y-2.29 Z0.45 F787.605

G1 X9.79 Y-2.29 Z0.45 F787.605

G1 X9.79 Y7.29 Z0.45 F787.605

G1 X0.21 Y7.29 Z0.45 F787.605

G1 X0.21 Y0.98 Z0.45 F787.605

M108 R35.0

M102

G1 X0.21 Y0.0 Z0.45 F787.605

M108 R0.8598

M103

(</perimeter>)

(</boundaryPerimeter>)

Заполняем первый слой параллельным линиями.

G1 X0.32 Y-0.17 Z0.45 F1312.674

M108 R35.0

M101

G1 X1.26 Y-1.6 Z0.45 F1312.674

M108 R0.8598

G1 X1.26 Y6.6 Z0.45 F984.506

M103

G1 X1.68 Y6.6 Z0.45 F1312.674

M101

G1 X1.68 Y-1.6 Z0.45 F984.506

M103

G1 X2.09 Y-1.6 Z0.45 F1312.674

M101

————————- пропускаем кусок ——

Следующий уровень начинается опять с обильных комментариев:

(</layer>)

(<layer> 0.75 )

(<surroundingLoop>)

(<boundaryPerimeter>)

(<boundaryPoint> X0.0 Y-2.5 Z0.75 </boundaryPoint>)

(<boundaryPoint> X10.0 Y-2.5 Z0.75 </boundaryPoint>)

(<boundaryPoint> X10.0 Y7.5 Z0.75 </boundaryPoint>)

(<boundaryPoint> X0.0 Y7.5 Z0.75 </boundaryPoint>)

(<loop> outer )

M108 R0.6211

G1 X8.8 Y6.87 Z0.75 F1264.364

M101

G1 X0.63 Y6.87 Z0.75 F948.273

G1 X0.63 Y-1.87 Z0.75 F948.273

G1 X9.37 Y-1.87 Z0.75 F948.273

G1 X9.37 Y6.87 Z0.75 F948.273

G1 X8.8 Y6.87 Z0.75 F948.273

M103

(</loop>)

И так далее….

Содержание

  • Способ 1: Blender
    • Шаг 1: Подготовительные действия
    • Шаг 2: Создание трехмерного объекта
    • Шаг 3: Проверка проекта на соблюдение общих рекомендаций
    • Шаг 4: Экспорт проекта
  • Способ 2: Autodesk Fusion 360
    • Шаг 1: Подготовительные действия
    • Шаг 2: Разработка модели для печати
    • Шаг 3: Подготовка к печати / Сохранение документа
  • Способ 3: SketchUp
    • Шаг 1: Первый запуск и работа с моделями
    • Шаг 2: Загрузка готовой модели
    • Шаг 3: Экспорт готового проекта
  • Способ 4: Онлайн-сервисы

Создание модели для 3D-принтера

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

Способ 1: Blender

Blender — первая программа, основное предназначение которой заключается в создании 3D-моделей для дальнейшего их анимирования или применения в разных сферах компьютерных технологий. Она распространяется бесплатно и подходит начинающим юзерам, кто впервые столкнулся с приложениями такого рода, поэтому и занимает эту позицию. Давайте вкратце рассмотрим процедуру подготовки модели для печати пошагово, начав с настройки самого инструмента.

Скачать Blender

Шаг 1: Подготовительные действия

Конечно, после запуска Blender можно сразу же приступать к ознакомлению с интерфейсом и разработке моделей, однако сначала лучше уделить внимание подготовительным действиям, чтобы настроить рабочую среду под макеты для 3D-принтеров. Эта операция не займет много времени и потребует активации всего нескольких параметров.

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

  3. В следующем разделе окна «Quick Setup» вы увидите разные шаблоны для начала работы и ссылки на источники со вспомогательной информацией, которая пригодится при освоении ПО. Закройте это окно, чтобы перейти к следующему этапу конфигурации.
  4. Дополнительная информация о программе Blender перед созданием трехмерной модели

  5. На панели справа отыщите значок «Scene» и нажмите по нему. Название кнопки появляется через несколько секунд после наведения на нее курсора.
  6. Переход к настройкам сцены Blender перед созданием трехмерной модели

  7. В появившейся категории разверните блок «Units».
  8. Открытие настроек единиц измерения в программе Blender перед созданием трехмерной модели

  9. Установите метрическую систему измерений и задайте масштаб «1». Это необходимо для того, чтобы параметры сцены перенеслись на пространство 3D-принтера в должном виде.
  10. Настройка единиц измерения в программе Blender перед созданием трехмерной модели

  11. Теперь обратите внимание на верхнюю панель программы. Там наведите курсор на «Edit» и в появившемся всплывающем меню выберите «Preferences».
  12. Переход к глобальным настройкам программы Blender

  13. В окне настроек переместитесь на «Add-ons».
  14. Переход к настройкам дополнений для их активации в Blender

  15. Отыщите и активируйте два пункта под названиями «Mesh: 3D-Print Toolbox» и «Mesh: LoopTools».
  16. Выбор дополнений для активации через настройки Blender

  17. Убедитесь в том, что галочки были успешно проставлены, а затем покиньте данное окно.
  18. Успешная активация необходимых дополнений через настройки Blender

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

Lumpics.ru

Шаг 2: Создание трехмерного объекта

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

Создание фигуры для трехмерной печати в программы Blender

Перейти к официальной документации Blender

Шаг 3: Проверка проекта на соблюдение общих рекомендаций

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

Наложение объектов друг на друга в программе Blender

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

Уменьшение количества полигонов объекта в программе Blender

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

Удаление тонких частей объекта перед трехмерной печатью в программе Blender

Шаг 4: Экспорт проекта

Завершающий этап подготовки модели для печати — экспорт ее в подходящем формате STL. Именно этот тип данных поддерживается 3D-принтерами и будет корректно распознан. Никакого рендеринга или дополнительных обработок можно не осуществлять, если для проекта уже были назначены цвета либо какие-либо простые текстуры.

  1. Откройте меню «File» и наведите курсор на «Export».
  2. Переход к экспорту проекта в программе Blender

  3. В появившемся всплывающем списке выберите «Stl (.stl)».
  4. Выбор типа экспорта проекта в программе Blender

  5. Укажите место на съемном или локальном носителе, установите название для модели и нажмите на «Export STL».
  6. Завершение экспорта проекта в программе Blender

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

Способ 2: Autodesk Fusion 360

Следующая программа под названием Autodesk Fusion 360 доступна для бесплатного частного использования на протяжении года, поэтому вполне подойдет для освоения и создания простых моделей, чтобы в будущем распечатать их на имеющемся оборудовании. Мы решили сделать принцип ознакомления с этим ПО так же, как с Blender, поэтому создали поэтапное разделение.

Скачать Autodesk Fusion 360 с официального сайта

Шаг 1: Подготовительные действия

В Autodesk Fusion 360 не придется самостоятельно активировать панели инструментов или выбирать какие-то необычные параметры. Пользователю лишь следует убедиться в корректной метрике проекта и по необходимости изменить свойства сторон вида, что происходит так:

  1. После загрузки и установки Autodesk Fusion 360 с официального сайта должен произойти первый запуск. Никаких начальных окон отображаться не будет, поэтому новый проект создастся автоматически. Обратите внимание на раздел «Browser», который находится слева под основными панелями. Здесь выберите «Document Settings», чтобы развернуть этот раздел.
  2. Открытие глобальных настроек проекта программы Autodesk Fusion 360

  3. Перейдите к редактированию файла «Units», если стандартное значение в миллиметрах вас не устраивает.
  4. Переход к настройкам единиц измерения в программе Autodesk Fusion 360

  5. В отобразившемся справа блоке выберите оптимальную единицу измерения, которой вы и должны будете следовать на протяжении всего времени взаимодействия с проектом.
  6. Настройка единиц измерения в программе Autodesk Fusion 360

  7. После этого ознакомьтесь с разделом «Named Views» и «Origin». Здесь можно переименовать каждую сторону по личным предпочтениям и настроить отображение осей на рабочем пространстве.
  8. Настройка названия сторон и отображения осей в Autodesk Fusion 360

  9. В завершение конфигурации убедитесь в том, что выбрано пространство «Design», ведь именно там происходит первичное создание всех объектов.
  10. Выбор типа рабочего пространства в Autodesk Fusion 360

Шаг 2: Разработка модели для печати

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

  1. Откройте список «Create» и ознакомьтесь с доступными формами и объектами. Как видно, здесь присутствуют все основные фигуры. Просто нажмите по одной из них, чтобы перейти к добавлению.
  2. Выбор объекта для создания на проект в Autodesk Fusion 360

  3. Дополнительно взгляните и на остальные элементы, находящиеся на верхней панели. Основное пространство здесь занимают модификаторы. По оформлению их значков как раз и понятно, за что они отвечают. Например, первый модификатор вытесняет стороны, второй округляет их, а третий создает вдавливание.
  4. Дополнительные инструменты по управлению фигурами в программе Autodesk Fusion 360

  5. После добавления форм объекта на рабочее пространство появятся рычаги, путем перемещения которых происходит настройка размеров каждой стороны.
  6. Настройка расположения фигуры в программе Autodesk Fusion 360

  7. При регулировании посматривайте и на отдельное поле с размерами. Вы можете редактировать его самостоятельно, задавая необходимые величины.
  8. выбор размера фигуры в программе Autodesk Fusion 360

Об основных особенностях, следовать которым нужно обязательно, мы уже говорили при рассмотрении Blender, поэтому еще раз останавливаться на этом не будем. Вместо этого предлагаем изучить остальные моменты взаимодействия с Autodesk Fusion 360, прочитав официальную документацию на сайте, чтобы освоить создание не только примитивов, но и объектов гораздо более высокого уровня сложности.

Перейти к чтению документации Autodesk Fusion 360

Шаг 3: Подготовка к печати / Сохранение документа

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

  1. В меню «File» активируйте пункт «3D Print».
  2. Открытие меню трехмерной печати в программе Autodesk Fusion 360

  3. Справа появится блок с настройками. Здесь нужно лишь выбрать само устройство вывода, если нужно — включить предпросмотр и запустить выполнение задания.
  4. Подготовка проекта для трехмерной печати в программе Autodesk Fusion 360

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

  1. В том же всплывающем меню «File» нажмите по кнопке «Export».
  2. Переход к экспорту проекта в Autodesk Fusion 360 для трехмерной печати

  3. Разверните список «Type».
  4. Переход к выбору формата проекта для трехмерной печати в Autodesk Fusion 360

  5. Выберите пункт «OBJ Files (*obj)» или «STL Files (*.stl)».
  6. Выбор формата проекта для трехмерной печати в Autodesk Fusion 360

  7. После этого задайте место для сохранения и щелкните по синей кнопке «Export».
  8. Подтверждение экспорта проекта для трехмерной печати в Autodesk Fusion 360

  9. Ожидайте окончания сохранения. Это процесс займет буквально несколько минут.
  10. Успешное сохранение проекта в Autodesk Fusion 360 для трехмерной печати

Если же такой экспорт завершился ошибкой, потребуется повторно сохранить проект. Для этого кликните по специальной кнопке или используйте стандартную комбинацию клавиш Ctrl + S.

Способ 3: SketchUp

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

Скачать SketchUp

Шаг 1: Первый запуск и работа с моделями

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

  1. После установки и запуска SketchUp нужно нажать по кнопке «Войти», чтобы подключить учетную запись пользователя. Если вы начали знакомство с пробным периодом, то с этого момента начинается отсчет дней до его завершения.
  2. Начало работы с программой SketchUp для подготовки к трехмерной печати

  3. При появлении окна «Добро пожаловать в SketchUp» нажмите на «Простой», чтобы перейти к рабочему пространству.
  4. Создание проекта в SketchUp для создания трехмерной печати

  5. Рисование фигур в этом программе осуществляется точно так же, как и в других похожих решениях. Наведите курсор на раздел «Нарисовать» и выберите произвольную фигуру.
  6. Выбор фигуры для создания в проекте программы SketchUp

  7. После этого она помещается на рабочее пространство и одновременно редактируется ее размер.
  8. Расположение фигуры в рабочем пространстве программы SketchUp

  9. Остальные кнопки на верхних панелях выполняют опции модификаторов и отвечают за выполнение других действий.
  10. Инструменты управления составляющими проекта в программе SketchUp

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

Перейти к чтению документации SketchUp

Шаг 2: Загрузка готовой модели

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

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

  1. Воспользуйтесь ссылкой выше, чтобы попасть на главную страницу сайта для поиска моделей. Там подтвердите лицензионное соглашение для начала использования.
  2. Подтверждение соглашения перед скачиванием фигур в SketchUp

  3. Далее мы предлагаем задействовать встроенную функцию поиска по категориям, чтобы быстро отыскать подходящую модель.
  4. Поиск фигур для SketchUp на официальном сайте

  5. В списке отыщите вариант, а также обратите внимание на дополнительные фильтры.
  6. Выбор фигуры из результатов поиска для программы SketchUp

  7. После выбора модели остается только нажать на «Download».
  8. Начало скачивания фигуры для SketchUp через официальный сайт

  9. Запустите полученный файл через SketchUp.
  10. Завершение загрузки фигуры для SketchUp через официальный сайт

  11. Просмотрите модель и отредактируйте ее, если это нужно.
  12. Открытие фигуры для SketchUp после скачивания через официальный сайт

Шаг 3: Экспорт готового проекта

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

  1. Наведите курсор на раздел «Файл»«Экспорт» и выберите «3D-модель».
  2. Экспорт модели в SketchUp для подготовки к трехмерной печати

  3. В появившемся окне Проводника вас интересует формат OBJ или STL.
  4. Выбор формата файла SketchUp для экспорта при подготовке к трехмерной печати

  5. После выбора расположения и формата остается только нажать на «Экспорт».
  6. Подтверждение сохранения файла SketchUp для трехмерной печати

  7. Начнется операция экспорта, за состоянием которой можно следить самостоятельно.
  8. Процесс сохранения файла в SketchUp для трехмерной печати

  9. Вы получите информацию о результатах процедуры и сможете переходить к выполнению задачи печати.
  10. Успешное сохранение проекта в SketchUp для трехмерной печати

Только что вы узнали про три различные программы по 3D-моделированию, которые подойдут для того, чтобы самому создать любое задание для печати на трехмерном принтере. Существуют и другие похожие решения, позволяющие сохранять файлы в формате STL или OBJ. Мы рекомендуем ознакомиться с их списком в тех ситуациях, когда описанные выше решения вам по каким-либо причинам не подходят.

Подробнее: Программы для 3D-моделирования

Способ 4: Онлайн-сервисы

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

Перейти на сайт Tinkercad

  1. В качестве примера мы выбрали Tinkercad. Щелкните по ссылке выше, чтобы зайти на сайт, где нажмите по кнопке «Начать работу».
  2. Переход к регистрации на сайте Tinkercad для создания трехмерной модели

  3. Если учетная запись Autodesk отсутствует, ее придется создать, чтобы открыть доступ к личному кабинету.
  4. Регистрация на сайте Tinkercad для создания трехмерной модели

  5. После этого приступайте к созданию нового проекта.
  6. Переход к созданию нового проекта на сайте Tinkercad

  7. В правой части рабочего пространства вы видите доступные фигуры и формы. Путем перетаскивания они добавляются на плоскость.
  8. Выбор фигур для создания моделей на сайте Tinkercad

  9. Затем происходит редактирование размера тела и отверстия в соответствии с требованиями юзера.
  10. Выбор параметров для добавленной фигуры на сайте Tinkercad

  11. По окончании работы с проектом щелкните по «Экспорт».
  12. Переход к экспорту проекта на сайте Tinkercad после создания фигур

  13. В отдельном окне отобразятся доступные форматы для 3D-печати.
  14. Выбор формата для сохранения проекта на сайте Tinkercad

  15. После его выбора начнется автоматическая загрузка.
  16. Скачивание файла проекта с сайта Tinkercad

  17. Если же вы не желаете скачивать файл и можете сразу же отправить задачу в печать, перейдите на вкладку «3D-печать» и выберите там принтер.
  18. Переход к печати проекта на трехмерном принтере в Tinkercad

  19. Произойдет переход на внешний источник и далее запустится процесс подготовки и выполнения задания.
  20. Перенаправление на внешние ресурсы для печати проектов в Tinkercad

Мы не можем рассмотреть абсолютно все популярные веб-сервисы по 3D-моделированию, поэтому упомянули только один из лучших и оптимизированных под 3D-печать. Если вас заинтересовал такой метод, просто выполните поиск сайтов через браузер, чтобы подобрать оптимальный для себя вариант.

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

Читайте также: Программы для 3D-принтера

Ищете программу для 3D-печати? Мы собрали 20 лучших программных инструментов — для новичков и профессионалов. Большинство слайсеров бесплатны.

Слайсеры и программы для работы с моделями для 3D принтера

Что такоей слайсер? Это программа для подготовки цифровой модели к печати. Модели для 3D-печати обычно распространяются в файлах формата STL. Чтобы превратить STL-файл в G-код (язык, который понимает 3D-принтер), требуется программа-слайсер. Слайсером она называется потому, что нарезает (to slice — англ.) 3D-модель на множество плоских двумерных слоев, из которых 3D-принтер будет складывать физический объект.

Какой слайсер выбрать? В этой статье мы расскажем о том, какой слайсер лучше всего выбрать для 3D-печати под каждый из этапов вашей работы. Какой из них лучше для подготовки 3D-модели к печати? А что если надо создать 3D-модель с нуля? А если вы делаете в 3D лишь первые шаги?

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

  1. Cura
  2. CraftWare
  3. 123D Catch
  4. 3D Slash
  5. TinkerCAD
  6. 3DTin
  7. Sculptris
  8. ViewSTL
  9. Netfabb Basic
  10. Repetier
  11. FreeCAD
  12. SketchUp
  13. 3D-Tool
  14. Meshfix
  15. Simplify3D
  16. Slic3r
  17. Blender
  18. MeshLab
  19. Meshmixer
  20. OctoPrint

№1: Cura

Cura скачать

Для начинающих, которым нужен слайсер, чтобы подготовить STL-файлы для 3D-печати

Cura — это стандартная программа-слайсер для всех 3D-принтеров Ultimaker, но ее можно использовать и с большинством других, включая RepRap, Makerbot, Printrbot, Lulzbot и Witbox. У программы полностью открытый исходный код, ее возможности можно расширять с помощью плагинов.

Эта программа очень легка в использовании и позволяет управлять самыми важными настройками 3D-печати через понятный интерфейс. Начните в режиме Basic — чтобы быстро войти в курс дела и изменить настройки качества печати. Если требуется более тонкий контроль, перейдите в режим Expert.

Программу Cura можно использовать и для прямого управления принтером, но тогда принтер и компьютер должны быть соединены друг с другом.

Загрузить: Cura

Цена: Бесплатно

Системы: PC, Mac, Linux

№2: CraftWare

Craftware скачать

Для начинающих, чтобы подготовить STL-файлы для 3D-печати

Другая программа-слайсер, разработанная производителем 3D-принтеров, венгерским стартапом CraftUnique, для поддержки своего краудфандингового аппарата CraftBot. Впрочем, программа работает и с другими принтерами.

Как и в Cura, в CraftWare можно переключиться с «легкого» на «экспертный» режим — в зависимости от того, насколько уверенно вы себя чувствуете. Это яркое приложение, отличающееся наглядной визуализацией G-кода, на которой каждая функция представлена своим цветом. Но самая выдающая особенность — индивидуальная служба поддержки. Насколько нам известно, подобное есть только у платной программы Simplify3D.

Обратите, однако, внимание, что эта программа еще бета, так что ошибки встречаться могут.

Загрузить: CraftWare

Цена: Бесплатно

Системы: PC, Mac

№3: 123D Catch

123D Catch скачать

Для начинающих, которые хотят создавать 3D-модели для печати

123D Catch — это бесплатное приложение для настольных Windows-систем, смартфонов и планшетов, которое позволяет преобразовывать снимки объектов в 3D-модель. Снимки можно делать смартфоном/планшетом или цифровой камерой.

Требуется множество фотографий объекта с разных ракурсов — чем больше, тем лучше — после чего из них будет составлена 3D-модель.

123D Catch — в большей степени развлекательное приложение, чем профессиональный инструмент для 3D-печати, но после некоторых танцев с бубном можно добиться хороших результатов, особенно в паре с STL-редактором вроде MeshLab или Meshmixer.

Цена: Бесплатно

Системы: PC, Android, iOS, Windows Phone

№4: 3D Slash

3D Slash

Для начинающих, которые хотят создавать 3D-модели для печати

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

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

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

Рекомендуем!

Загрузить: 3dslash.net

Цена: Бесплатно

Системы: PC, Mac, Linux, браузер

№5: TinkerCAD

TinkerCAD

Для начинающих, которые хотят создавать 3D-модели для печати

TinkerCAD — это онлайн-система автоматизированного проектирования (CAD) для 3D-печати, которая является хорошей отправной точкой для начинающих. Поскольку ее возможности по сравнению с Blender, FreeCAD и SketchUp ограничены, многие пользователи через какое-то время переключаются на более мощные инструменты.

Как и в 3D Slash, здесь вы можете строить модели из базовых форм. При этом, в отличие от 3D Slash, TinkerCAD позволяет создавать векторные фигуры в 2D и преобразовывать их в трехмерные модели.

Заходите: Autodesk TinkerCAD

Цена: Бесплатно

Системы: Браузер

№6: 3DTin

3DTin

Для начинающих, которые хотят создавать 3D-модели для печати

3DTin — другой простой и интуитивный онлайн-инструмент, великолепный выбор для совсем начинающих в деле 3D-моделирования. Все, что вам нужно, — это браузер Chrome или Firefox с включенной WebGL.

Выбираете из огромной библиотеки шаблонов 3D-форму и добавляете ее к своему эскизу. Все эскизы хранятся в облаке, доступ к ним свободен, если вы чтите лицензию Creative Commons. Всё может быть экспортировано в форматы STL или OBJ.

Заходите: 3DTin

Цена: Бесплатно

Системы: Браузер

№7: Sculptris

Sculptris

Для начинающих, которые хотят создавать 3D-модели для печати

Sculptris — виртуальный инструмент для ваяния, с фокусом на концепцию модельной глины. Это фантастическая программа 3D-моделирования, если ваша главная задача — создавать статуэтки. Например, вы можете изготовить бюст своего любимого персонажа из видеоигры или комикса. Программа Sculptris абсолютно бесплатна и позиционирует себя как ступень к более сложному (и дорогому) инструменту ZBrush.

Загрузить: Pixologic Sculptris

Цена: Бесплатно

Системы: PC, Mac

№8: ViewSTL

ViewSTL

Для начинающих, которые хотят просматривать STL-файлы

Использовать ViewSTL — это самый легкий способ просматривать STL-файлы. Просто открываете интернет-страницу и перетаскиваете STL на поле в точечках.

Онлайн-просмотрщик STL позволяет отображать модель в одном их трех видов: плоское затенение (для быстрого просмотра), плавное затенение (для высококачественного изображения) и каркас.

Заходите: ViewSTL

Цена: Бесплатно

Системы: Браузер

№9: Netfabb Basic

Netfabb Basic

Для продолжающих, чтобы подготовить STL-файлы для 3D-печати

Netfabb Basic — это слайсер для 3D-печати с некоторыми приятными особенностями, которые позволяют анализировать, «чинить» и редактировать STL-файлы до перехода на этап нарезки модели.

Хороший выбор, если требуется нечто большее, чем просто слайсер, и вы хотите иметь возможность быстро исправлять STL-файлы, не изучая таких программ, как MeshLab или Meshmixer.

И пусть слово «Basic» в названии вас не смущает: на самом деле Netfabb Basic — очень мощный инструмент для 3D-печати. Он «базовый» лишь в том смысле, что стоит не € 1500, как Netfabb Professional!

Загрузить: netfabb.de

Цена: Бесплатно

Системы: PC, Mac, Linux

№10: Repetier

Repetier

Для продолжающих, чтобы подготовить STL-файлы для 3D-печати

Если вы готовы перейти на следующий уровень программ-слайсеров для 3D-принтеров, но хотите остаться в рамках открытого исходного кода, вам следует обратить внимание на Repetier. Это прадедушка программ для 3D-печати и фаворит сообщества RepRap.

На сегодняшний день программа семимильными шагами продвигается от уровня для продолжающих к продвинутым пользователям. Укомплектованная по схеме «всё в одном», она поддерживает до 16 экструдеров, мульти нарезку через плагины, а также практически все 3D-принтеры послойного наплавления, которые можно встретить на рынке. Будьте готовы поколдовать!

Более того, Repetier Host работает через Repetier Server удаленно, так что управление 3D-принтером возможно через браузер, планшет или смартфон.

Загрузить: Repetier

Цена: Бесплатно

Системы: PC, Mac, Linux

№11: FreeCAD

FreeCAD

Для продолжающих, которые хотят создавать 3D-модели для печати

FreeCAD — это обладающая богатыми возможностями CAD-программа, отличный вариант для развития у себя дизайнерских способностей. Если говорить более технически, то эта программа параметрического 3D-моделирования позволяет с легкостью менять проект, откатываясь по истории модели и редактируя параметры.

Загрузить: freecadweb.org

Цена: Бесплатно

Системы: PC, Mac, Linux

№12: SketchUp

SketchUp

Для продолжающих, которые хотят создавать 3D-модели для печати

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

Версия Make SketchUp бесплатна, и в ней будет все, что вам потребуется для 3D-моделирования, если вы вдобавок загрузите и установите бесплатный модуль для экспорта STL. Существует также профессиональное издание для архитекторов, дизайнеров по интерьеру и инженеров.

Загрузить: sketchup.com

Цена: Бесплатно (SketchUp Make), $695 (SketchUp Pro)

Системы: PC, Mac, Linux

№13: 3D-Tool Free Viewer

3D-Tool Free Viewer

Для продолжающих, которые хотят просматривать и проверять STL-файлы

3D-Tool Free Viewer — навороченный инструмент, который в числе прочего позволяет проверять структурную целостность и печатаемость вашего файла. С помощью функции Cross-Section, например, вы можете посмотреть на модель изнутри и проверить толщину стенок. Очень полезно, если вы, прежде чем печатать, хотите проверить свой STL-файл на наличие убийственных ошибок.

Загрузить: 3D-Tool

Цена: Бесплатно

Системы: PC

№14: Meshfix

Meshfix

Для продолжающих, которые хотят проверять STL-файлы

Meshfix — онлайн-инструмент для 3D-печати, который проверит вашу модель на предмет ошибок. 

Цена: Бесплатно

Системы: Браузер

№15: Simplify3D

Simplify3D

Для профессионалов, чтобы подготовить STL-файлы для 3D-печати

Simplify3D — это не просто программа-слайсер, это настоящий швейцарский нож для 3D-печати. Гибкий алгоритм проверяет модель на наличие проблем, исправляет их, показывает превью процесса печати (идеально для выявления потенциальных проблем) и затем нарезает ее.

Этот слайсер предлагает лучшие среди конкурентов варианты шаблонов заполнения. Для моделей, в которых требуются поддержки, Simplify3D создаст соответствующие структуры самостоятельно и предоставит вам полный контроль за их размещением. Для принтеров с двойным экструдером, при печати разными материалами поможет мастер Dual Extrusion, в результате чего, например, удалить растворяемый филамент будет легче.

Программа Simplify3D поддерживает 90% имеющихся в продаже современных настольных 3D-принтеров и совместима с прошивками Marlin, Sprinter, Repetier, XYZprinting, FlashForge, Sailfish и MakerBot. Simplify3D можно использовать и для прямого управления принтером, но тогда принтер и компьютер должны быть соединены друг с другом.

Загрузить: simplify3d.com

Цена: $149

Системы: PC, Mac, Linux

№16: Slic3r

Slic3r

Для профессионалов, чтобы подготовить STL-файлы для 3D-печати

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

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

Другая возможность — прямая интеграция с Octoprint. Когда файлы на десктопе пользователя нарезаны, они могут быть одним кликом напрямую загружены в Octoprint.

Загрузить: Slic3r

Цена: Бесплатно

Системы: PC, Mac, Linux

№17: Blender

Blender

Для профессионалов, которые хотят создавать 3D-модели для печати

Blender — популярная система автоматизированного проектирования (CAD) с крутой кривой обучения. Совсем не лучший выбор для новичков, зато то что надо, если вы вполне поднаторели и нуждаетесь в чем-то более сложном для моделирования и печати.

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

Загрузить: blender.org

Цена: Бесплатно

Системы: PC, Mac, Linux

№18: MeshLab

MeshLab

Для профессионалов, чтобы подготовить STL-файлы для 3D-печати

MeshLab — продвинутый STL-редактор. Он позволяет удалять части 3D-модели, сливать две модели в одну, залатывать дыры. Если вам нужна программа для модификации моделей для 3D-печати или каких-то «ремонтных» работ, MeshLab — правильный выбор.

Цена: Бесплатно

Системы: PC, Mac, Linux

№19: Meshmixer

Meshmixer

Для профессионалов, чтобы подготовить STL-файлы для 3D-печати

Meshmixer — супер продвинутая программа 3D-печати для просмотра, проверки, редактирования и ремонтирования STL-файлов. Она особенно хороша для выявления потенциальных проблем и автоматического их исправления. Например, она покажет стенки толщиной в лист бумаги, которые могут привести к проблемам при 3D-печати. Meshmixer является частью семейства программного обеспечения 3D-принтеров Autodesk, поэтому должна хорошо работать в связке с инструментами вроде TinkerCAD.

Цена: Бесплатно

Системы: PC, Mac

№20: OctoPrint

OctoPrint

Для профессионалов, которым требуется беспроводное управление 3D-принтером

Octoprint — это «просто» программа-хост для 3D-принтера, которая позволяет запускать, приостанавливать или прерывать задания на 3D-печать. В сочетании с устройствами, поддерживающими Wi-Fi, она служит отличным монитором для удаленного наблюдения за процессом 3D-печати.

Octoprint понимает G-коды практически всех 3D-принтеров и слайсеров и включает в себя gCodeVisualizer для визуализации этого кода перед печатью или во время нее.

Если вы хотите работать вдали от вашего 3D-принтера и управлять им дистанционно, Octoprint — это лучшее из того, что можно найти.

Загрузить: octoprint.org

Цена: Бесплатно

Системы: PC, Mac, Linux

Источник

Понравилась статья? Поделить с друзьями:
  • Как написать программу калькулятор на java
  • Как написать программу испытаний на изделие
  • Как написать программу записная книжка
  • Как написать программу дополнительного образования для навигатора
  • Как написать программу для чпу станка фрезеровка