Antimony — экспериментальная CAD-система Мэтта Китера, представляющая альтернативу привычному чертёжному интерфейсу. Автор описывает её как инструмент из параллельной истории, где системы автоматизированного проектирования развивались из Lisp-машин, а не чертёжных досок. Проект вырос из работы над персональными CAD/CAM-процессами в MIT Center for Bits and Atoms.
Архитектура состоит из трёх частей: механизма потоков данных на направленных ациклических графах, геометрического движка для конструктивной сплошной геометрии CSG и стандартной библиотеки фигур и преобразований. Модель собирается соединением узлов. Каждый узел обычно представляет примитив или операцию и определяется настраиваемым сценарием на Python 3 с дополнительными ключевыми словами для входных и выходных портов.
Связи графа отслеживаются автоматически: при изменении параметра результат распространяется ко всем зависимым узлам. Это позволяет строить сложные многокомпонентные сборки, не повторяя вручную всю цепочку операций. Помимо базовых поворотов, масштабирования и булевых операций библиотека содержит менее привычные преобразования, например притяжение, отталкивание и изгиб. Пользователи могут добавлять собственные узлы, если знают Python.
Геометрический движок использует функциональное представление твёрдых тел. Такое описание хорошо подходит объединению, пересечению и вычитанию фигур. Внутри приложения формы отображаются как затенённые растровые изображения, которые затем помещаются в трёхмерное окно. Для производства поддерживаются экспорт heightmap для 2.5D-обработки и STL для 3D-изготовления; при выгрузке STL предусмотрено распознавание элементов, чтобы сохранять острые углы и рёбра.
Узлы могут определять не только геометрию, но и элементы интерфейса. Например, прямоугольник отображает каркас и управляющие точки в углах. Перетаскивание такой точки возвращает изменение в граф и обновляет параметры модели. Сами фигуры описываются компактными префиксными математическими строками: для окружности строка кодирует поле расстояния до её поверхности.
Исходный код Antimony опубликован на GitHub, доступны сборка для Mac и инструкции по сборке на Mac и Linux. Стабильность соответствует бета-версии, поэтому автор не рекомендует применять инструмент в критически важных задачах. Проект остаётся открытым для новых узлов и более серьёзных улучшений рендеринга, интерфейса и производительности.