Manual:Preparing models for 3D printing/ru

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

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


 * Убедитесь, что Ваш трёхмерных объект представляет собой твёрдое тело. Трёхмерные модели должны быть телами так же как объекты реального мира. Мы видели в предыдущих главах, что FreeCAD сильно помогает в этом вопросе, и что верстак PartDesign предупредит Вас, если производимая Вами операция помешает вашей модели оставаться твердотельной. Верстак Part так же содержит инструмент [[Image:Part_CheckGeometry.svg|16px]] Проверка геометрии, полезный для дальнейших проверок возможных дефектов.
 * Убедитесь насчёт размерности ваших объектов. Один миллиметр должен быть одним миллиметром в реальной жизни. Все размеры важны.
 * Управление деградацией. Никакие системы трёхмерной печати или фрезерования ЧПУ не воспринимают файлы FreeCAD напрямую. Большинство из них понимают только машинный язык, называемый G-код. У G-кода имеется несколько различных диалектов, каждая машина или поставщик обычно имеют свой собственный. Преобразование Вашей модели в G-код может быть лёгким и автоматическим, но Вы можете так же делать это вручную, с полным контролем выхода. В любом случае, некоторая потеря качества Вашей модели неизбежна. При объёмной печати Вы должны всегда проверять, что потеря качества остаётся в пределах допустимого.

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

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

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

Преобразование объектов в сетки
Ни один из слайсеров не использует твердотельную геометрию, создаваемую FreeCAD, напрямую. Так что сначала нам нужно конвертировать объекты, которые мы хотим печатать, в сетки, которые может открыть слайсер. По счастью, в то время как конвертация сетки в твердое тело - операция сложная, обратная ей операция преобразования в сетку очень прямолинейная. Всё, о чём мы должны заботиться, это об упомянутой выше деградации. Нам следует убедиться, что деградация остаётся в приемлемых рамках.

Вся обработка сеток в FreeCAD производится специальным верстаком Mesh. Этот верстак содержит, кроме наиболее важных инструментов для конвертации между объектами Part и Mesh, несколько утилит для анализа и исправления сеток. Хотя работа с сетками не главная для FreeCAD, при работе с трёхмерном моделированием часто требуется обрабатывать сетки, поскольку они очень широко распространены среди других приложений. Этот верстак обеспечивает их полную поддержку в FreeCAD.


 * Давайте конвертируем один из объектов, которые мы смоделировали в предыдущей главе, вроде кирпичика Lego (который может быть загружен в конце предыдущей главы).
 * Откроем файл FreeCAD с кирпичиком Lego.
 * Переключимся на верстак Mesh
 * Выделим кирпичик Lego
 * Выберем в меню Сетки -> Создайте сетку из фигуры
 * Откроется панель задач с несколькими опциями. Некоторые дополнительные механизмы создания сеток (Mefisto или Netgen) могут быть недоступны, в зависимости от того, как скомпилирована Ваша версия FreeCAD. Алгоритм создания сеток "По умолчанию" доступен всегда. Он предлагает меньше возможностей, чем два других, но полностью отвечает потребностям для малых объектов, которые могут быть напечатаны объёмными принтерами.




 * Выберите преобразователь в сетки По умолчанию, и оставьте отклонение поверхности в значении по умолчанию, равном 0.10. Нажмите Ok.
 * Будет создана сеточный объект, прямо на поверхности твердотельного. Скройте тело, или уберите один из объектов в сторону, чтобы сравнить оба.
 * Измените параметр Вид -> Display Mode сеточного объекта на Flat Lines, чтобы увидеть составные треугольники.
 * Если Вы не довольны, и считаете, что результат слишком груб, можете повторить операцию, уменьшив значение отклонения. В примере ниже левая сетка использует значение по умолчанию в 0.10, а правая - 0.01:



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

Теперь мы можем экспортировать нашу сетку в сеточный файловый формат, например, STL, который сейчас наиболее широко используется для трёхмерной печати, через меню Файл -> Экспортировать, и выбрав формат файлов STL.

Если у Вас нет объёмного принтера, можно найти коммерческий сервис, который напечатает и пришлёт по почте ваш объект. Кроме наиболее известных американской Shapeways (в Россию не присылает) и французской Sculpteo, Вы можете найти и другие в Вашем городе. В крупных городах, в частности, в Москве, Вы найдёте Fab lab, мастерские, оборудованные множеством станков, среди которых обязательно найдётся хотя бы один принтер трёхмерной печати. Обычно Fab labы представляют собой сообщества, позволяющие использовать их машины, платно или бесплатно в зависимости от мастерской, но как минимум научат Вас использовать их, и популяризуют другие виды деятельности в области трёхмерного изготовления.

Использование Slic3r
Slic3r это приложение, которое конвертирует объекты STL в G-код, который может быть отправлен прямо в объемный принтер. Подобно FreeCAD, это свободное программное обеспечение с открытыми кодами, и работает под Windows, Mac OS и Linux. Корректная настройка трёхмерной печати это сложный процесс, где Вы должны иметь немало познаний о Вашем принтере, так что это не слишком правильно создавать G-код, если Вы не готовы к печати (Ваш файл G-кода может неправильно работать на другом принтере), но это полезно для нас в любом случае, чтобы убедиться в беспроблемной пригодности нашего файла STL для печати.

Это наш экспортированный файл STL, открытый в Slic3r. Используя вкладку preview, и передвигая правую полосу прокрутки, мы можем визуализировать путь, который пройдёт головка принтера для создания нашего объекта.



Использование плагина Cura
Cura это другое приложение нарезки для Windows, Mac и Linux, поддерживаемое производителем принтеров Ultimaker. Некоторые пользователи FreeCAD создали верстак Cura, который использует использует его внутри. Верстак Cura доступен из репозитория расширений FreeCAD. Для использования верстака Cura, у Вас так же должна быть установлена Cura, не включённая в верстак.

Когда Вы установили и Cura, и верстак, Вы сможете использовать его для получения G-кода прямо из объектов Part, без необходимости конвертировать его в сетку, и без необходимости открывать внешнее приложение. Создание ещё одного файла G-кода из нашего кирпичика Lego, на сей раз с использованием верстака Cura, делается так:


 * Загрузите файл, содержащий наш кирпичик Lego (он может быть загружен по ссылке в конце предыдущей главы)
 * Переключитесь на верстак Cura
 * Установите рабочее пространство принтера выбором в меню 3D printing -> Create a 3D printer definition. Поскольку мы не собираемся печатать по-настоящему, мы можем оставить значения как есть. Геометрия печатной подложки и доступное пространство будет показано в трёхмерном окне.
 * Поместите кирпичик Lego в подходящее место, например, в центр печатной подложки. Заметьте, что объект PartDesign не может быть перемещён напрямую, так что Вы должны будете либо переместить первичный эскиз (первый прямоугольник), или переместить (и печатать) копию, которая может быть создана инструментом Деталь -> Создать простую копию. Копия может перемещаться, например, с помощью [[Image:Draft_Move.svg|16px]] Черчение -> Перемещение.
 * Выделите объект для печати, и выберите в меню 3D printing -> Slice with Cura Engine.
 * В открытой панели задач убедитесь, что путь к приложению Cura установлен правильно. Поскольку мы не обязательно собираемся печатать, мы можем оставить остальные опции как есть. Нажмите Ok. В каталоге с Вашим файлом FreeCAD будут сгенерированы два файла: STL и G-код.




 * Созданный G-код так же может быть импортирован обратно в FreeCAD (с использованием препроцессора slic3r) для проверки.

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

В FreeCAD генерация G-кода производится с помощью верстака Path. Он содержит инструменты, которые генерируют полные трассы инструментов машины и другие, которые могут быть собраны для формирования полной операции фрезерования.

Генерация трасс фрезерования на станке с ЧПУ это ещё одна тема, которая слишком обширна для этого руководства, так что мы собираемся показать только простой проект Path, не обращая внимания на детали реального производства с помощью ЧПУ.


 * Загружаем файл, содержащий наш элемент Lego, и переключаемся на верстак Path.
 * Поскольку конечный элемент не содержит прямоугольный верх, скрываем конечный элемент, и показываем первое из сделанных нами кубических выдавливаний, имеющее прямоугольный верх.
 * Выделяем верхнюю поверхность и нажимаем кнопку [[Image:Path_FaceProfile.svg|16px]] Face Profile.
 * Устанавливаем его параметр Offset в 1 мм.




 * Затем дублируем первую петлю несколько раз, чтобы инструмент выпилил целый блок. Выберем трассу FaceProfile, и нажмём [[Image:Path_Array.svg|16px]] Array button.
 * Установим параметр массива Copies на 8, и смещение на Offset -2 мм в направлении Z, и переместим положение массива на 2 мм в направлении Z, так чтобы вырезание началось немного выше выдавки, учитывая высоту точек.




 * Теперь у нас определена трасса, следуя по которой фрезерный станок выпилит из заготовки прямоугольный блок. Теперь надо выфрезеровать пространство между точками, чтобы высвободить их. Скройте выдавку, и снова сделайте видимой конечный кирпичик, чтобы мы могли выделить поверхность, лежащую между точками.
 * Выделите верхнюю поверхность, и нажмите кнопку [[Image:Path_FacePocket.svg|16px]] Face Pocket. Установите параметр Offset в 1 мм, а retraction height в 20 мм. Это высота, на которой фреза пройдёт при переходе с одной петли к другой. Без него фреза может прорезать прямо через одну из наших точек:




 * Ещё раз сделаем массив. Выделим объект FacePocket, и нажмём кнопку [[Image:Path_Array.svg|16px]] Array. Установим Copies в 1 и offset в -2 мм в направлении Z. Переместим положение массива на 2 мм в направлении Z. Наши две операции теперь готовы:




 * Теперь всё, что осталось сделать, это объединить эти операции. Это можно сделать через Path Compound или Path Job. Поскольку нам больше ничего не нужно и мы уже готовы к экспорту, мы используем Job. Нажмите кнопку [[Image:Path_Job.svg|16px]] Job.
 * Установите параметр Use Placements проекта в True, поскольку мы изменили положение массивов, и мы хотим, чтобы это было учтено в проекте.
 * В древе проекта перетащим два массива в проект. Если нужно, массивы внутри проекта можно переупорядочить двойным кликом по ним.
 * Проект теперь можно экспортировать в G-код, выбрав его, выделив в меню Файл -> Экспорт, выбрав формат G-код, и выбрав скрипт постобработки в соответствии с Вашей машиной в открывшемся всплывающем диалоге.

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

Загрузки


 * Созданный в этом упражнении файл STL: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/lego.stl
 * Файл, созданный в этом упражнении: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/path.FCStd
 * Файл G-кода, созданный в этом упражнении: https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/lego.gcode

Читать далее


 * Верстак Mesh
 * Формат файлов STL
 * Slic3r
 * Cura
 * Верстак Cura
 * Верстак Path
 * Camotics