Нейросеть пишет мне аддоны для Blender. Это оказалось сложнее, чем я думал
Не имея опыта создания модов, аддонов, и прочего софта, я решил попробовать написать скрипт по созданию шестерней в Blender.
Написал запрос. Через 30 секунд она выдала результат. Я скопировал его в Blender, запустил, и он выдал мне вот это:
После нескольких часов ковыряния с этим кодом я пообщался со своим давним другом, который настоящий программист, а не как я. И вот он подкинул идею. Он предположил что я столкнулся с такой проблемой как «Задача коммивояжёра».
Простыми словами:
Представьте, что вы продавец (коммивояжер), который должен посетить несколько городов. Ваша цель — найти самый короткий маршрут, чтобы:
Начать путь из одного города.
Посетить каждый город ровно один раз.
Вернуться в начальный город.
Важно: нужно выбрать такой маршрут, чтобы пройти минимальное расстояние.
Так вот эта задача оказалась нейросетке не по зубам. Кстати я использовал qwenlm и deepseek. Обе облажались. Считается что машина не может решить эту задачу за адекватное количество времени, потому что с ростом числа точек сложность растёт по экспоненте. Зато есть метод аппроксимации, по которому робот может дать приблизительный ответ, и это займёт гораздо меньше времени. Наверное сетка этим и воспользовалась. Если я не прав — поправьте в комментариях.
Тогда я стал действовать иначе:
Нашёл открытый код, скормил его нейронке, и дал указания работать по нему. Геометрия улучшилась. Но она рисовала две половинки зуба, и два радиуса. Для каждого зуба. Представляете какое месиво получалось? Естественно соединить это она уже не могла.
После я стал давать команды последовательно. Заставил почистить лишние вершины, соединить ближайшие, заполнить весь контур одним n-гоном, выполнить процедуру «экструд». И выполнить булеву операцию, для создания отверстия.
После нескольких десятков итераций, я получил рабочий код. Это всё ещё было быстрее, чем если бы я учился делать это руками.
Далее я добавил делительную окружность. Это та, по которой шестерни соприкасаются. Мы же тут про 3д печать. Верно?
И оформил пользовательский интерфейс:
Затем упаковал всё это в один файл, и сделал его аддоном. Для этого тоже нужно кое-что дописать в код.
Теперь аддон можно устанавливать, удалять, и включать, выключать.
Сетка получилась приемлемая. Хотя работать с ней и не очень удобно.
В общем, метод рабочий. Но нужно иметь представление о том, как этим всем пользоваться. Иначе результата не добиться.
Записал ролик, где демонстрирую её работу:
https://youtu.be/JMePXRoz9CE?si=SLSWaYdiOFEBzeM_
(Вставить его не получается, админ, помоги!)
Для тех, у кого Ютуб не работает — вот тут я продублировал в телеге
Если есть интересные идеи для аддонов, или методы реализации — пишите. Может получится реализовать что-то полезное.
Всем бобра!
Еще больше интересных статей
Плата контроллера для OpenPnP
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Плата контроллера движения...
3-я ревизия проектирования принтера - ставим точку, сохраняем, делаем файл 3.2.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
1. Отказываюсь от CAN-шины, и...
MMRU (Multi Material Russian Upgrade) (Часть 6: Анонс новой механики)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Новость хорошая, если деталь е...
Попробуйте напечатать хотя бы....
А где фото результата, с зерка...
Кто-нибудь делал данное действ...
я ранее писал о сложностях печ...
Периодически не получается нап...
Собираюсь приобрести фотополим...