Не имея опыта создания модов, аддонов, и прочего софта, я решил попробовать написать скрипт по созданию шестерней в Blender.
Написал запрос. Через 30 секунд она выдала результат. Я скопировал его в Blender, запустил, и он выдал мне вот это:
После нескольких часов ковыряния с этим кодом я пообщался со своим давним другом, который настоящий программист, а не как я. И вот он подкинул идею. Он предположил что я столкнулся с такой проблемой как «Задача коммивояжёра».
Простыми словами:
Представьте, что вы продавец (коммивояжер), который должен посетить несколько городов. Ваша цель — найти самый короткий маршрут, чтобы:
Начать путь из одного города.
Посетить каждый город ровно один раз.
Вернуться в начальный город.
Важно: нужно выбрать такой маршрут, чтобы пройти минимальное расстояние.
Так вот эта задача оказалась нейросетке не по зубам. Кстати я использовал qwenlm и deepseek. Обе облажались. Считается что машина не может решить эту задачу за адекватное количество времени, потому что с ростом числа точек сложность растёт по экспоненте. Зато есть метод аппроксимации, по которому робот может дать приблизительный ответ, и это займёт гораздо меньше времени. Наверное сетка этим и воспользовалась. Если я не прав — поправьте в комментариях.
Тогда я стал действовать иначе:
Нашёл открытый код, скормил его нейронке, и дал указания работать по нему. Геометрия улучшилась. Но она рисовала две половинки зуба, и два радиуса. Для каждого зуба. Представляете какое месиво получалось? Естественно соединить это она уже не могла.
После я стал давать команды последовательно. Заставил почистить лишние вершины, соединить ближайшие, заполнить весь контур одним n-гоном, выполнить процедуру «экструд». И выполнить булеву операцию, для создания отверстия.
После нескольких десятков итераций, я получил рабочий код. Это всё ещё было быстрее, чем если бы я учился делать это руками.
Далее я добавил делительную окружность. Это та, по которой шестерни соприкасаются. Мы же тут про 3д печать. Верно?
И оформил пользовательский интерфейс:
Затем упаковал всё это в один файл, и сделал его аддоном. Для этого тоже нужно кое-что дописать в код.
Теперь аддон можно устанавливать, удалять, и включать, выключать.
Сетка получилась приемлемая. Хотя работать с ней и не очень удобно.
В общем, метод рабочий. Но нужно иметь представление о том, как этим всем пользоваться. Иначе результата не добиться.
Записал ролик, где демонстрирую её работу
У кого проблемы с Ютубом — продублировал у себя в телеге
Если есть интересные идеи для аддонов, или методы реализации — пишите. Может получится реализовать что-то полезное.