Как я заставил нейросеть писать макросы для FreeCAD

Замучился искать 3D-модели с накаткой, поэтому заставил нейросеть поработать во FreeCAD.

Понял, что можно не рисовать чертежи часами, а получить результат, если передать задачу Клоду.

Моделировать по учебнику: эскиз, размеры, выдавливание и фаски. Это путь инженера-конструктора. В школе по физике тройка, а сопромат и расчет нагрузок — тёмный лес. Здесь и возникает решение, а если модель не рисовать, а написать.

Раньше скачивал готовые STL-файлы, которые нельзя исправить. Стоило изменить диаметр или шаг сетки, как всё ломалось. Рисовать каждую ячейку в CAD-системах долго.

Я отдал эту рутину ИИ Claude Sonnet. Нейросеть пишет макрос на Python, который превращает FreeCAD в генератор.

Модель перестраивается мгновенно, когда меняются цифры в свойствах объекта:

Как я заставил нейросеть писать макросы для FreeCAD
  • Высота. В модели «Гексагон» меняю параметр с 60 мм на 70 мм.
Как я заставил нейросеть писать макросы для FreeCAD
  • Плотность. Управляю расстоянием между рисунком через параметр Density: меняю с 25 на 18.
Как я заставил нейросеть писать макросы для FreeCAD
  • Отступы. Настраиваю расстояние от краев через параметр Margin.
Как я заставил нейросеть писать макросы для FreeCAD

В макрос заложены типы накаток, которые переключаются одним кликом.

Как я заставил нейросеть писать макросы для FreeCAD

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

Как я заставил нейросеть писать макросы для FreeCAD

Как запустить макрос

  1. Копирую текст макроса. Файл txt.
  2. В FreeCAD открываю: Макросы → Создать → Вставить код.
  3. Нажимаю Ctrl + F6. В дереве объектов появляется деталь.
  4. Во вкладке «Данные» настраиваю параметры под задачу.Больше не рисую вручную, а отдаю задачу ИИ.

Видео, макрос и готовые STL в моём телеграм-канале: https://t.me/spagetti3d

Начать дискуссию