Пока вы читаете этот абзац, классический FDM-принтер успеет положить от силы пару линий пластика, а фотополимерник оторвёт от плёнки один 50-микронный слой. А теперь представьте принципиально иной процесс: стеклянная банка с прозрачной жидкостью вращается на платформе, в неё бьёт луч проектора с меняющимся узором, и спустя сорок секунд прямо в толще смолы возникает готовая монолитная деталь. В ней нет ступенек по высоте, нет межслойных дефектов и нет леса поддержек, который потом приходится часами срезать ножом. Вы просто извлекаете готовое изделие пинцетом и промываете в изопропиловом спирте.
Это не рендер из фантастического кино, а технология Computed Axial Lithography (CAL) — объёмная томографическая печать. Научные основы метода были подробно описаны в журналах Science и Nature Communications командами из Беркли и Федеральной политехнической школы Лозанны ещё в 2019-2020 годах. Физический принцип давно доказан и многократно воспроизведён в академических стенах, однако за пределами пары закрытых зарубежных лабораторий технология остаётся экзотикой. Мы с другом решили разобраться, почему вокруг столь многообещающего метода до сих пор нет доступной открытой экосистемы, и начали разработку собственного слайсера с открытым исходным кодом — SpinSlicer.
Принцип работы CAL проще всего объяснить через медицинскую томографию, только запущенную в обратном направлении. В привычном компьютерном томографе рентгеновская трубка делает серию плоских теневых снимков пациента под разными углами, а алгоритм обратного преобразования Радона восстанавливает по ним трёхмерную структуру органов. В объёмной печати мы идём строго от обратного: берём цифровую 3D-модель, виртуально просвечиваем её со всех направлений от нуля до трёхсот шестидесяти градусов и генерируем динамический видеоряд проекций. Когда проектор транслирует эти кадры в ёмкость со смолой синхронно с её вращением, каждый луч проходит через весь объём насквозь. Одиночный световой импульс отдаёт материалу лишь малую долю энергии и не вызывает затвердевания. Однако в тех координатах, где сходятся сотни лучей под разными углами, суммарная доза превышает химический порог гелеобразования, и деталь формируется целиком за один цикл.
При изучении академических публикаций вроде OpenCAL первое, что отпугивает любого инженера или мейкера — смета установки, уходящая далеко за полторы тысячи долларов. В реальности эта пугающая цифра обусловлена не сложностью устройства, а академической привычкой собирать всё из каталогов лабораторного оборудования Thorlabs, где за один фрезерованный уголок выставляют счёт на сотню долларов. Если отбросить грантовый жир, механика CAL-принтера оказывается значительно проще любого настольного принтера. Здесь нет осей X и Y, зубчатых ремней, кареток и концевиков, а вся кинематика сводится к единственному поворотному столу. Вращение организуется на стандартном шаговом двигателе NEMA 17 с микрошаговым драйвером типа TMC2209 и микроконтроллером, корпус печатается на домашнем принтере, а оптическая часть требует лишь светосильного DLP-модуля и прямоугольной стеклянной кюветы. Кювета необходима для оптического согласования: круглая колба в воздухе работает как собирающая цилиндрическая линза, превращая пучок в кашу, поэтому её погружают в иммерсионную ванну с глицерином или минеральным маслом, чей показатель преломления совпадает со стеклом. Конечно, при сборке придётся повозиться с юстировкой оптики, устранением радиального биения банки и жёсткой аппаратной синхронизацией кадров, но весь бюджет такого стенда укладывается в 20-35 тысяч рублей.
Программная часть задачи не менее интересна, поскольку традиционные слайсеры вроде PrusaSlicer или Chitubox здесь неприменимы в принципе. Они предназначены для нарезки геометрии на плоские горизонтальные сечения, тогда как для CAL необходимо решить обратную задачу оптимизации распределения света. Проекция должна учитывать рефракцию на стыке сред по закону Снеллиуса, затухание пучка по закону Бугера-Ламберта-Бера в глубине мономера и пересвет оси вращения, где доза естественным образом накапливается быстрее. Для этого мы развиваем SpinSlicer, где графическая оболочка на Python и PyQt6 управляет вычислительным ядром на C++ с распараллеливанием через OpenMP. Программа проводит вокселизацию модели, рассчитывает оптимизированные кадры методом SIRT (Simultaneous Iterative Reconstruction Technique) и собирает готовый квадратный видеоряд для проектора. Оптимизация матричных вычислений позволила нам уложить потребление оперативной памяти в скромные 250 мегабайт вместо прежних четырнадцати гигабайт, а сам расчёт занимает секунды на обычном процессоре. При этом мы отдаём себе отчёт, что наш софт пока представляет собой расчётный фундамент: математика полностью сошлась в симуляции, но алгоритму ещё предстоит тонкая калибровка под искажения реальных объективов и тесты на живой печати.
И вот здесь мы подходим к главному барьеру, о который разбиваются почти все открытые инициативы в этой области — фотополимерным смолам. Если залить в кювету стандартную смолу для LCD- или DLP-принтера, эксперимент закончится полным провалом: ёмкость либо останется жидкой, либо моментально превратится в монолитный кусок пластика. Коммерческие фотополимеры создаются с расчётом на послойную полимеризацию глубиной всего в пятьдесят микрон, поэтому производители намеренно насыщают их УФ-блокаторами для ограничения светопропускания. В томографической печати луч обязан прошивать банку диаметром сорок-восемьдесят миллиметров насквозь с минимальными потерями, иначе внешние слои сгорят, а в сердцевину свет попросту не проникнет.
Второй фундаментальный фактор — химическая нелинейность отклика. В обычной смоле реакция протекает квазилинейно, из-за чего паразитные фоновые лучи непременно превратят весь объём в студень раньше, чем успеет сформироваться геометрия. В CAL нашим главным союзником выступает растворённый в смоле кислород: на малых интенсивностях он мгновенно связывает образующиеся свободные радикалы, удерживая мономер в жидком состоянии. Процесс полимеризации должен запускаться только в зонах максимального пересечения лучей, где кислород локально выгорает за пару секунд. Наконец, отсутствие механических поддержек требует высоковязкой основы, напоминающей густой мёд, чтобы затвердевающий фрагмент не утонул под силой тяжести прямо во время экспозиции.
За рубежом специализированная смола для OpenCAL продаётся по сто двадцать долларов за флакон, а с учётом логистики её доставка становится золотой. При этом рецептуры подобных составов не содержат секретных ингредиентов и открыто опубликованы в научных статьях. Основой служат высоковязкие мономеры вроде диакрилатов полиэтиленгликоля (PEGDA) и уретанакрилатов, в качестве инициаторов с низким поглощением выступают микродозировки TPO или камфорохинона, а порог реакции стабилизируется ингибиторами вроде TEMPO. Все эти реактивы свободно производятся и продаются на химическом рынке России, их закупают промышленные производители клеев, композитов и лаков. Их не нужно изобретать с нуля — требуется грамотно рассчитать концентрации, снять спектры экстинкции на нужной длине волны и экспериментально подобрать баланс ингибирования.
Мы написали программную основу и выложили SpinSlicer на GitHub под открытой лицензией MIT, но в одиночку закрыть все узлы междисциплинарного проекта невозможно. Нам очень нужны единомышленники: инженеры и мейкеры для совместного проектирования надёжного поворотного стенда с точной оптикой, а главное — химики, материаловеды и сотрудники университетских лабораторий, которым интересно сварить и протестировать правильную открытую рецептуру фотополимера. Если вам близка эта тема, заглядывайте в наш репозиторий на GitHub: redbluecarrot/SpinSlicer, пишите в комментариях или связывайтесь со мной напрямую в Telegram: @Schiaparellli. Давайте объединим усилия и покажем, что передовую аддитивную технологию вполне реально поднять своими руками.