Кремень FMZ Реклама
Kremen FMHM Реклама

Ultimaker Cura: настройка профиля для кастомного 3D принтера

Railnolds
Идет загрузка
Загрузка
29.10.2019
72364
93
Техничка

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

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

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

38

После сборки нового принтера стал вопрос: каким слайсером будет удобнее пользоваться для работы с ним. Принтер у меня самодельный, с ToolChanger на 4 сменных инструмента. Старый принтер был с одним экструдером, я использовал Simplify3D для нарезки G-code, поэтому особо не заморачивался с настройками профилей для принтера, просто менял настройки в зависимости от того, какая деталь печаталась и какое качество было нужно. Теперь же настройки печати стали занимать больше времени, если это многоцветная печать. Simplify3D позволяет работать с несколькими экструдерами, но удобство пользования его интерфейсом мне не очень подходит (возможно я просто не разобрался).

Ultimaker Cura: настройка профиля для кастомного 3D принтера

Для этого принтера будем делать профиль
Параллельно я также некоторые детали нарезал в Ultimaker Cura. В основном это были простые детали, не требующие поддержек. Делалось это из интереса, потому что часто попадались видео с различными настройками и улучшениями, которые появляются в новых версиях этого слайсера. Поначалу, как и многих, Cura пугает наличием огромного количества настроек, которые зачастую связаны между собой. Но тем не менее, у меня она отлично нарезала детали прямо после установки, на интуитивно настроенных параметрах печати.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
При первом запуске Cura предлагает выбрать профиль принтера. Однако по понятным причинам моего принтера в представленном перечне небыло. Тем не менее, можно вручную задать параметры своего принтера и работать с ним без проблем (выбрав из предложенного списка вариант Custum). Однако созданный таким образом принтер имеет только базовые настройки, основанные на дефолтном профиле. Чтобы настроить принтер более тонко, а также иметь доступ к большему количеству его настроек совместно с настройками печати, рекомендуется создать для него профиль. Ниже на примере своего принтера я постараюсь показать, как это делается.
Структура профиля принтера в Ultimaker Cura
Профиль принтера в Ultimaker Cura состоит из нескольких конфигурационных файлов, в которых прописываются основные настройки принтера. Профили принтеров, которые Cura уже имеет в своем дистрибутиве, после установки программы располагаются в папке resources. Если быть конкретнее, то в папках definitions, extruders, materials, meshes, quality и variants. Чтобы настроить профиль для своего принтера, необходимо в каждую из папок добавить файл с настройками для своего принтера. Тогда ваш принтер будет отображаться в списке. В дальнейшем для добавления своего принтера в Cura необходимо будет просто скопировать эти файлы в соответствуюшие папки и затем добавить его, выбрав в списке доступных принтеров.
Папка definitions
В этой папке находятся конфигурационные файлы с именем принтера в формате json, которые описывают основные настройки принтера (габариты рабочей области, наличие подогреваемого стола, количество экструдеров, имя и т.п.). Пример такого файла для моего принтера показан на рисунке ниже.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Кратко пробежим по настройкам, которые в нем представлены.
"manufacturer": "DreamsCube",                                                название производителя принтера
"visible": true,                                                                              видимость принтера в списке включена
"file_formats": "text/x-gcode",                                                    формат файла вывода gcode
"has_materials": true,                                                                 включена возможность выбора материалов для печати
"has_machine_quality": true,                                                     выбор настроек качества печати включен
"quality_definition": "dreamscube",                                           папка расположения настроек качества печати
"has_variants": true,                                                                   выбор различных вариантов принтера включен
"variants_name": "Nozzle Size",                                                название параметра вариантов принтера
"preferred_variant_name": "0.4mm Nozzle",                           вариант принтера по умолчанию
"platform": "dreamscube.stl",                                                    название файла с моделью печатного стола принтера
"machine_extruder_trains":                                                     название и номера экструдеров принтера
 {
  "0": "dreamscube_extruder_1",
  "1": "dreamscube_extruder_2",
  "2": "dreamscube_extruder_3",
  "3": "dreamscube_extruder_4"
 }
"machine_name": { "default_value": "DreamsCube" },             название принтера
"machine_shape": { "default_value": "rectangular" },               форма стола (прямоугольный)
"machine_width": { "default_value": 290 },                                ширина печатной области (ось Х)
"machine_depth": { "default_value": 200 },                               глубина печатной области (ось Y)
"machine_height": { "default_value": 190 },                               высота печатной области (ось Z)
"machine_extruder_count": { "value": 4 },                                 количество экструдеров
"machine_buildplate_type": { "value": "glass" },                        тип покрытия стола (стекло)
"machine_heated_bed": { "default_value": true },                     стол с подогревом
"machine_center_is_zero": { "default_value": false },              ноль в центре стола (отключено)
"machine_gcode_flavor": { "default_value": "RepRap (RepRap)" }, тип генерируемого gcode
"machine_start_gcode":                                                             стартовый gcode принтера
"machine_end_gcode":                                                             завершающий gcode принтера
В принципе, тут все понятно. Единственное на что хочу обратить внимание – необходимо строго соблюдать синтаксис файла типа json, иначе Cura будет выдавать предупреждение об ошибке в файле конфигурации и ваш принтер не появится в списке. Также обратите внимание на формат стартового и завершающего gcode. Это не просто скопированный и вставленный текст из окна слайсера или откуда-то ещё. Он также имеет синтаксис, а именно – разделение на строки. В качестве разделяющего знака используется /n в конце каждой строки. Пример стартового кода:
"machine_start_gcode":         {  "default_value": "G28 X Y ; home\n G28 Z\n G21 ; unit in mm\n G90 ; absolute positioning\n M82 ; use absolute distances\n M107 ; fan off\n G1 Z10 F1500 ; go Z start position"   },

В окне настроек принтера в Cura этот gcode будет выглядеть так:
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Параметры принтера в интерфейсе Cura
Папка extruders
В этой папке находятся конфигурационные файлы для экструдеров, также в формате json. Пример такого файла для одного из экструдеров моего принтера показан ниже.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Основные настройки следующие:
"id": "dreamscube_extruder_1",                                  идентификатор экструдера (совпадает с именем файла)
"name": "Extruder 1",                                                   отображаемое имя экструдера
"machine": "dreamscube",                                          идентификатор принтера
"position": "0"                                                              положение экструдера в меню слайсера
"extruder_nr": { "default_value": 0 },                          номер экструдера, передаваемый в gcode
"machine_nozzle_size": { "default_value": 0.2 },      диаметр сопла
"material_diameter": { "default_value": 1.73 }            диаметр филамента
Также в этот файл можно добавить настройки офсетов по осям XYZ, если в прошивке они не указаны. У меня эти значения в прошивке, и я рекомендую их вносить именно туда, а не в слайсер. Для этого надо добавить соответствующие строки:
"machine_nozzle_offset_x": { "default_value": 0 }, "machine_nozzle_offset_y": { "default_value": 0 }, "machine_nozzle_head_distance": { "default_value": 2.7 },
Фактически, на этом настройки профиля можно считать законченными. Тоесть, минимально должны быть созданы 2 файла – один в папке definitions и один в папке extruders. После копирования этих файлов в соответствующие папки, принтер будет доступен для выбора в списке Cura. 
Также можно продолжить настройки, добавив некоторые полезные функции для принтера.
Папка materials
В этой папке находятся файлы параметров материалов в формате xml, которые могут использоваться при печати и доступны в списке материалов. В этих файлах хранятся различные преднастройки для каждого материала – название, производитель, цвет, настройки температур, параметров ретракта и т.п. По умолчанию в Cura уже заложены различные материалы некоторых производителей. Я использую материалы ESun, и к моему удивлению их нет в перечне материалов Cura. Поэтому пришлось добавлять самому. Пример такого файла на картинке ниже.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Рассмотрим основные настройки:
brand>ESun                                                  производитель
material>ABS                                                типа материала
color>Black                                                   название цвета
label>ABS Black                                          отображаемое название материала
color_code>#000000                                 код цвета материала
adhesion_info>Print on bare glass. Use tape for cold build plates.      описание типа адгезии. Чисто для красоты
density>1.24                                                  плотность материала
diameter>1.73                                                диаметр нити
setting key="standby temperature">185.0     температура ожидания
setting key="print cooling">30.0                     проценты кулера охлаждения детали
setting key="retraction speed">55.0              скорость ретракта
setting key="retraction amount">6.5              величина ретракта
setting key="heated bed temperature">110.0     температура стола
setting key="print temperature">240.0              температура сопла
setting key="initial print temperature">240.0     температура начала печати
setting key="final print temperature">240.0     температура окончания печати
Естественно, сюда можно и другие настройки добавлять. При выборе материала они будут автоматически применяться.
Папка meshes
В этой папке располагаются модели принтеров для отображения в интерфейсе программы. В зависимости от типа принтера это может быть полная трехмерная модель принтера, либо модель только стола – на ваше усмотрение.
Поскольку принтер я проектировал и собирал сам, у меня была трехмерная модель стола в Solidworks. Чтобы она отображалась в интерфейсе Cura её необходимо сохранить в формате stl с соответствующем именем принтера в папку meshes. Имя файла должно совпадать с именем, указанным в параметрах принтера, раздел definitions ("platform": "dreamscube.stl",).
Однако при первом открытии принтера вы можете наблюдать такую картину.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Неправильное расположение модели стола в интерфейсе Cura
Это потому, что 3Д модель стола не отцентрирована относительно начала координат печатной области принтера. Чтобы её отцентрировать правильно, необходимо модель в stl открыть непосредственно самой Cura, повернуть её и отцентровать относительно начала системы координат печатной области принтера, а затем пересохранить в stl формат, выбрав в меню Cura Файл - Export.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Совмещаем ноль стола и начало координат печатной области принтера
Папка variants
В этой папке находятся файлы конфигурации конструктивных вариантов принтера с расширением cfg. В моем случае конструктивно у меня отличаются параметры экструдеров, а именно – диаметры сопел. Три экструдера у меня с соплом 0.4 мм, а один 0.2 мм. Это те, которые стоят сейчас в принтере. Но если мне захочется поменять инструмент и поставить сопло другого диаметра, то в настройках мне будут доступны различные варианты сопел, которые я могу применить к любому из установленных экструдеров.
Чтобы это сделать необходимо добавить различные конфигурации в папку vsriants. Эти конфигурации должны находиться в папке variants\имя принтера. О том, что принтер может иметь различные варианты конфигураций мы ранее объявили в настройках раздела definitions
"has_variants": true,
"variants_name": "Nozzle Size", 
"preferred_variant_name": "0.4mm Nozzle",
Пример файла конфигурации выглядит так:
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Как видим, здесь всего одна настройка – диаметр сопла.
name = 0.2mm Nozzle                      название конфигурации
definition = dreamscube                  идентификатор принтера
machine_nozzle_size = 0.2              диаметр сопла
Создав несколько файлов с конфигурациями, мы имеем возможность выбирать их в меню экструдеров наравне с выбором типа и цвета филамента, загруженного в экструдер (в верхней части интерфейса Cura). Эти настройки всегда находятся на виду, всегда видно какое сопло установлено в экструдере и какой материал и цвет филамента туда заправлен, что очень удобно.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Папка quality
В этой папке находятся конфигурации для настройки параметров качества печати – в подпапках в соответствии с названием принтера. После добавления туда нескольких вариантов настроек с различным качеством печати, они будут доступны для выбора в интерфейсе Cura. Рассматривать подробно какие настройки могут входить в эти файлы я не буду. Этих настроек очень много, фактически сюда могут быть добавлены абсолютно все настройки, которые вы можете видеть в графическом интерфейсе самой программы. О целесообразности таких преднастроек качества печати я пока сказать не могу. Ведь под каждую деталь настройки приходится менять.
Тем не менее, если вдруг кто-то захочет такие настройки создать, вот по этой ссылке вы можете найти все параметры с описанием, которые могут быть включены. Они записываются в cfg файл в простейшем виде типа
layer_height = 0.1
layer_height_0 = 0.15
wall_line_count = 4
top_layers = 6
bottom_layers = 3
fill_outline_gaps = True
infill_overlap = 8
infill_sparse_density = 26
infill_sparse_thickness = 0.2
infill_sparse_density = 100
material_flow = 98
material_flow_layer_0 = 98
Сохранение настроек видимости параметров в интерфейсе Cura
В интерфейсе Cura есть несколько вариантов отображения параметров настройки печати – Basic, Advanced, Expert. Тем не менее, каждый пользователь настраивает отображение этих параметров под себя. Чтобы не делать это каждый раз при переустановке программы, или при переносе профиля принтера на другой компьютер, можно создать свой пользовательский набор настроек, который будет добавляться при копировании профиля принтера. Это можно сделать на базе встроенного набора Expert. Эти файлы располагаются в папке программы resources\ setting_visibility. Создав копию файла expert.cfg и переименовав его, можно в нем убрать ненужные параметры печати для отображения. Затем выбрать новый профиль параметров отображения настроек печати в интерфейсе программы.
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Выбор отображаемых параметров настройки печати
После настройки и применения профиля принтера, интерфейс Cura в моем случае выглядит так
Ultimaker Cura: настройка профиля для кастомного 3D принтера
Интерфейс Cura с примененным профилем кастомного принтера
Теперь пользоваться программой намного удобнее. 
Я показал базовые настройки для создания профиля кастомного принтера. Наверняка можно сделать лучше. Может кому-то эта информация пригодиться и поможет сделать работу со слайсером Ultimaker Cura удобнее и комфортнее.
Удачи всем!
Полезные ссылки
Ссылка на архив профиля принтера на базе которого можно сделать свой профиль.

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

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

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

38
Комментарии к статье