пятница, 5 февраля 2010 г.

Полигональные форматы в CATIA V5 (STL, CGR, OBJ)

Однажды на страницах этого блога тема полигональных форматов в CATIA уже поднималась, тем не менее следует возвратиться к ней еще раз. Сегодня будет рассмотрено три основных вопроса:

1. Вывод сборки CATIA в STL
2. Превращение CGR в редактируемый объект
3. Открытие сетки в формате OBJ для редактирования в CATIA

Сразу скажу, все три задачи решаются фактически одним способом, но при постановке задач это не очевидно, поэтому я и разбил их на три части.

1. Вывод сборки CATIA в STL

Эта на первый взгляд тривиальная задача на практике простым и логичным способом (через меню Файл/Сохранить как) не осуществима. Разработчики дозволяют выводить в STL только части сборки, т.е. по одной детали. Этот способ можно смело причислять к извращениям, поэтому пойдем другим путем (тоже не совсем нормальным, но гораздо менее трудозатратным). Применим модуль, который, на первый взгляд, никакого отношения к STL не имеет. Речь идет о функционале Digital Mockup, некоторые модули которого позволяют сохранять результат своих вычислений в полигональные форматы STL и CGR. Этим мы и воспользуемся, только вычислять ничего не будем.
Итак, открываем сборку, переходим в модуль DMU Optimizer, выбираем инструмент Merger:

Указываем что мы хотим вывести (в данном случае, всю сборку), жмем Сохранить и в  выпадающем списке типов файла указываем STL.
Вот и все!
Стоит, пожалуй, упомянуть о детализации экспортируемой модели. Значения триангуляции берутся из текущего состояния модели (ведь чтобы отобразить модель на экране ее в любом случае нужно разбить на треугольники). Посмотреть как выглядят эти треугольники (т.е. фактически увидеть то, как будет выглядеть STL-файл) можно через пиктограмму способа отображения.
А настроить степень детализации можно через меню Tools/Options/General/Display/Performance/3D Accuracy

Чем меньше значение, тем меньше треугольник, а следовательно качественнее выводимый файл, ну и, конечно, больше по размеру. Минимальное значение 0,01. Кстати, последнее замечание по поводу настройки качества экспорта STL действует и для обычного сохранения детали в этот формат.
Теперь можно проверить что у нас там экспортировалось. Перейдем в модуль Shape Sculptor и через Import внесем нашу модель.

Как видим, треугольники в точности такие, как мы и ожидали получить. Этот файл теперь можно смело открывать в любой программе, для который мы его и хотели получить, например, в 3D Max или Maxwell Render
2. Превращение CGR в редактируемый объект

Не все могут сразу понять зачем это вообще нужно. Формат CGR часто в CATIA используют для хранения и отображения "облегченных" версий детали, т.е., например, если в деталь уже не планируется вносить изменений, но при этом другие детали и сборки находятся все еще в стадии доработки, то зачем грузить эту деталь со всем ее деревом построения? Вместо нее подгружают легкий CGR (который по своей природе является полигональным форматов и в чем-то похож на STL). Так вот иногда случается такая ситуация, когда оригинал детали (CATPart) утерян и нужно восстановить геометрию. Есть и другие причины.

Итак, все знают, что вставка CGR файла осуществляется через механизм "Вставка существующего компонента в сборку".

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

3. Открытие сетки в формате OBJ для редактирования в CATIA

Тут самое главное то, что многие вообще не знают, что в CATIA можно открывать файлы OBJ. Поэтому приходится перегонять их в формат STL через сторонний софт, например, 3D Max. Мы же сделаем это полностью средствами CATIA: повторяем действия предыдущей задачи, только при вставке компонента выбираем формат OBJ

2 комментария:

SHDW комментирует...

generate catpart from catproduct>>save stl

car2ner комментирует...

"generate catpart from catproduct>>save stl"
Этот способ известный. Но зачем лишний шаг делать, который на больших сборках еще и не слишком быстрый? А CGR и OBJ этим способом не перегнать.