Тред

G-code

Мои эксперименты с 3D-печатью и генеративным дизайном


Капельная стенка: объём капли растёт в пределах каждого оборота, а шаг спирали плавно увеличивается снизу вверх. В верхней части соединительная нить перестала удерживать капли вместе, и конструкция распалась на петли.

Технические параметры

Геометрия

  • Радиус цилиндра: 5 мм (диаметр 10 мм)
  • Общая высота печати: 60,2 мм (0,2 мм подошва + 60 мм капельная стенка)
  • Угловой шаг между каплями: 10°, то есть 36 капель на оборот
  • Горизонтальное расстояние между соседними каплями по дуге на радиусе 5 мм: 0,873 мм

Шаг витка

Высота подъёма спирали за один оборот:

  • от 1 мм внизу до 10 мм наверху
  • переход плавный, линейный по высоте, один раз снизу вверх

Объём капли

  • От 0,01 мм³ до 5 мм³
  • Пила по углу: линейный рост на протяжении всего оборота (0→360°), затем резкий сброс к минимуму в начале следующего оборота
  • Капля выдавливается на месте, без движения сопла: сопло переезжает к точке, затем выдавливает материал стоя

Скорость выдавливания капли

  • Постоянная: 50% от максимального объёмного потока филамента донора. Для PETG на P1S это 12 мм³/с, поэтому здесь — 6 мм³/с независимо от размера капли
  • В пересчёте на подачу нити диаметром 1,75 мм: 2,5 мм/с; в G-code это F150

Соединительная нить

Она удерживает капли вместе по кругу; без неё конструкция не держится.

  • Ширина: 0,35 мм
  • Высота сечения: 0,2 мм
  • Объём на миллиметр пути: 0,07 мм³/мм
  • Скорость движения: 15 мм/с
  • Не зависит от шага витка и всегда остаётся одинаковой толщины

Подошва

  • Сплошной диск для сцепления со столом
  • Спираль от центра к краю, ширина линии 0,5 мм, высота 0,2 мм
  • Число витков подобрано так, чтобы дать нахлёст около 10% и не оставить щелей

Донор: L-профиль (Justagwas)
Материал: PETG
Принтер: Bambu Lab P1S
Сопло: 0,4 мм


Возвращаюсь к экспериментам после долгого перерыва. Начал с того, что навайбкодил новый сетап, который умеет брать настройки из донорского 3MF-файла, подменять G-code на процедурный и создавать веб-превью.

Уже не думал, что успею сегодня что-то напечатать, но вот что получилось! Уклон стенки вышел слишком сильным, и нить спеклась плохо. Лучики спеклись лучше.


Pinch roller

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

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

Можно, конечно, включить режим вазы. В этом режиме головка поднимается плавно по спирали и швов нет. Но стенка печатается в один слой, а мне надо было заполнить всю деталь кроме центрального отверстия.

И тут впервые g-code сыграл роль в решении прикладной задачи! Я подобрал уравнение циклоиды и распечатал нужную деталь без швов одной спиралью. С первого раза кривовато, но идея рабочая.


Геометрическая органика. Хотелось сделать что-нибудь тактильно интересное, кажется, вышло.

Это третья попытка: первая была с переэкструзией, вторая поплыла без вентилятора. Оказывается, раньше я вентилятор и не использовал, и так прокатывало. В середине печати забуксовала катушка, но произошло чудо и всё допечаталось.


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


Решил подойти системно к генерации gcode. Проверяю, при какой высоте и каком объёме выдавливаемого пластика что получается. Циклами сгенерил такую тракеторию:

Matrix in slicer

Получилась матрица пупочек:

Matrix

Ещё одна штука тем же алгоритмом, что и вчерашняя — клеточный автомат, но теперь упакованный в гексагональную решётку. Размер 4 см.

Трубки плотно прилегают друг к другу, получается такая соты-не-соты текстура. Нравится как слои печати добавляют органики — будто коралл какой-то.


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


Учусь управлять 3D принтером через G-code. Это язык, на котором компьютер говорит принтеру, что печатать — длинный список команд куда подвинуться и сколько пластика выдавить.

Обычно G-code делают слайсерами: они берут 3D модель, нарезают на слои и генерируют команды. Но можно писать G-code руками! Тогда можно печатать не по слоям, а то вверх, то вниз — получаются ажурные конструкции, которые слайсер не осилит.

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

Два дня ковырялся, получилось что-то прикольное. Это одномерный клеточный автомат — разные его шаги видны вдоль оси цилиндра. Нравится текстура, как будто вязаная.

В джикоде выглядит так Full Control gcode visualization

А в слейсере так Slicer view gcode visualization