3D печать на принтере Creality 3D

От создания проекта до печати на собственной шкуре

К существованию свободного программного обеспечения мы уже привыкли. Его много, и среди него есть очень успешные проекты, без которых многие уже не представляют своего существования. Возможно, тот браузер, через который Вы читаете эту заметку к ним относится. Свободных инженерных проектов целиком существенно меньше. Успешных среди них единицы. Однако, некоторые из них столь значимы, что способны перевернуть классическое представление о средствах производства. Проект 3D печати отнюдь не самый сложный ни в части программ, ни в части железа, но он дает возможность каждому стать собственником не просто средства производства, а средства, способного себя воспроизводить и создавать другие средства производства. По определению: Тяжелая промышленность — группа отраслей промышленности, изготавливающих преимущественно средства производства. Таким образом появление свободного проекта 3D печати - событие революционное, выводящее кустаря-одиночку в акулы капитализма. Да и социализм с его коллективной собственностью на средства производства теряет рычаги управления. Конечно, все это стало возможным только благодаря крупносерийному производству, сделавшему комплектующие элементы этого проекта дешевыми и доступными. Пока кустарю недоступна возможность печати процессора, но кто мог предположить 50 лет назад, что самодельный квадракоптер будет во многом превосходить лунный модуль...

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

Принтер Creality 3D

Для меня принтер не принципиально отличается от автоматизированной штативной головки для съемки панорам. 4 шаговых двигателя, три из которых отвечают за перемещение и один за подачу нити, плюс регулируемый нагревательный элемент, и все это под управлением компьютера проекта Arduino. По случаю мне достался набор для сборки 3D принтера. На коробке имя собственное данной модели отсутствовало, но на одной из деталей было нанесено имя Creality 3D. Вероятно, это копия  Deezmaker Bukito. Под этим именем он фигурирует в списке принтеров в программе MatterControl.

Creality

Это компактное и минимальное воплощение проекта RepRap 2.0 «Mendel» прошивка Marlin 1.0.0. Один экструдер 0,4 мм, подогреваемый стол отсутствует и, как следствие, печать только нитью 1,75 мм PLA. Область печати 140х150х100 мм. Степень самовоспроизведения меньше, чем у оригинала, поскольку в роли направляющих используются профили сложной формы (детали, напечатанные на принтере желтого цвета). Конструкция достаточно удачная. Мне показалось необходимым только усилить крепление вертикальной рельсы дополнительной металлической пластиной. Особенностью конструкции является подключение вентиляторов. Регулируемый находится над платой и соответственно изменение его скорости вращения на охлаждение нити не влияет. Вероятно, это сделано затем, чтобы у начинающих пользователей не забилось сопло. Поскольку если поменять подключение вентиляторов, то надо помнить, что вентилятор на экструдере охлаждает и его, и нить, и следовательно, чтобы избежать размягчения нити выше теплового барьера, надо в программах установить минимальную скорость вращения не равной нулю. Я установил 50%. В этом случае пробки из размягченной нити не образуются, а скорость воздушного потока, попадающего на выдавленную нить, может немного регулироваться программой.

Creality

Данные для печати в виде  G-code могут быть переданы принтеру через USB или записаны на карту памяти и уже с нее считаны. Управление принтером также может осуществляться, как подключенным к нему компьютером, так и встроенным пультом. Таким образом, специальные программы для связи компьютера с принтером не являются жизненно необходимыми. Они представляют дополнительные удобства визуального контроля процесса печати и обычно интегрированы с программами раскладки нити по слоям (Slicer). Этих программ довольно много, но я остановлюсь только на тех, которые устанавливал на свои компьютеры и более или менее заставил работать. Для тех, кто впервые оказался на моем сайте, замечу, что операционной системой всех моих компьютеров является Linux.  Однако, в данном случае и этой информации может оказаться недостаточно, поскольку с разными дистрибутивами результат получается разный. Полный цикл от подготовки до печати я реализовал на машинах под управлением Slackware 64 14.0 и   Netrunner 16 64. Выборочные эксперименты показали, что проблемы последней, вероятно, характерны для всех Ubuntu’идов. Что касается первой системы, то здесь готовых решений существенно меньше и версии у них старше, поэтому  результат в конечном итоге определяется упорством пользователя. Slackware моя основная и любимая система, я полагаю, что с ее помощью можно решить все задачи, вопрос только в том хватит ли терпения :-)

Программы печати

Итак, рассмотрим три программы печати: Printrun-master (215.03.10), MatterControl и RepetierHost. Первая написана на Python, а две последние это .NET Framework, запускаемый через mono.

Printrun-master (215.03.10)

Printrun-master

По умолчанию интегрируется с программой, тоже написанной на Python - Skeinforge. Открывать STL файлы надо через меню Tools/Plater/Load, если загрузить через File/Open, то понять, откуда берутся параметры настройки, мне так и не удалось :-( С загрузкой G-Code ситуация обратная: правдоподобный результат получается, если открыть через File/Open, а не через Tools/G-Code Plater/Load. Теоретически можно интегрировать с программой и Slic3r, но у меня это не дало удобоваримого результата.

Printrun-master
Printrun-master

Cura версии 15.04 имеет в своем составе слегка переработанный официально заимствованный у Printrun модуль управления принтером. У меня работало только с  Netrunner. В Slackware нижеприведенное окно так и не открылось. В новейшей переработанной под Python3 версии 15.10 (beta) я подобного модуля не обнаружил.

Cura

Обращаю внимание, что выталкивание нити Extrude это стрелка вверх, а втягивание - вниз.

MatterControl (1.3.0)

Несмотря на то, что в реестре этот ресурс отсутствует:

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

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

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

MatterControl

Программа имеет собственный отпочковавшийся от CuraEngine раскладчик нити, также можно подключить входящие в комплект Slic3r 1.1.7 и CuraEngine. Впрочем, это не самые последние версии, а более новые подключить не удается, да и параметры настройки доступны отнюдь не все имеющиеся при запуске соответствующих программ отдельно. Учитывая присущий Linux многооконный режим интеграция внешних программ в общий графический интерфейс практически не ускоряет и не облегчает работу. Наличие собственного раскладчика нити, пусть и с минимальными возможностями настройки весьма полезно, поскольку сразу дает ориентир по времени и расходу нити при печати детали. Обилие настроек часто дает весьма экзотические результаты и сравнение расходов нити позволяет еще до печати понять, что с параметрами что-то не так.  Визуализация раскладки при анализе G-Code мне в этой программе очень понравилась, как на этапе предварительного просмотра, так и во время печати.

MatterControl

А вот невозможность в Netrunner и других Ubuntu’идах записать промежуточный результат после редактирования вращения загруженного stl файла огорчает. В Slackware эта проблема практически отсутствует. Файл с новым именем появляется в списке заданий и его можно реально сохранить через экспорт. Т.е. вероятно, во время сессии файл где то сохраняется как временный с другим именем.

RepetierHost
MatterControl
MatterControl

Переход на версию 1.4.0 (от 27 октября 2015) и установка рекомендованной версии mono (для Netrunner это более старая версия) в соответствии с прилагаемой инструкцией проблему целиком не решили, только исчезли сообщения, что файл не может быть записан. Однако оказалось, что теперь измененный файл все же можно записать, но только в Local Library. Программу можно обмануть если сперва сохранить файл с неким именем (реально он никуда с этим именем записан не будет), а потом выйдя из редактирования нажать Export и все же сохранить файл. Можно изменять взаимное расположение двух деталей, но не положение на столе единственной детали. Всегда срабатывает автоцентровка. Для смешения центра надо менять размер рабочего стола, либо добавить второй точечный объект через меню  View/Insert.

RepetierHost 1.5.6

В отличие от предыдущих свободных эта программа проприетарная, хотя и бесплатная.

RepetierHost
RepetierHost

В программу могут быть интегрированы Slic3r, Skeinforge и CuraEngine, однако Cura требует особых настроек рабочего стала для размещения детали в центре и не реагирует  на перемещение детали по столу. С размещением у экспортированного в G-Code файла также наблюдаются проблемы: центр объекта при печати через другую программу окажется в точке x=0 и y=0. В случае же использования первых двух программ перемещать по столу деталь вполне можно. На нижеприведенном снимке настройки стола для первых двух программ, в случае же с Cura надо в графе Слева добавить -60, а в графе Спереди -70.

RepetierHost

Программы раскладки нити по слоям (Слайсеры)

Программы делят модель на слои с заданным шагом и раскладывают по ним нить. Основная задача соблюсти баланс между качеством и скоростью печати. Существует множество различных стратегий раскладки нити, поэтому велико и количество программ для этой работы. Программа должна определить, в какой последовательности и с какой скоростью уложить нить внутри слоя. Причем скорости две: скорость перемещения печатающей головки  и скорость выдавливания нити.  Низкая скорость не всегда благо. Кроме того, программа должна решить, на сколько выдергивать нить назад и как обходить незаполняемые области, чтобы минимизировать количество соплей на внешней поверхности детали. Программа может создавать дополнительные слои для лучшего сцепления с поверхностью стола и опоры для предотвращения провисания деталей. Если все печатается одной нитью, то программа должна сделать опоры относительно легко извлекаемыми. Кроме того, эти программы позволяют решать задачу минимизации веса при сохранении необходимой жесткости за счет создания внутренних пустот разной формы и с разной толщиной внешних стенок. Это может быть важно не только с точки зрения экономии нити, но и, например, при печати деталей вертолета. Толщина стенок может быть важной, если предполагается, дополнительная механическая обработка детали. Я печатал заготовки для последующей обработки на токарном станке и должен отметить, что экономически это весьма выгодно. Капролон, который я обычно использую для токарных работ из пластмассы, стоит 600 рублей, нить PLA примерно в 2,5 раза дороже. Но при токарных работах в стружку уходит до 90% материала, здесь же отходы практически отсутствуют и внутренности можно делать полыми. Если мы печатаем сосуды для жидкостей, то обеспечение создания сплошных гидроизолирующих слоев это тоже задача для программы раскладки нити.   Я в разной степени детальности ознакомился и попробовал 5 программ. Это встроенный раскладчик MatterSlice из пакета MatterControl,  Slic3r (версии 1.1.7 и 1.2.9), Skeinforge (2012.03.15), Cura (15.04 и 15.10), KISSlicer  (1.4.5.10).

Slic3r (1.2.9)

Написана на Perl с использованием библиотеки wxgtk. На данный момент меня вполне устраивает и я использую ее как основную для трассировки сложных деталей и экспорта результатов в G-code. Использую ее и для поворота деталей, если при конструировании за основание была выбрана не самая удобная плоскость.

Slic3rSlic3r
Slic3r
Slic3r
Slic3r
Slic3r

Skeinforge

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

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


Skeinforge
Skeinforge
Skeinforge

Cura

На данный момент сосуществуют две ветки программы: Old Cura  с версиями до 15.04, написанная на Python2, и New Cura с полностью переработанным интерфейсом на Python3 и Uranium framework. Программа 15.4 вполне работоспособная и с учетом наличия показанного выше модуля связи и управления принтером может быть единственной необходимой для раскладки нити и вывода на печать.

15.04
Cura
Cura
Cura

15.10
Cura

KISSlicer

В отличии от предыдущих проприетарная программа с закрытыми кодами. Есть 2 версии FREE и  PRO. Работает, но преимуществ сходу не почувствовал и дальше не изучал.

KISSlicer

Создание модели

Принтер это индивидуальное средство производства ремесленника. Для крупносерийного производства методы литья или штамповки скорее всего предпочтительны. Следовательно, нужен инструмент для быстрого проектирования детали, когда в ней возникает необходимость. В моей практике чаще всего возникает потребность  во внутренних корпусных деталях. Они должны быть функциональны и иметь вполне определенные размеры, а эстетической нагрузки их форма не несет. Для решения подобных задач, очевидно, наиболее подходят системы автоматизированного проектирования САПР, или в английском варианте  CAD(computer-aided design). Подобные свободные программы есть, но их не очень много и, кроме того, людям, отошедшим от кульмана, понравятся далеко не все. Я установил FreeCAD и SolveSpace. Первая претендует стать всеобъемлющим решением, но пока умеет далеко не все задуманное. Для моих целей более чем достаточно, но устанавливаемый пакет гигантский с кучей зависимостей. Готовая сборка под Slackware имеет версию 0.13 и собрать более свежую версию из исходников мне не удалось. Под  Netrunner удалось найти пакет с версией 0.15. Для моих задач разницы почти нет, хотя версия 0.15 сразу содержит необходимый мне модуль создания шестерен, а в 0.13 его пришлось устанавливать дополнительно. SolveSpase очень компактная в 1,4 МБ программа, которая прекрасно работает под wine. После того как автор сделал ее код открытым появилась и версия под Linux. Для моих задач почти достаточна, но при наличии установленного FreeCAD'а я пользуюсь им.
Если ваше ремесло художественные промыслы, то наилучшей программой для создания моделей вероятно будет Blender. Ну, а для создания демонстрационных пособий по геометрии прекрасно подойдет  OpenSCAD.

FreeCAD

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

Freecad

На вкладке Start в разделе Начать новый проект выбираем пункт  пункт Проектирование детали. Открывается вкладка Part Design. Выбираем пункт или кнопку Создать эскиз. В открывшемся окне выбираем плоскость XY. Это будет наш вид сверху.  Рисуем чертеж и расставляем размеры и условия. Нажимаем кнопку Закрыть. На вкладке задачи выбираем  Вырост, задаем высоту детали и жмем Ok. Поворачиваем деталь, выбираем боковую грань, жмем Создать эскиз. Чертим на виде сбоку контур, который должен быть вырезан. Жмем Закрыть.  На вкладке Задачи выбираем Карман, задаем размеры жмем Ok. Считаем создание детали законченным и теперь его надо экспортировать в STL(аббревиатура от stereolithography). Для этого открываем вкладку Part.

FreeCAD

Выделяем объект, который хотим экспортировать через Правка/Выделить область (если выделить через Выбрать все то у меня терялся вырез на боковой панели) и следуем в меню Файл/Экспортировать... Выбираем тип файлов: Mesh format и задаем имя файла с расширением stl. На этом задача выполнена, а при желании можно продолжить изучение и сохранить чертеж в привычном для людей от кульмана виде. Правда с расстановкой размеров пока в программе засада и это придется делать в другой, например, в OOO.

FreeCAD

SolveSpace

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

SolveSpace

Запускаем программу и сразу оказываемся в окне подписанном снизу #XY sketch-in-plane. Чертим вид сверху с помощью инструментов на боковой панели. Это верхние 10 инструментов в двух колонках. Задаем размеры и условия - это следующие 12 инструментов. Выдавливаем 12 кнопкой сверху в первой колонке с названием New group extruding active sketch. Поворачиваем деталь, выбираем ребро и задаем его длину. Выбираем точку и два отрезка, определяющие плоскость, в которой будем чертить вид сбоку, и в меню New Group выбираем Sketch in New Workplane. Чертим выступ или впадину и жмем New group extruding active sketch. По умолчанию получаем выступ. Переходим в во второе маленькое окно программы и меняем extrude plane sketch с  union на difference. Передвигаем для получения кармана нужной глубины. При необходимости задаем точный размер. Выбираем в меню File/Export Triangle Mesh и сохраняем stl файл.

SolveSpace
SolveSpace


Blender

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

Blender

OpenSCAD

Установил, но реально не работал и ничего сказать не могу.

OpenSCAD
4.11.2015

Установите проигрыватель Flash

Облако тегов:
3D печать
Arduino
Raspberry Pi
Аэрофотосъемка
Байдарки
Геомеханика
История
Камеры
Макросъемка
Объективы
Освещение
Панорамы
Принадлежности
Принтеры
Программы
Сканеры
Стереосъемка
Фильтры
Фокусировка
Фотокубики
...
rss