How to choose a CAD-to-real-time-3D pipeline

Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.
Конвейер из CAD в 3D в реальном времени преобразует исходные инженерные данные в ассеты, которые можно отрендерить в живом 3D-приложении с частотой кадров. Это оценочная структура, а не рекомендация продукта: на что смотреть, что тестировать на собственных данных и что спрашивать у поставщика, прежде чем принимать решение. Он охватывает форматы, которые считывает конвейер, как он преобразует точные поверхности в треугольники, сохраняется ли ваша метаинформация и что происходит, когда инженер выпускает новую версию. Это предполагает, что вы уже решили, что вам нужен конвейер, а не просмотрщик или одноразовый конвертер.
Большинство сравнений программного обеспечения для конвертации САПР останавливаются на списке форматов. Это легкая часть. Решения, которые определяют, будет ли ваш проект выпущен, принимаются дальше по течению, и почти никто их не записывает.
Что такое на самом деле конвейер от CAD к 3D в реальном времени
Конвейер от CAD к 3D в реальном времени — это повторяющийся процесс, который принимает исходные данные CAD, преобразует точные поверхности в треугольные сетки, оптимизирует эти сетки в соответствии с бюджетом производительности, сохраняет инженерные данные, прикрепленные к ним, и доставляет готовые к развертыванию ресурсы на целевое устройство. Он снова запускается, когда меняется источник.
Три категории продуктов постоянно путаются, и это путаница стоит дорого.
- viewer позволяет кому-либо просматривать данные CAD. Он генерирует по требованию и не производит ничего, на чем можно строить.
- конвертер изменяет файл из одного формата в другой. Один файл в, один файл из, без оптимизации, без структуры.
- конвейер многократно преобразует исходные CAD-данные в оптимизированные, организованные, готовые к развертыванию активы с настраиваемыми и управляемыми параметрами.
Рынок не определился в этом различии. Сегодня поиск по запросу "программное обеспечение для конвертации CAD" выдает инструмент для преобразования растрового изображения в 2D-вектор, два общих онлайн-конвертера файлов и подборку, в которой перечислены AutoCAD, SOLIDWORKS и CATIA как программное обеспечение для конвертации. Это приложения для создания контента. Если в верхних результатах нельзя отделить авторство от конверсии, покупатели могут оценить не ту категорию.
Если вы все еще решаете, какой класс продукта вам нужен, начните с программного обеспечения для 3D-визуализации. Это руководство начинается на один шаг позже.
Шесть этапов и что оценивать на каждом
Каждый надежный конвейер выполняет шесть вещей. Каждый этап имеет свой собственный режим отказа.
- Поглотить. Считывать нативные и нейтральные данные CAD, а также данные захвата реальности. Оцените ширину формата и то, является ли чтение нативным или через экспорт.
- Ремонтировать и готовить. Исцелять, сшивать и удалять геометрию, не предназначенную для рендеринга. Оцените, что инструмент исправляет автоматически.
- Тесселировать. Преобразовать точные поверхности в треугольники. Оцените управляемые вами параметры допуска.
- Оптимизировать и сгенерировать LOD. Попал в треугольник и бюджет вызовов отрисовки. Оцените качество децимации и автоматизацию LOD.
- Перенесите данные. Сохраните иерархию, номера деталей, материалы и информацию о производстве продукта (PMI). Оцените, что выживает, а что отбрасывается.
- Автоматизировать и управлять. Запускать без интерфейса, повторно запускать при изменении, контролировать доступ. Оцените API, модель триггеров и журнал аудита.
Прием: какие форматы, и нативные против нейтральных
Есть два способа, которыми конвейер может читать ваш CAD, и разница имеет значение.
Native reading означает, что конвейер напрямую открывает файлы CATIA V5, Siemens NX .prt, Creo, SOLIDWORKS или Inventor, используя собственное определение геометрии поставщика. Neutral reading означает, что кто-то сначала экспортирует в STEP, IGES или JT, а затем конвейер считывает это.
Нейтральные форматы полезны и широко поддерживаются. Это также проблемная передача. Каждый нейтральный шаг — это шанс сбросить структуру сборки, наименование деталей, единицы измерения, пользовательские свойства и информацию о производстве продукта. Переход также ручной, поэтому он не происходит одинаково дважды и не может быть автоматизирован от начала до конца. Если ваш источник истины — сборка CATIA, чтение CATIA нативно устраняет шаг, переменную и человека из цикла.
Захват реальности также относится сюда. Данные лазерного сканирования и фотограмметрии поступают в виде облаков точек в форматах E57, PTS или PLY. Конвейер, который обрабатывает преобразование облака точек в сетку наряду с САПР, позволяет разместить модель "как было спроектировано" и сканирование "как построено" в одной сцене.
Будьте осторожны с подсчетом форматов. "Поддерживает 200 форматов" часто означает 200 расширений, многие из которых — один и тот же формат в разных версиях, некоторые из которых требуют установки и лицензирования приложения-автора на той же машине. Спросите, какие форматы читают B-rep, какие читают PMI, а какие читают метаданные. Эти три столбца — это то место, где подсчет перестает быть маркетингом.
Unity Asset Transformer считывает более 70 форматов и расширений. В опубликованной таблице перечислены нативные файлы CATIA V4, V5 и V6, NX-Unigraphics .prt от UG11 до NX2412, Creo, SOLIDWORKS, Solid Edge, Inventor, JT, STEP до AP242, IGES, Parasolid, ACIS, Revit, Navisworks, IFC и Rhino, а также входные данные в виде сетки и облака точек. Та же таблица указывает, какие из этих форматов содержат B-rep, PMI и метаданные, что является уровнем детализации, о котором стоит спросить у любого поставщика.
Тест, который нужно запустить: отправьте поставщику вашу самую уродливую реальную сборку, а не демо-файл. Выберите тот, в котором 40 000 частей, смешанные источники и соглашение о наименовании, которое никто не помнит, что о нем договаривался. Проверьте вывод на наличие структуры сборки, наименований деталей и единиц.
Выходы так же важны, как и входы. Спросите, в каких форматах пишет конвейер, и сопоставьте их с тем, куда идет актив. FBX — это общий формат обмена между Unity и Unreal. glTF и GLB — это форматы для веба и браузеров, и именно их будет использовать приложение WebGL или WebGPU. USD и USDZ широко используются в экосистеме мобильной дополненной реальности и DCC. OBJ и STL — это форматы, содержащие только геометрию, и они опустят вашу иерархию, поэтому относитесь к ним как к последнему средству, а не как к цели. Конвейер, который записывает только один из этих лимитов, где вы сможете развернуть позже.
Тесселяция: превращение точных поверхностей в треугольники
Тесселяция — это процесс аппроксимации точной поверхности САПР сеткой треугольников. CAD точно описывает геометрию, используя поверхностное представление границ и NURBS. Игровые движки в реальном времени рендерят треугольники. Каждое преобразование между ними является приближением, и вы контролируете его качество, а не позволяете инструменту решать это.
Его регулируют два параметра.
Максимальный прогиб, также называемый допуск хорды или ошибка хорды, — это наибольшее расстояние, на которое треугольная сетка может отклоняться от истинной поверхности, выраженное в миллиметрах. Затяните его, и вы получите больше треугольников, обнимающих поверхность. Ослабь его, и ты получишь меньше треугольников и видимого фасетного разбиения.
Maximum angle — это наибольший разрешенный угол между нормалями двух соседних треугольников на одной грани. Сяг в одиночку недотесселирует на крутой кривизне, потому что небольшой радиус может поместиться в щедрый допуск прогиба, при этом все еще выглядя как фаска. Максимальный угол заставляет треугольники попадать в эти области.
Опубликованные пресеты показывают полезный диапазон. Качественные пресеты Asset Transformer варьируются от максимального провисания 0,01 мм в самой плотной до 3 мм в самой грубой, с коэффициентом провисания, который масштабирует допуск относительно ограничивающей рамки модели, чтобы кронштейн и фюзеляж не рассматривались одинаково. Если установить слишком грубый шаг, вы получите фасетные цилиндры и полосы на изогнутых панелях. Установите слишком мелкий, и вы сгенерируете треугольник, который ни одно целевое устройство не сможет отобразить.
Тесселяция — это также место, где происходит восстановление сетки. Промышленный САПР не предназначен для рендеринга. Ожидайте необходимости в заполнении и сшивании для закрытия зазоров между поверхностями, ремонте свободных краев и нормальном выравнивании, чтобы отсечение граней не оставляло части вашей модели невидимыми с одной стороны.
Одна точка секвенирования стоит больше, чем любая отдельная настройка. Правильное выравнивание во время тесселяции лучше, чем плотная тесселяция с последующим удалением. Децимация может работать только с треугольниками, которые ей даны.
Оптимизация и LOD: работа от частоты кадров
Это цепь, которую почти никто не рисует, и она работает в противоположном направлении тому, как работают большинство команд. Начинайте с устройства, а не с модели.
Владельцы платформ публикуют бюджеты. Поставщики движков в основном этого не делают, что стоит знать, прежде чем вы будете искать авторитетное число Unity или Unreal, которого не существует. Документация Unity по оптимизации графики намеренно качественная, а Khronos перевел свои руководящие принципы создания ассетов glTF от фиксированных чисел к профилям аудита для каждого конкретного случая использования. Ваш бюджет поступает из вашего целевого оборудования.
Meta публикует свои треугольные фигуры как внутренне рекомендуемые диапазоны, а фигуры вызовов отрисовки как примерные диапазоны. Также отмечается, что большие открытые сцены должны нацеливаться примерно на 50% от указанного количества треугольников, поскольку опубликованные цели были получены из меньших замкнутых уровней.
Прочитайте таблицу по сторонам, и ограничение появится. Та же сборка, которая выглядит приемлемо на настольной обзорной станции, должна поместиться в 250 000 треугольников для приложения visionOS с общим пространством, а также в рекомендованный Google лимит в 100 000 треугольников и размер модели в 10 МБ, чтобы работать в веб- и мобильном AR. Разница между вашей самой свободной и самой узкой целью — это реальное ограничение дизайна, и для большинства команд самой узкой целью является веб, а не гарнитура. Это не проблема децимации, которую вы решаете в конце. Это бюджет полигона, который вы выделяете в начале, независимо от того, строите ли вы веб-конфигуратор, дизайн-обзор, учебную симуляцию или цифрового двойника.
Вызовы отрисовки заслуживают отдельного внимания, потому что промышленные данные нарушают общепринятые рекомендации. Пакетная обработка и инстансинг на GPU хорошо работают, когда сцена многократно инстанцирует несколько объектов. Промышленные сборки имеют противоположный профиль: огромное количество различных деталей, каждая из которых имеет свой материал. Объединение частей, имеющих общий материал, и инстансирование повторяющихся частей, таких как крепеж, дает больший прирост производительности кадров, чем уменьшение количества треугольников.
Техники, за которые стоит выделять время:
- Децимация с сохранением резких краев. Документация Asset Transformer о децимации показывает, что деталь CAD была уменьшена с 140 846 треугольников до 13 126, что составляет снижение на 90%, при этом, как описывается, потеря качества практически незаметна, в том числе и на острых краях.
- Удаление окклюдированной внутренней геометрии. Двигатель с радостью отобразит внутренние пружины герметичного клапана, который никто никогда не увидит.
- Устранение недостатков. Подавить отверстия, скругления, рельефный текст и резьбу, которые меньше пикселя на расстоянии просмотра.
- Инстансирование повторяющихся частей. Тысячи одинаковых болтов должны быть одним сетчатым элементом, ссылающимся на множество раз.
- Генерация конверта или прокси. Заменить подкомпонент его внешним корпусом для самого дальнего уровня LOD.
Ваши данные выживут? Метаданные, иерархия и PMI
Геометрия — это та часть, которую все проверяют. Данные, прикрепленные к нему, — это та часть, которая может тихо исчезнуть. Насколько это важно, зависит от сценария использования: веб-конфигуратору может не понадобиться ничего, кроме идентификатора детали, в то время как приложение для обучения персонала не будет пригодно к использованию, если иерархия и номера деталей не разрешаются в сетке. Решите, что на самом деле нужно вашему приложению, прежде чем оценивать поставщика по этому.
Сборка САПР содержит больше, чем поверхности:
- Артикулы и идентификаторы, которые связывают сетку с записью в ERP или PLM
- Иерархия сборки, включая подсборки, экземпляры и локальные преобразования
- Материалы и цвета, назначенные на уровне детали, корпуса или грани
- Пользовательские свойства, такие как поставщик, масса, ревизия и центр затрат
- PMI и GD&T, допуски, базовые плоскости и аннотации, передающие замысел конструкции
Ожидайте три исхода, а не два. Иерархия и названия частей обычно сохраняются при нативном чтении и часто деградируют при нейтральном экспорте. Материалы часто сохраняют цвет, но теряют физическое определение, поэтому кто-то переназначает шейдеры ниже по течению. PMI выживает только в том случае, если и исходный формат, и читатель его поддерживают, поэтому таблица форматов важна на уровне столбцов, а не на уровне строк.
Тест для запуска: конвертирует известную сборку, а затем проверяет, что определенный номер детали все еще разрешается на определенной сетке в целевом приложении. Не "метаданные сохраняются" в техническом описании. Одна часть, одно число, один поиск. Затем сделайте это снова после децимации, потому что оптимизация — это распространенное место, где атрибуты могут отсоединиться от геометрии, которую они описывают. Для всего, что касается обслуживания, обучения или качества, сделайте это требованием с оценкой, а не желательным условием.
Автоматизация, распространение изменений и управление
Три критерия, которые едва появляются в сравнениях поставщиков, и которые с наибольшей вероятностью определят, переживет ли ваш конвейер второй год.
Автоматизация. Может ли конвейер работать без человека в интерфейсе? Он запускается в безголовом режиме из командной строки или через API? Может ли он обрабатывать сотни файлов пачкой? Сохраняются ли настройки как именованные, версионированные профили или они переоткрываются тем, кто запустит их следующим? Есть ли скриптовый интерфейс, например, Python API, на случай, если предустановки не подходят? Конвейер, который работает только интерактивно, имеет ровно одного оператора, и этот оператор является единственной точкой отказа.
Изменение распространения. Это самая дорогая вещь, которую можно сделать неправильно, и она отсутствует практически на каждой конкурирующей странице. Инженеры выпускают ревизию C. Что происходит? В неуправляемом конвейере ничего не происходит, пока кто-то не вспомнит, поэтому ваше обучающее приложение, ваш конфигуратор и ваша среда обзора показывают людям, принимающим решения, ревизию B. Задайте три вопроса. Вызывает ли изменение источника автоматический повторный запуск? Достигает ли обновленный актив развернутые приложения или только библиотеку активов? Сколько времени занимает полный повторный запуск, потому что это ваша истинная задержка обновления. Автоматизация облачного конвейера в сочетании с 3D-стримингом может замкнуть этот цикл, отправляя обновленный актив в работающее приложение, которое побуждает пользователей загрузить последнюю версию.
Управление. Преобразованные активы быстро множатся, и это производные данные с родословной. Ищите управление доступом на основе ролей (RBAC), историю версий, которая связывает оптимизированный актив с исходной версией САПР, аудиторский след и связь с PLM или PDM, чтобы конвейер не был параллельной вселенной не отслеживаемых файлов. Здесь 3D asset management становится частью конвейера, а не отдельной покупкой. Это руководство по управлению инфраструктурой 3D-данных охватывает архитектурный уровень.
Мульти-CAD: нормализация более чем одного источника
По данным опроса CADENAS PARTsolutions, примерно 48% инженерных отделов работают в среде с несколькими CAD-системами. Если ваш — один из них, нормализация является требованием первого порядка, а не пограничным случаем.
Четыре вещи, которые надежно идут не так, когда несколько нативных источников подают данные в один конвейер:
- Единицы измерения и системы координат. Один источник работает в миллиметрах и с направлением Z вверх, другой — в дюймах и с направлением Y вверх. Детали приходят в неправильном масштабе или лежат на боку. Ошибка очевидна в одной части и невидима в сборке из 30 000 частей.
- Названия и материальные конвенции. Каждый инструмент для создания экспортирует свои собственные имена свойств. Без слоя сопоставления автоматизация ниже по течению, которая основана на номерах деталей, ломается в зависимости от источника.
- Слияние сборки. Тело CATIA и кронштейн NX должны стать единой иерархией с одним корнем, а не двумя соседними сценами.
- Настройки тесселяции по источнику. Допуск, подходящий для механического корпуса, неверен для листового металлического изделия.
Спросите, являются ли правила нормализации настраиваемыми и многократно используемыми или жестко закодированными для каждого импорта.
Сделай сам или купи конвейер?
Написание собственного скрипта — самый распространенный реальный вариант, и он заслуживает честного рассмотрения.
Аргументы в пользу строительства. При одном формате источника, одной целевой платформе и стабильных требованиях скрипт поверх открытого или лицензированного ядра — это выходные работы и годы обслуживания с минимальным уходом. Команды делают это хорошо. Вы контролируете вывод, не платите за лицензирование на место и подгоняете конвейер под свои данные, а не адаптируете свои данные к продукту.
Какое здание стоит со временем. Формат покрытия идет первым, потому что источники множатся. Кто-то приобретает компанию, которая использует Creo, и ваш скрипт только с STEP нуждается в переводчике, которого у вас нет. Лицензирование ядра — это реальная статья расходов, и ядра необходимо обновлять, когда поставщики САПР выпускают новые версии, поэтому каждый релиз САПР становится событием технического обслуживания. Качество — самый сложный предел: сохранение чистых острых кромок и автоматическая генерация LOD — это специализированная работа, а наивный дециматор скруглит ваши фаски. Специалист, написавший сценарий, становится единственной точкой отказа при отсутствии документации и плана преемственности.
Когда строительство правильно. Один формат, одна цель, низкий объем и экспертиза в области геометрии уже в штате. Или требование настолько специфическое, что ни один продукт его не удовлетворяет. NIST quantified the cost неправильной совместимости десятилетия назад, обнаружив, что неполная совместимость обходилась американской автомобильной цепочке поставок не менее чем в 1 миллиард долларов в год, причем большая часть этого приходилась на время и ресурсы, потраченные на исправление и воссоздание непригодных файлов данных. Форматный счет только умножился с тех пор.
Сколько это стоит
Цены устаревают, поэтому оценивайте модели, а не цифры.
- За место. Именованная или плавающая лицензия для интерактивного настольного инструмента. Предсказуем, и масштабируется в зависимости от операторов, а не от данных.
- За конверсию или за объем. Распространено в ценообразовании облачных сервисов и API. Эффективен при малом объеме и стоит моделирования, если ваши исходные данные меняются.
- Лицензирование SDK или среды выполнения. Для преобразования в эмбеддинги в вашем собственном продукте. Обычно оговаривается, часто с условиями роялти или дистрибуции.
- Корпоративный или локальный. Требуется, когда данные не могут покинуть вашу сеть. Оценено как соглашение о платформе.
Стоимость редко определяется количеством мест. Это обусловлено разнообразием и объемом источников. Десять форматов и ежедневные пересмотры стоят дороже в поддержке, чем сто мест, читающих STEP один раз в квартал.
Опубликованные цены являются разумным прокси для прозрачности. В линейке продуктов Unity Asset Transformer Asset Transformer Studio указывает годовую цену за место, Toolkit включен в подписку Unity Industry, а SDK указывается по запросу. Связанные инструменты, такие как программное обеспечение для конфигурирования продуктов, могут иметь собственное лицензирование, поэтому охватите всю цепочку, а не только шаг преобразования.
Чек-лист шорт-листа
Пятнадцать вопросов для любого поставщика, включая Unity. Честный человек может ответить на все них.
- Какие из моих нативных форматов САПР вы читаете напрямую, без этапа экспорта?
- Для каждого из этих форматов вы читаете B-rep, PMI и метаданные или только геометрию?
- Какие параметры тесселяции я могу установить и в каких единицах?
- Могу ли я сохранять настройки тесселяции и оптимизации в виде многоразовых именованных профилей?
- Какое качество децимации у вас на острых краях, и можете ли вы показать до и после на моей геометрии?
- Вы генерируете уровни LOD автоматически, и могу ли я установить целевое количество треугольников для каждого уровня?
- Можете ли вы автоматически удалять окклюдированную внутреннюю геометрию и повторяющиеся экземпляры частей?
- Что происходит с иерархией сборки, номерами деталей, материалами и пользовательскими свойствами на протяжении всего конвейера?
- Сохраняется ли метаданные привязанными к геометрии после уменьшения и генерации LOD?
- Может ли конвейер работать в фоновом режиме, в пакетном режиме, из CLI или API, без интерактивной сессии?
- Когда исходные CAD-версии обновляются, пересчитывается ли конвейер автоматически, и достигает ли обновленный актив развернутых приложений?
- Сколько времени занимает полный повторный запуск моей самой большой сборки?
- Как версионируются преобразованные активы, и могу ли я проследить один из них до исходной ревизии CAD?
- Какие средства контроля доступа и аудита вы предоставляете, и интегрируетесь ли вы с моей PLM или PDM?
- Как меняется ценообразование, когда я добавляю формат источника, удваиваю объем или мне требуется Deployment на месте?
Ответы на часто задаваемые вопросы
Просмотрщик отображает данные CAD и не выдает никакого результата. Конвертер преобразует один файл в другой формат, по одному, без оптимизации. Конвейер многократно принимает исходные CAD-данные, тесселирует их, оптимизирует с учетом бюджета производительности, сохраняет метаданные и передает готовые к развертыванию ресурсы. Только третий является производственной возможностью.
Промежуточный шаг FBX или OBJ не требуется. Инструментарий конвейера считывает нативные форматы, такие как CATIA, NX, Creo и SOLIDWORKS, напрямую и преобразует точные поверхности в сетки во время импорта. FBX и glTF полезны для предварительной обработки очень больших сборок вне редактора, но это лишь один из вариантов рабочего процесса, а не обязательное условие.
Допуск тесселяции, обычно выражаемый как максимальный прогиб или допуск по хорде, — это наибольшее расстояние, на которое треугольная сетка может отклоняться от истинной поверхности САПР. Опубликованные пресеты охватывают диапазон примерно от 0,01 мм для плотного вывода до 3 мм для грубого вывода. Выберите его с учетом вашего треугольного бюджета и расстояния просмотра, и сопрягите с максимальной настройкой угла, чтобы плотные закругления правильно тесселировались.
Ни Unity, ни владельцы платформы не публикуют рекомендуемого количества LOD. На практике три уровня плюс состояние отсева — это распространенная отправная точка для VR и настольных приложений, а для веб-доставки, где в первую очередь ограничивается размер загрузки, типично два или три. Работая в обратном порядке от бюджета вашего устройства: если ваш самый дальний уровень превышает его, добавьте уровень.
Это зависит от формата и читателя. Некоторые выживают, некоторые деградируют, некоторые теряются. Иерархия сборки и названия деталей обычно сохраняются при нативном чтении. Материалы часто сохраняют цвет, но теряют физическую форму. PMI выживает только там, где и исходный формат, и читатель его поддерживают. Проверьте с конкретным номером детали, а не доверяя техническому описанию.
Это зависит от того, автоматизирован ли ваш конвейер. В ручном конвейере ничего не происходит, пока кто-то не заметит, а развернутые приложения продолжают показывать предыдущую версию. В автоматизированном конвейере изменение исходного кода запускает повторный запуск, а обновленный актив достигает библиотеки активов и развернутых приложений через потоковую передачу или запрос на обновление.
Не для интерактивной работы. Настольные инструменты и плагины редакторов созданы для технических художников и инженеров, а правила, основанные на пресетах, покрывают большую часть повторяющейся подготовки. Вам необходимы возможности разработчика для уровня автоматизации: написание скриптов для API, подключение триггеров к вашей PLM и запуск преобразований в CI или в облаке.



