Я уже рассказывал
как перегонять модели в виде NURBS-поверхностей из CATIA в 3D MAX для последующего рендеринга. Один из недостатков этого способа — применение дополнительного плагина (
nPower PowerTranslator). Самое же главное его преимущество — получение поверхностей в том виде как они были смоделированы. Но в большинстве случаев, к примеру для фотовизуализации, достаточно полигональной модели. Также иногда нет возможности применения нескольких программ — хотелось бы напрямую перегонять модели из CATIA непосредственно в программу рендеринга. Поделюсь своим скромным опытом в этом на первый взгляд простом деле. Тестирование проводилось в CATIA V5R18 SP2 и 3D MAX 2009 SP1, однако описанные методы подходят и для более старых версий.
Задача 1. Модель CATIA требуется в полигональном виде передать в 3D MAX
Для начала создадим простую деталь в модуле Part Design (проектирование деталей).

Теперь посмотрим какие варианты экспорта полигональных моделей имеются в CATIA. В общем-то их три: CGR, 3D XML и STL. Про первые два прийдется забыть, т.к. кроме CATIA и нескольких 3D-вьюеров их никакой софт не поддерживает. Значит, воспользуемся тем что осталось — STL. Выбираем папку, в которую мы сохраним нашу модель и имя файла.


Далее через меню импорта 3D MAX выбираем соответствующий тип файла и нашу модель. В появившемся диалоговом окне можно все параметры оставить как есть. Жмем "ОК" и через секунду видим нашу детальку в окнах проекций.

Теперь можно присваивать материалы и рендерить.

На этом можно было и закончить описание всей процедуры, но мы немного усложним задачу — поробуем экспортировать не одну деталь, а сборку. И вот тут мы сразу попадаем в тупик — при сохранении сборки напрочь отсутствует тип файла STL. Получается, что прийдется заходить в каждую деталь и по одной ее пересохранять в нужный формат. Если в сборке несколько деталей, такой вариант не кажется обременительным, а вот если их десятки или сотни?


Теперь немного о настройках, которые позволят улучшить качество передаваемой модели. При сохранении в STL из CATIA используется механизм триангуляции тот же самый, что и при отображении на экране в рабочем окне. А значит, степень апроксимации меняется в меню Tools/Options/Display/Performance/3D Accuracy — чем меньше значение, тем более качественной будет модель на выходе (и, соответственно, "тяжелее"). Можно даже посмотреть как будет разбита модель на треугольники не выходя из CATIA.
Задача 2. Модель CATIA требуется в полигональном виде передать в программу рендеринга.Сразу хочу сказать, что не все системы фотовизуализации поддерживают формат STL, тем не менее, одна из лучших, Maxwell Render, делает это.





Сохраним из CATIA модель как это было описано в Задаче 1 и импортируем ее в Maxwell Studio. Импортированная модель повернута и увеличена в масштабе (очевидно, используются другие единицы измерения) Опытным путем выяснилось, что правильное значение масштаба для импортированных объектов 0,001. Выбираем наш объект, меняем масштаб по всем осям и поворачиваем. Видим, что здесь сохраняется та же проблема, что и при импорте в 3D Max: все детали слились в один объект. Т.е. и материал мы можем присвоить всем деталям только один. Исправить ситуацию мы можем создав т.н. группы треугольников. Делается это так: переходим в режим управления треугольниками, выбираем любой из полигонов нужной детали и жмем на клавиатуре "/" — это выделит все полигоны, из которых состоит деталь, затем правой кнопкой мыши по выбранному и Group Triangles. Здесь можно ввести имя группы, чтобы не запутаться. Так же поступаем с остальными "деталями", которым в дальнейшем мы хотим присвоить разные материалы — все они должны быть преобразованы в группы треугольников.

Теперь подберем необходимые материалы и переложим их в список материалов сцены. Оттуда можем простым перетягиванием присвоить материалы группам (здесь-то и пригодятся нормальные названия, иначе сложно определись какой материал чему присваивается).

Вот, собственно, и все. Теперь достаточно выбрать HDRI-окружение (если необходимо), создать камеру и нажать кнупку Render. Эти части подробнейшим образом описаны в мануале к Maxwell Render
Задача 3. Перенести полигональную модель из 3D Max в CATIA.
В этом случае все так же решеается через STL-файлы. Готовим в 3D Max модель и экспортируем ее (File/Export/STL). Далее запускаем CATIA и идем в меню File/Open/STL, чтобы... убедиться, что таким способом STL-файл не откроешь.

Значит надо идти другим путем. В CATIA есть специальный модуль для работы с полигональными моделями (Shape Sculptor). Видимо, если и есть средства импорта, то только там...

Если масштаб и единицы измерения у оригинальной модели были нормальные, то они в том же виде перенесутся и в CATIA.
Примечание. Задача 2 решается еще одним способом, при котором не требуется возиться с группами треугольников, зато прийдется схожую по времени процедуру (может чуть быстрее) проделать в CATIA. Видимо этот способ будет удобнее тем, кто в большей степени работает с CATIA и в меньшей — с программами рендеринга. Так же не рассмотрен вариант сохранения поверхностей в формат STL — в приведенных примерах работа проводится только с солидами. Если все это интересно, я раскажу обо всем этом в следуещем посте.