Как создать 3D модель с помощью нейросети и OpenSCAD
Создать 3D модель для своих целей можно вообще не имея навыков проектирования и/или работы в CAD приложениях. Достаточно просто представлять то, что вы хотите, иметь какую-то конкретику (например, общие размеры). Сейчас с помощью нейросетей и OpenSCAD можно буквально за пару минут получить готовый файл STL для печати на 3D принтере.
Далеко не всегда 3D печать ограничивается поиском и скачиванием готовых файлов моделей. Иногда требуется сделать что-то для своих целей и по своим размерам. Расскажу на примере конкретной ситуации. Буквально сегодня вот тут задали вопрос про приложение для проектирования и 3D моделирование, на которое был простой ответ в духе: «Какая разница? Модель простая и делается в любом CAD за несколько минут при полном отсутствии навыков».
А ведь действительно, не так уж и важно, какую систему для проектирования CAD вы используете. Даже у вас может не быть профильных знаний и навыков. Сейчас нейросетевые помощники умеют создавать базовые модели, чего зачастую бывает вполне достаточно для печати на 3D принтере.
Самое простое, что приходит в голову — вы пишете для ИИ запрос с указанием конкретной CAD системы, в которой вы хотели бы что-то спроектировать. В ответ ИИ пишет пошагово, что и как сделать, куда нажать, какую функцию использовать, какой размер ввести.

Это справедливо ну практически для любого CAD, со скидкой на язык интерфейса и версию приложения (сталкивался с тем, что ИИ советует использовать функции для старой версии Blender, а в новой версии эти функции уже выпилили или переименовали). Вот пример для FreeCAD 1.0.

Но можно же и автоматизировать процесс создания модели. Некоторые CAD (САПР) системы позволяют использовать скрипты для генерации «твердого тела», то есть моделей.
Вот пример моего промпта для OpenSCAD.
Ссылку кстати, можно использовать. ИИ умеют ходить по ссылкам и (как-то) анализировать полученное. Если вы не можете убедить ИИ сделать что-то, попробуйте показать образец с помощью ссылки. Иногда срабатывает. Так вот, вот ответ ИИ.

В ответе есть и сам скрипт, и рекомендации по его использованию, и объяснение используемых параметров. То есть, если вы пожелаете потом что-то изменить в исходных данных, то с помощью «легенды» вполне можно разобраться и сделать это. Ну, если внимательно почитать, что там написала нейросеть. Итак, копирую скрипт и закидываю в окно OpenSCAD. Вот эта коробочка для примера, по идее, рассчитана на 6 элементов питания 18650. Соответственно, меняя размеры в исходных данных, можно сгенерировать аналогичные коробочки под другие размеры батареек.

Более приземленный пример. У меня есть необходимость в создании вот такой подставки (ссылка на нее была чуть выше, там же описано и ее назначение).

Итак, вот мой промпт:
Со второго раза получилось вполне нормально, единственное — нейросеть строит модель сверху вниз (как я описывал в задании), а в OpenSCAD система координат снизу вверх. Этот нюанс пришлось учесть и перегенерировать скрипт. Соответственно, можно отправлять скрипт на переделку («перепроверь вычисления, должно быть то-то и то-то»). Вставляем скрипт в окно OpenSCAD, там есть три основные клавиши — генерация превью, генерация 3D модели и экспорт в STL.

Теперь хочу сделать такую же подставку, но квадратной формы. Самое интересное, что промпт нужно будет лишь слегка изменить. Вот что пишу нейросетевому агенту:
Копирую скрипт, вставляю в OpenSCAD, запускаю превью. Тут вообще с первого раза вышло как надо.

Для получения модели для печати в OpenSCAD нужно нажать на кнопку рендеринга и затем сделать экспорт в STL файл. Загружаю в программу-слайсер для нарезки перед печатью, проверяю размеры, внутреннее заполнение. Ну тут все ок.

Для этой модели аналогично сделал экспорт в STL, файл открывается, размеры как надо (изначально задавал с учетом допуска и усадки пластика).

Собственно говоря, вот то, что и требовалось доказать. Далее эти файлы можно запускать на печать. На генерацию этих моделей ушло минут 10, я дольше перепроверял размеры, параллельно успел чай заварить и перекурить.

Про скульптинг, например, в Blender тема чуть другая, там не настолько критична точность размеров конкретных частей, сколько общий вид фигурки, плюс сейчас есть ИИ для генерации по картинке. А саму картинку можно также сделать через другую нейросеть с помощью подробного промпта. Но это уже другая история.
Кто то уже пробовал создавать модели для печати с помощью нейросетей? С каким подводными камнями сталкивались?
Далеко не всегда 3D печать ограничивается поиском и скачиванием готовых файлов моделей. Иногда требуется сделать что-то для своих целей и по своим размерам. Расскажу на примере конкретной ситуации. Буквально сегодня вот тут задали вопрос про приложение для проектирования и 3D моделирование, на которое был простой ответ в духе: «Какая разница? Модель простая и делается в любом CAD за несколько минут при полном отсутствии навыков».
А ведь действительно, не так уж и важно, какую систему для проектирования CAD вы используете. Даже у вас может не быть профильных знаний и навыков. Сейчас нейросетевые помощники умеют создавать базовые модели, чего зачастую бывает вполне достаточно для печати на 3D принтере.
Самое простое, что приходит в голову — вы пишете для ИИ запрос с указанием конкретной CAD системы, в которой вы хотели бы что-то спроектировать. В ответ ИИ пишет пошагово, что и как сделать, куда нажать, какую функцию использовать, какой размер ввести.

Это справедливо ну практически для любого CAD, со скидкой на язык интерфейса и версию приложения (сталкивался с тем, что ИИ советует использовать функции для старой версии Blender, а в новой версии эти функции уже выпилили или переименовали). Вот пример для FreeCAD 1.0.

Но можно же и автоматизировать процесс создания модели. Некоторые CAD (САПР) системы позволяют использовать скрипты для генерации «твердого тела», то есть моделей.
Вот пример моего промпта для OpenSCAD.
Напиши промпт для генерации 3д модели прямоугольной Коробочки для хранения элементов питания 18650 для OpenSCAD. Вот ссылка внешнего вида... Высота 67 мм, ширина 42 мм, длина 62 мм.
Толщина дна 2 мм.
Все четыре боковых вертикальных ребра имеют скругление радиусом 8 мм.Ссылку кстати, можно использовать. ИИ умеют ходить по ссылкам и (как-то) анализировать полученное. Если вы не можете убедить ИИ сделать что-то, попробуйте показать образец с помощью ссылки. Иногда срабатывает. Так вот, вот ответ ИИ.

В ответе есть и сам скрипт, и рекомендации по его использованию, и объяснение используемых параметров. То есть, если вы пожелаете потом что-то изменить в исходных данных, то с помощью «легенды» вполне можно разобраться и сделать это. Ну, если внимательно почитать, что там написала нейросеть. Итак, копирую скрипт и закидываю в окно OpenSCAD. Вот эта коробочка для примера, по идее, рассчитана на 6 элементов питания 18650. Соответственно, меняя размеры в исходных данных, можно сгенерировать аналогичные коробочки под другие размеры батареек.

Более приземленный пример. У меня есть необходимость в создании вот такой подставки (ссылка на нее была чуть выше, там же описано и ее назначение).

Итак, вот мой промпт:
Напиши промпт для генерации 3д модели круглой подставки для OpenSCAD. Вот ссылка внешнего вида .... Высота 15 мм, вверху наружный диаметр 111 миллиметров, внизу диаметр основания 129 мм.
Углубление диаметром 103 мм и глубиной 3.5 мм.Я не говорю, что именно так и нужно писать — нейросетевой помощник поймет вас, даже если вы скажете это голосом в свободной форме. Единственное, результат будет более однозначным, если вы обозначите ему больше конкретики (можно на бумажке прикинуть размеры предварительно). С другой стороны, можно дать ИИ некоторую свободу для того, чтобы он самостоятельно провел необходимые вычисления. На мой взгляд, самое главное — это не давать противоречивые данные это будет только путать ИИ. Вполне можно разбивать генерацию на несколько этапов типа «сделай такую то коробочку», «теперь вырежи там такое то отверстие», «теперь присобачь туда ручки или крышку». Со второго раза получилось вполне нормально, единственное — нейросеть строит модель сверху вниз (как я описывал в задании), а в OpenSCAD система координат снизу вверх. Этот нюанс пришлось учесть и перегенерировать скрипт. Соответственно, можно отправлять скрипт на переделку («перепроверь вычисления, должно быть то-то и то-то»). Вставляем скрипт в окно OpenSCAD, там есть три основные клавиши — генерация превью, генерация 3D модели и экспорт в STL.

Теперь хочу сделать такую же подставку, но квадратной формы. Самое интересное, что промпт нужно будет лишь слегка изменить. Вот что пишу нейросетевому агенту:
отлично. давай дальше. Напиши промпт для генерации 3д модели квадратной подставки для OpenSCAD. Вот ссылка внешнего вида .... Квадрат в основании 127 мм, Высота 15 мм, вверху квадрат с внешним размером 110 миллиметров.
Углубление квадрат 101 мм и глубиной 3.5 мм.Копирую скрипт, вставляю в OpenSCAD, запускаю превью. Тут вообще с первого раза вышло как надо.

Для получения модели для печати в OpenSCAD нужно нажать на кнопку рендеринга и затем сделать экспорт в STL файл. Загружаю в программу-слайсер для нарезки перед печатью, проверяю размеры, внутреннее заполнение. Ну тут все ок.

Для этой модели аналогично сделал экспорт в STL, файл открывается, размеры как надо (изначально задавал с учетом допуска и усадки пластика).

Собственно говоря, вот то, что и требовалось доказать. Далее эти файлы можно запускать на печать. На генерацию этих моделей ушло минут 10, я дольше перепроверял размеры, параллельно успел чай заварить и перекурить.

Про скульптинг, например, в Blender тема чуть другая, там не настолько критична точность размеров конкретных частей, сколько общий вид фигурки, плюс сейчас есть ИИ для генерации по картинке. А саму картинку можно также сделать через другую нейросеть с помощью подробного промпта. Но это уже другая история.
Кто то уже пробовал создавать модели для печати с помощью нейросетей? С каким подводными камнями сталкивались?
Самые обсуждаемые обзоры
| +47 |
2492
65
|
| +52 |
4902
71
|
| +58 |
3882
51
|
ну я хотел сделать деталь состоящую из 3х частей и собирающуюся на защелках, причем масштабирующуюся корректно — соединительные элементы и отверстия не масштабируются при растягивании и сжатии… иначе нафиг opencad?
что именно я пытался нарисовать не важно
Дипсик, чатжпт, клод и прочие.
На скринах дипсик
лучше пошагово, если в лоб не понимает
у ChatGPT в внезапно кончаются токины и надо ждать, Gimini у меня то работал то нет… что ещё из бесплатного есть?.. почему бесплатного, потому что поиграться
Не самый лучший вариант, но для пробы нормально.
Kilo Ai получше именно для кода, иас есть бесплатный доступ
когда отказывает одному, захожу под другим.
Это больше для платной версии когда им нужно «съесть» оплаченное.
Первая инструкция особенно прекрасна — быстрее всё это самому сделать, чем её написать.
Одно, второе, третье, дорисовать отверстия, добавить еще что то.
Проверяйте пошагово.
Тут смотря какая цель, если человек вообще не умеет рисовать, это вполне выход
Ну серьёзно, минимально освоить фрикад — это посмотреть три-четыре ютюбовских лекции от того же Дима Гог и пару часов поковыряться, повторив то, что он делает. И всё, знания твои, от заморочек ИИ не зависишь.
Это сродни вайбкодингу, но в сфере моделирования
Но разница в том, что программировать учиться для того, чтобы хоть минимально полезное приложение сделать надо довольно долго, а научиться делать простые штуки во фрикаде — реально один-два вечера, на себе проверено. В общем, я понимаю соблазн, но как по мне — оно того не стоит.
Достаточно наглядно все
Насчёт «не открывая фрикад» не понял — а кто по параметрам STL или что там генерить будет?
Простейший пример: квадратно-гнездовая коробочка с ячейками. Чтобы поменять число и размер ячеек, не потеряв симметрии, надо подгонять и новый шаг, и смещение их от края.
Допустим можно какое то время обманывать, а потом просто можно остаться без всех своих исходников
Если для себя рисовать 3d модели, то лучше и удобнее Rhino ничего нет на рынке. Я проверил вообще все доступные 3D моделлеры.
Тест простой, на картинке. Создать модель нужно без булевых операций. Может это как-то и можно, я хз как это сделать в FreeCad.
Выдавливание работает только перпендикулярно или стало можно и под углом?
Ну и как собираться они будут, всё равно булева нужна.
Можно давить под углом, можно давить даже на конус, но здесь проще наклонить сам эскиз. Чтобы сучок получился круглым, а не эллипсом.
Ну так верстак Part Design. В нём каждая операция неявно работает как булево сложение или вычитание. Но каждый раз с простым объектом, легко поддающимся правкам. Ткнул в жёлтую кнопочку — приляпал подробность, ткнул в красную — отрезал.
Вот вам даже картинка. Сразу обоими методами.
Это танцы с бубном в квадрате:
1. Насколько я помню тянуть можно только плоскость, а поверхность цилиндра не плоская.
2. Чтобы тянуть и сломать всю стенку, нужно будет сразу как-то угадать кривую пересечения цилиндров и сделать рассечение модели цилиндра, чтобы образовался объект который можно тянуть.
Вот и я про тоже, что без булевых во FreeCad такую модель не нарисовать никак.
А булевы в 3d, их результат сильно не предсказуем. Когда-то они срабатывают идеально, а когда-то генерят треш.
А при чём тут поверхность цилиндра? На картинке специально выделен эс-ки-з. Висящий сам по себе, даже не прицепленный ни на какую из граней цилиндра. Хотя может быть. Он плоский, потому прекрасно тянется, для чего и предназначен. Кривую пересечения цилиндров программа нарисует сама, из заданных нами цилиндров.
Вы вообще Фрикад открывали, не то что читали документацию? И что, в других кадах существуют какие-то ещё способы изменения формы тела эскизами, без сложений и вычитаний?
Да
Есть конечно. Это команды прямого моделирования: Push-Pull, Delete Face, Fillet & Chamfer, Cut-Extrude, Cut-Revolve, Cut-Sweep, и может ещё какие забыл.
Попробуйте ещё раз. Пока Вы сомневаетесь вот прямо в базовых его функциях.
Так это как раз и без эскизов, и очень даже с булевым вычитанием. Особенно где «Cut».
Я спрашиваю другое — не как двигать грани или обделывать рёбра готовой формы, но как изменить эту форму произвольной геометрией. Хотя бы на примере вашего полена из двух цилиндров.
Разбираешь solid на примитивы. Редактируешь форму или вообще заменяешь часть элементов. Собираешь solid.
Конкретно в моём примере
Большой цилиндр собираем поверхностью. Второй цилиндр тоже поверхностью режем первым, и это не булева, это отсечение.Он не глючит как булевы. Дальше собираем всё.
Вот верстак Part Design, основной в нынешнем Фрикаде, работает точно так же. Только без сборки-разборки. И не глючит, что характерно, оттого и не вызывает желания докапываться к философии и семантике отдельных действий. Глючить он конечно начинает, но сильно позже, на обделке фасками. Что тоже обходимо, причём чаще всего именно вытяжением-прорезанием эскизами. Надел эскиз на ребро, протянул в плюс или в минус, и вот тебе фасонно срезанная кромка, надетый багет, и вообще любой архитектурный облом.
Верстак требует обязательного планарного размещения точек или можно в верстаке произвольно в объёме редактировать точки? Обычно верстаки в других кадах не позволяли выходить за плоскость.
Part Design вообще не работает с отдельными точками. Только с плоскими эскизами и твёрдыми телами. Но он элементарно решает вашу задачу с поленом. И большинство задач для печати «технички».
Базовый верстак Part Design элементарно решает ваш пример с поленом. Никаких сложных поверхностей в полене нет, оно состоит из двух простейших операций. А создание сложных поверхностей делается через инструменты для, сюрприз, создания сложных поверхностей. Которые в FreeCad есть и хорошо работают, хотя может и не для каждой специфичной задачи.
Вот для примера канал на ютубе для примера по версии 1.1. Интерфейс как у солида того же, самый обычный. При чем абсолютно бесплатен, не требует инета для работы, работает нативно на win/lin/mac. Модели из темы делаются не то что за минуты, а за несколько секунд.
Есть и инженерные просчеты (в кад «катя» французы взяли для фюзеляжа одну точку начала координат, японцы с крыла другую. В итоге все сделано по кд, но при сборке отверстия не совпали на 90 градусов.
При полетах над мертвым морем (ниже уровня моря, отрицательная высота) были отказы бортовых вычислителей
В основном доступны примитивы и булевы операции
Но можно делать и в Прюше. Я обычно в через Орку печатаю.
В общем, пирамиду делаем нужных размеров, срезаем верхушку и добавляем объём для вычитания:
в Прюше
Пирамиду из Прюши (добываемую из «библиотеки элементов») можно и не экспортировать, обойдясь кубом — если нет прям нужды в скосах.
А руку набить, то такие простые можно как пирожки печь.
Времени больше уйдет на подгонку размеров и симметрии.
Теперь вот немного возвращаюсь, но Фьюжн теперь фьють…
зы
браузерный СкетчапФри?
ззы
да ещё в stl/3mf не экспортировать.
Не, программ для моделирования много, все не попробуешь, а для слайсинга намного меньше.
да?! надо же, а я вот не знал и вполне нормально и экспорт и импорт stl использую каждый день…
впрочем, я тут вижу что-то такое
Я пользовался бесплатным Sketchup Make 2017, там без проблем, орка понимает как obj так и stl. Но уже не помню, ставил ли я плагин для экспорта или «искаропки»
Они убрали Мейк из «скачать старые версии», но интернет всё помнит
web.archive.org/web/20220217222923/https://download.sketchup.com/sketchupmake-2017-2-2555-90782-en-x64.exe
30 суток триала
extensions.sketchup.com/extension/412723d4-1f7a-4a5f-b866-281a3e223337/sketchup-stl
но это очень простые детали…
pikabu.ru/story/remont_ochkov_14170555?utm_source=linkshare&utm_medium=sharing
Уж простите.
Раз уж задели эту тему кто знает что там есть в мире нейронок для обработки 3Д сканов.
А если не знал бы — вполне нормальный вариант
некоторые до сих пор в каменном веке.
некоторые не очень хорошо с поверхностями или мешами работают.
где-то модификаторы через одно место сделаны
где-то скрипты нельзя применить
а вообще постоянно вижу, что одни и те же операции в разных приложениях могут не просто по разному применяться, а вообще с разной логикой.
Где дают?
5 осей пока сложно для меня
Но не совсем верная аналогия.
Все таки бесплатные ии и бесплатный кад это не равно купить штроборез и перфоратор
Но че сложнее нужен результат тем сложнее нужно описание и больше итераций чтобы получить нужный результат. И время с использованием нейронки совсем не становится меньше.
Для действительно сложных проектов затраты времени на написание промпта уже будут перевешивать затраты времени на моделирование ручками.
ИМХО ежели задачи сложного параметрического моделирования появляются часто — осваивайте хотя бы фьюжен, а лучше рино с грасхоппером. Так то и у фрикада есть Nodes Workbench, там дажу тутор появился на тыртубе за последние несколько месяцев.
если у вас повторяющиеся, похожие запросы, то вам гораздо проще будет чуть-чуть корректировать промпт по новому ТЗ, чем писать с нуля это руками
я сейчас просто показал пример. на самом деле разработка серьезных моделей гораздо сложнее, есть и плюс и минусы (нужно проводить верификацию того, что получилось, с тем, что было в ТЗ)
Фактически, как я и писал выше, тут нужно детально описать все размеры и все шаги построения. Т.е. то же что и сделать это ручками. Только в последнем случае я буду уверен в соответствии размеров.
Так и какой смысл? И это не сложная задача.
через полчаса (т.е. сейчас) попробовал снова, и он выделываться не стал:
ДипСик огласился сразу:
если тот же Компас Хоум я могу оплатить, то Рино вот просто так для хобби — нет
В любом случае когда смотришь на Компас, которому больше 20 лет и тот же FreeCAD, который в версию 1.0 вышел в 25 году… Не перевариваю я эту хрень
Много лет исполую сабж и фрикад для своих нужд. Воровать чтобы воровать не видя смысла, если есть простые и эффективные инструменты. Фрикд отлично работает с листовыми материалами, всё для производства формирует. А сабж чуть для другого типа деталей прям конфетка.
А жизнь то налаживается!
Увидел ваше сообщение ниже. Собсно логично оно создает параметрическую деталь. и это окошко выбора и есть основной профит.
Я тут сижу и уже столько всего туда понатолкал и выбор слоя и цвета, в общем супер.
Там большая портянка с обсуждением, уточнением того что мне надо. Скрип загружается простым перетаскиванием в открытый AutoCAD + небольшие настройки в программе
Автокад и винда ©. Как-будто в нулевые окунулся
С первого раза заработало, без галлюцинации.
Но вот правильно писали здесь — желательно уметь понимать код.
Тестовые модели, которые успешно создал ИИ, чел даже на начинающем уровне в 3d моделировании нарисует за пару минут.
Вот когда ИИ покажет создание сложных моделей, на которые обученный чел тратитт дни-недели-месяцы, вот тогда и поговорим про ИИ для 3d моделирования.
Хочите тестовые задания для ИИ, чтобы ему плохо стало, могу дать парочку:
1, Нарисуй 3D модель лица и головы (дальше называете любого известного общественного деятеля) и потом сравниваете результат. Речь про текстовые модели. Есть специализированные ИИ модели создающие модели по фотке, но они в этом тесте не участвуют.
2. Нарисуй 3D модель велосипеда (дальше указываете тип и другие требования к велосипеду). При этом эта модель должна быть фактической моделью для сборки. То есть в модели должно быть прорисованы все детали велосипеда до последнего шарикоподшипника втулок и сальника вилки.
Я не стану предлагать нарисовать модель авто или самолёта, потому как и велосипед для ИИ пока является непосильной задачей.
И показывают несколько фоток результатов.
Реальных тестов таких ИИ моделей не видел.
Так вот, вайбкодинг с CAD пока не катит.
Возможно через какое-то время ситуация улучшится, но пока рисование более менее сложных моделей только ручками.
Посмотрю
ИИ хорошая штука, но не все задачи стоит решать с его помощью, это всё равно что микроскопом гвозди забивать.
Нужно иметь навыки и знать как экспортировать (по умолчанию там низкополигональный экспорт, грубая модель выходит — хорошо видно на сферических поверхностях)
Может конечно пофиксили в свежей версии, но изначально там инструмента такого нет и делается через одно место