Что не так с Generative Design у Autodesk? Часть 1. Все хорошо прекрасная Маркиза!
Ну, для начала хочется сказать, что да - заголовок несколько странный и отдает откровенной желтизной, кликбейтом и попытками словить хайп. Но я надеюсь, что при раскрытии станет понятно, почему заметка названа так.
А пока начнем со всего хорошего против всего плохого. И в качестве «хорошего» - вот один из примеров полученных с помощью данной технологии/инструментария:
Рис. 1. Результат работы Generative Design в металле
И пример вполне успешный. Если Вы (вдруг) не видели этой штуки, то ее автором является Павел Медведев (автор ютуб канала «Дядя Паша» , а также соответствующего телеграмм чата). С этой штукой он докладывался на Autodesk University Russia 2019 “Generative Design Спорт и металл”, на мероприятии https://fest.3dtoday.ru/ где проводил мастер-класс и участвовал в докладах.
Настоятельно рекомендую посмотреть презентацию, чтобы понять: о чем речь, что это за деталь, откуда она, зачем она такая и пр. Ну, а я пойду дальше в повествовании и далее буду нередко сокращать Generative Design до GD (а также ГД).
Деталь, как и ряд других проектов Павла с использованием Autodesk Generative Design for Autodesk Fusion 360, - хороший пример того, как эффективно может работать технология в правильных руках. Для популяризации этой темы он начал долгоиграющий проект http://gdetal.ru/ но пока он не сильно информативен, так что смотрите презентации.
Теперь же два вопроса. Наверное, первым пойдет: «а причем тут автор заметки?» (то бишь я), второе: «а что не так?» (если все работает).
Небольшой экскурс в историю. В конце 2019 года Autodesk дал доступ к технологии Generative Design доступ практически всем желающим. Если честно, то я очень давно хотел познакомиться с данной штукой, еще со времен Project Dreamcatcher. Я подавал заявки на закрытые и открытые альфа и бета тестирования, на работу с открытым продуктом, который вошел в состав (на тот момент) продукта NetFab. Все было тщетно – в доступе мне каждый раз отказывали. У меня есть грустная слезливая история, которая может объяснить сей факт, но ей тут не место. Важно то, что рано или поздно продукт выходит на широкую публику, и теперь уж мне никто не помешает (злобный гомерический смех за кадром).
В общем, как только я наконец получил доступ к технологии, я полез с ней знакомиться. К тому моменту уже было достаточно обзоров, много маркетинговых материалов, но я специально смотрел только то, что относится не к технической стороне. Ибо техническую я люблю мучить самостоятельно. И вот я начал понемногу мучить GD (Generative Design) от Fusion. Издевательств было много, в видео только их начало. Большая часть, так как требовала долгого времени на выдачу решения и последующую проверку, просто не записывалась - в ожидании момента, когда я буду делать итоговое видео/статью.
Но кроме тестовых задач, с которыми я издевался над программой, мне было интересно покрутить и чужие задачи. Вот тут-то мы с Павлом в очередной раз пересеклись, и я попросил доступ к его проектам генеративки.
Аудитория 3D Today, скорее всего со мной практически не знакома, но я довольно долго был частым гостем и многих онлайновых ресурсов, и офлайновых мероприятий, где занимался популяризацией САПРа в целом и расчетного направления в частности. Ибо, по сути, я прочнист, и что-то поломать (будь то деталь или продукт) для меня только в кайф. Как и поделиться потом этими знаниями (но об этом, наверное позже).
В общем... Получил я доступ к проектам Павла (вначале только к результатам генерации, потом и к проектам полностью), мы с ним обсудили постановку задач. И я полез проверять итоги работы модуля генеративного дизайна. Сначала все в том же Fusion 360, только теперь уже в модуле Simulation. А затем все тоже самое и в более заточенном под расчеты продукте – ANSYS.
Удивительно, но факт оказался фактом – деталь работала в обоих типах постановки и вполне адекватно. Ровно так, как и запрашивалось при генерации.
Кто бы другой на этом и остановился, но как я уже говорил я параноик-расчетчик, и итоговая модель меня смущала некоторыми моментами. Я не буду говорить про газодинамику и прочее, я скажу за устойчивость. Есть такой термин (у него правда есть еще множество вариантов названия).
Длинных и тонких штук в конструкции - более чем достаточно. Тип нагружения – сложный, потому что моделировалась куча различных вариантов поведения грубо говоря, Полищука… на моцацикле (с). Предсказать, в каком месте будет растяжение, а где, не дай Сопромат, сжатие – невозможно. Ну не то чтобы совсем невозможно… но зачем, когда есть тип расчета «Stractural Buckling» - как раз на ту самую потерю устойчивости. Собственно, если посмотреть на скрин (рис.2), то большая часть расчетов - это как раз они, баклинги. Потому что в статику можно запихнуть множество вариантов нагружения, а в устойчивости (в баклинге) только один.
Вот тут меня ждал еще один облом, потому, что потери устойчивости не было. Конструкция вполне рабочая.
Можно ли считать данный вывод окончательным и радоваться жизни? К сожалению, не совсем. Во-первых, мы все это рассматриваем на одной конкретной детали. При этом тщательно выбранной самим пользователем из всех предложенных вариантов. А их было много:
Возьмем, к примеру, вариант Study 7 MaxFine.
Рис.5 Вариант "Study 7"
Не самый худший из вариантов с точки зрения соотношения длина/площадь поперечного сечения.
Как итог получается, что некоторые варианты проходят по критерию прочности, но могут не пройти по устойчивости на ряде нагрузок. Потому что запас по устойчивости будет меньше запаса по прочности (в том числе заложенного в проект). При этом сам GD Вам ни о чем таком не сообщает – это надо проверять отдельно. Впрочем, как и многое другое, но об этом позже.
Рис.6 Результаты расчета на устойчивость в ANSYS
Фраза запас по устойчивости меньше, чем запас по напряжениям, для многих, кто не сталкивается с расчетом, может быть достаточно странной. Какая разница запас 2, 1.7 или даже 1.3, если обе цифры явно больше 1. Тем более что сами нагрузки тоже заложены с запасом. Сейчас не буду говорить про численную погрешность и другие умности, а затрону совсем другой вопрос. Тот запас, который закладывается в напряжения, может быть связан с несколькими факторами – например, с многоцикловой усталостью. В ходе эксплуатации изделия в гонках разные варианты много раз повторяются, и ломается изделие не от того, что напряжение больше предела прочности для изначального материала (это если грубо) а от того, что там накопились микротрещины, и тот самый предел прочности снизился. И он может снизиться в 2, 3 и даже 30 раз. Для большинства конструкций все же обычно 1.5...5 раз, потому и устанавливают дополнительный запас. В данном случае исходный запас в 2 раза (при разработке изделия) вполне оправдан, и это значит, что обычно нагрузки не будут больше половины (50%) от той, что нужна для немедленной поломки детали. А для потери устойчивости нужно, чтобы нагрузка была около 75%. Т.е. снова потеря устойчивости не страшна.
Но чуть выше я писал, что это не единственная причина, почему нагрузка увеличивается или почему устанавливают запас. Дело в том, что эта деталь стоит на спортивном мотоцикле, на котором нагрузки могут меняться очень резко. Мы считаем, что они постоянны – статичны. А они переменчивы – динамичны. Вот для того, чтобы это учесть, и вводят запас на коэффициент динамичности.
Однако тут есть несколько проблем. В реальности, даже если величина нагрузки нам известна, ее влияние может происходить в очень широких пределах в зависимости от того, насколько быстро она меняется (Сравниваем результаты расчета статики и динамики. ANSYS Workbench) Т.е. предполагая, что коэффициента запаса 2 нам хватит, мы можем искренне приукрашивать ситуацию (приблизительно как студент, который ни разу не был на парах в институте, ничего не учил, но считает что криков «Халява, приди!» достаточно для успешного закрытия сессии).
Однако это не самое плохое, что есть в данной ситуации. Самое плохое, что и нагрузка в пике может достигать (пусть и кратковременно) гораздо более высоких значений, и то, что в динамике сложная конструкция работает не вся, а только наиболее податливой для данного случая частью.
Все эти вещи GD не учитывает. Более того - в Autodesk Fusion 360 нет нормального инструментария ни для проверки усталости, ни для проверки динамики. Да, там есть тип анализа: Modal Frequency (Обзор хелпа Autodesk Fusion 360 в части Simulation. Часть 8. Туториалы 2, 3, 4. Частоты, Устойчивость, Температуры, Обзор хелпа Autodesk Fusion 360 в части Simulation. Часть 16. Продолжаем переводить Хелп. Теория. Частоты и формы). И он как раз может показать то, как тонкие стержни в динамике будут работать отдельно от толстых частей (т.е. можно увидеть разницу со статикой). Но нет возможности проверить, будет ли такое в реальности. Да, там есть тип расчета Event Simulation, который вроде и есть динамические расчеты (Обзор интерфейса модуля Simulation у Autodesk Fusion 360. Часть 3), но в большинстве случаев они Вам пока не помогут, это совсем для другого.
Пример того когда части конструкции начинают вести себя отдельно, показан ниже (синее - не колеблется вообще, и является "разделителем", вещи между синими кусками играют по отдельности):
Что можно сказать по итогам первой части.
Получается, что так же, как и в известном мультике, на самом деле дела у Маркизы идут не настолько плохо, как поют по телефону ее недобросовестные служащие. В нашем случае в роли «Маркизы» выступает модуль Generative Design от Autodesk, а в качестве служащего – автор заметки. Хотел вроде как испохабить, да не вышло. Прямых доказательство нет, а все, что он там написал еще – шито белыми нитками.
Однако, не смотря на то, что прямых доказательств не нашлось и в реальности проект вполне рабочий (т.е. был не только отлит, но и успешно работает), несколько замечаний есть.
- Модуль GD - это не любимая всеми «большая красная кнопка», которая все делает хорошо, даже когда заказчик «нифига» не понимает, что ему надо. К сожалению, именно так ее рисуют маркетологи во всех видео, но нужно хотя бы приблизительно понимать:
- откуда взять нагрузки, какие они должны быть, какие между ними будут комбинации и куда все это прикладывать;
- какой запас закладывать в качестве минимального;
- как и из чего это все таки планируется в дальнейшем производить.Таким образом GD - это не замена конструктора, расчетчика и технолога, это инструмент, который может упростить (в некоторых случаях) их работу.
- Модуль GD в том виде, в котором он есть у Autodesk сейчас, пока не всесилен и не учитывает огромное количество вещей, влияющих на работоспособность конечного изделия (тут было коротко, во второй части будет чуть более подробно). И из множества сгенерированных вариантов выбирать наиболее рациональный (работоспособный, технологичный, дешевый и пр.) опять же должен именно пользователь. И если пользователь ничего не знает о… (смотри пункт первый).
- Внутри инструмента GD отсутствуют средства не только для учета кучи вариантов, влияющих на работоспособность в ходе генерации, но и для проверки ее постфактум, уже сгенерированной. Т.е. Вам надо экспортировать вариант (за что придется заплатить) и уже вне модуля GD проверять. Более того, Autodesk, хоть и не очень хочет, но сам признает - осуществить все проверки, не выходя за пределы Fusion 360, не получится. Нужен внешний и достаточно дорогой инструмент уровня ANSYS.Если честно, то данный пункт меня несколько смущает…. Ведь изначально модуль GD появился в независимом браузерном варианте, потом был временно пришит к Netfabb, у которого были некоторые схожие инструменты (после того как их выпилили из Within и впихнули в Netfabb). Если внимательно посмотреть вебинары Autodesk, то можно заметить - модуль GD временами запускают и из-под Inventor. Как уже говорилось, на самом деле это полностью браузерное (ну или облачное) решение, которому глубоко все равно, откуда запускаться, хоть отдельно, хоть из-под Fusion 360, хоть из-под Inventor.Да, сейчас получилось так, что марка Fusion 360 более модная и узнаваемая чем Inventor… Но к последнему спокойно прикручивается Autodesk Inventor Nastran (ранее Nastran In-CAD), у которого есть и устойчивость, и нелинейные расчеты, и усталость, и динамика, и куча всего остального. Я не могу назвать его полноценным аналогом чужого ANSYS’а, но это же свой продукт, да еще и с нужным функционалом…. В общем как минимум тут что-то странное.
- В общем, как итог п.3 Вам нужно экспортировать варианты, проверять их, убеждаться в работоспособности, технологичности и пр. Да, это проще, ибо уже есть готовые варианты, но это не убирает процесс проектирования, это…. Может ускорить. Именно «может ускорить», а не «ускорит». И да, на основе просмотра сгенерированных вариантов может возникнуть свой вариант, который вы будете прорисовывать с нуля с учетом технологии и пр., но опираясь на результаты GD.Т.е. снова не инструмент автоматизации, а автоматизированный.
- «Не все йогурты одинаково полезны», кажется, так звучит чей-то там слоган? Применительно к нашему случаю то, что Autodesk сгенерировал в GD, не всегда вообще работоспособно или адекватно. Примеры показаны нижеРис.8 Не самые лучшие варианты работы ГДи кроме стоек с разрывами, которые в целом могут работать за счет других, тех, что вокруг, есть еще и полностью висящие в воздухе куски, которые явно тут лишние.
- Полученная по итогам GD геометрия - это нередко такая штука, с проверкой которой потом могут быть очень большие проблемы, ибо ее еще как-то побить на конечные элементы нужно, а это иногда очень сложно.
Как итог – инструмент рабочий, мощный, но требующий толкового оператора, который понимает, что делает и что хочет…. Кстати, это и есть причина, почему вариант Павла Медведева оказался рабочим – это заслуга его адекватности, а не «большой красной кнопки».
Отсюда вывод – если рассматривать модуль GD от Autodesk – с ним все так. Хороший инструмент со своими плюсами и ограничениями. Но если рассматривать GD как совокупность маркетинговых заявлений, которые нам навязчиво льют со всех сторон в уши – есть большая разница между тем, как это позиционируется, и тем, что есть на самом деле. И вот этому будет посвящена вторая часть публикации.
П.С. Надеюсь, на вопросы заданные в начале: «при чем тут я?» и «что не так?» я все же ответил. Я тут при том, что осуществлял дополнительную проверку чужого и рабочего проекта (и убедился что он таки рабочий, вот класс). А не так тут не с деталью, а см. предыдущие два абзаца.
П.П.С. Запланирована серия заметок. Вторая будет посвящена анализу некоторых маркетинговых материалов и будет опубликована через неделю-две (надеюсь не дольше). Третья - Ограничениям инструмента и некоторым "глюкам"
Еще больше интересных статей
Крепление шагового мотора. Проект RC машинка
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Платформа №1. Проект RC машинка
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Учимся правильно дуть в Solidworks flow simulation
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Отлично - пусть будет луноход....
С такими шаговыми моторами на....
видимо такое что-то https://ww...
Здравствуйте, ситуация такая:...
Печатаю последовательной печат...
Здравствуйте!Столкнулся со стр...
Всем привет, хотел попросить ч...