Ретинакреативное оптимальное вращение

В настоящее время я использую RetinaCreate от FSL3d для подготовки 3D-файлов к печати в исследовательских целях. В этом я полагаюсь на их функцию оптимального поворота, которая поворачивает объект, насколько я могу судить, оценивая модели по их стабильности в отношении направления печати. После поворота модели создаются опорные структуры, которые удерживают модель на месте во время печати без плавающих фрагментов и деталей и сохраняют структурную стабильность.

Мой вопрос в том, что, поскольку я не нашел ни руководства, ни какого-либо исходного кода (и, по общему признанию, я ужасен в математике), как я могу описать тип алгоритма / логики, используемого здесь программным обеспечением? Это очень важно для меня, так как мне нужно описать это в моем исследовании. Твое здоровье, Джесси

, 👍5

Обсуждение

Трудно сказать точно, что делает Ретинакреат. Вы можете попробовать изучить другие срезы и инструменты манипуляции, которые могут быть лучше документированы. Может быть, у MeshMixer есть какая-то информация, например., @Ryan Carlyle

Это закрытый исходный код, без какой-либо доступной документации. На этот вопрос не могут ответить даже создатели программного обеспечения., @Tom van der Zanden


1 ответ


Лучший ответ:

3

Оптимальную ротацию можно рассматривать с разных точек зрения. Например

  • как можно меньше поддержки. Таким образом, приложение пытается сориентировать объект так, чтобы как можно больше поверхности не выступало и не нуждалось в поддержке
  • поддержка только на рабочем столе. Приложение пытается сориентировать объект таким образом, чтобы все выступающие части можно было поддерживать непосредственно из heat desk (а не из самого объекта).

Но взгляните на Meshmixer, как предложил Райан Карлайл. В этом приложении вы можете увидеть 3 вида процедур автоматической ориентации. Кроме того, Meshmixer может создавать угловые опоры и древовидные опоры.

С точки зрения математики.

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

Давайте получим все грани (фасеты) и спроецируем их центральные точки на "пол" (тепловой стол) или "потолок". Если воображаемая проекционная линия разрезает какие-либо другие грани, то вращение не является оптимальным. Приложение может вычислить "вес" такой ориентации, а затем попытаться найти наименьший вес из всех возможных ориентаций.

Конечно, все не так просто. Приложение должно управлять вогнутостью, которая вообще требует поддержки, и многими другими аспектами, но в целом вы можете представить алгоритм.

  • "как можно меньше поддержки" можно было бы считать более простым для представления "как можно меньше тени", и проблема может быть упрощена до проекции и трассировки лучей.

  • точно так же "опора только для стола" может быть упрощена до "отбрасывать тени, но не на себя".


,

Это не дает ответа на вопрос двумя способами: (1) вопрос касается принтеров на основе смолы (для которых соображения ориентации совершенно разные), а не FDM (2) это просто предположение, а не то, что на самом деле делает программное обеспечение., @Tom van der Zanden

Я был почти уверен, что вы будете спорить именно так ;) и в чем-то вы правы, но он спросил "как описать ...", и мой ответ пытается описать, как приложение это делает. Является ли это FDM или нет - принципы более или менее одинаковы. Может быть, "пол" должен стать "потолком", но это все то же самое. Я имею в виду, что он больше спрашивал, как это делается, чем как это делается в данном конкретном приложении., @darth pixel

Принципы работы машины для производства смолы совершенно иные. Вы не так сильно заботитесь о количестве необходимой поддержки, но, например, если у вас модель с большой плоской поверхностью, вы не хотите, чтобы эта поверхность была параллельна сборке, потому что ее будет трудно отклеить (но вместо этого под углом, чтобы поверхность соприкасалась с сборкой тарелка каждый раз становится не такой большой)., @Tom van der Zanden

Читая вопрос буквально, я действительно не чувствую, что проблема зависит от типа принтера. джесбенградев не упоминал об этом. Согласно моему пониманию вопроса - ему нужна помощь, чтобы объяснить / описать алгоритм в его исследовательской работе. Поэтому он хотел бы понять и получить принципы оптимальной ротации, а не применять их к своему приложению (особенно к своему принтеру). Но, конечно, я могу ошибаться., @darth pixel

Он спрашивает об оптимальной функции поворота программного обеспечения FSL3d, и это программное обеспечение предназначено специально для принтеров на основе смолы. Как я уже объяснял, требования к ориентации полимерных принтеров отличаются от требований к FDM, но, не зная, как работает программное обеспечение FSL3d, вы не сможете ответить на этот вопрос. Насколько я понимаю, им нужно объяснить в своей исследовательской работе, как работает FSL3d, потому что это то, что они использовали для ориентации своих моделей, и ориентация моделей, вероятно, влияет на результаты их экспериментов., @Tom van der Zanden

Спасибо за вашу дискуссию, это уже полезно. Хотя я использую исключительно принтеры на основе смолы, я использую и другое программное обеспечение, помимо RetinaCreate, но с преформой Formlab это выглядит примерно так же. Можем ли мы предположить, что используемая здесь "логика" либо заслуживает защиты, либо настолько банальна в глазах разработчиков, что не нуждается в документировании?, @jesbengradev

@jesbengradev определенно, это не такая тривиальная задача с точки зрения математики. Нужно ли это документировать? Это зависит от вашей области исследований :) Я бы сказал, что это очень похоже на проекцию в 3D или отбрасывание теней параллельными лучами (что и есть проекция). И это довольно хорошо задокументировано. смотрите здесь https://en.wikipedia.org/wiki/Projection_ (математика) и здесь https://en.wikipedia.org/wiki/Ray_tracing_ (графика), @darth pixel

@darthpixel это действительно хороший вклад, поскольку мне не нужно документировать фактический алгоритм шаг за шагом, а скорее дать обоснованное представление об общем процессе принятия решений / логике, которая здесь работает., @jesbengradev