суббота, 22 декабря 2007 г.

Как конвертировать проекты CATIA в 3D Studio MAX для дальнейшей визуализации?

Такой вопрос мне задали уже несколько раз за последний месяц и я подумал, что проще написать эту статью и давать на нее ссылку, чем каждый раз отвечать одно и то же.

Начнем с предыстории проблемы.
Из форматов, «понимаемых» неCADами в списке «Сохранить как» есть IGES, STL, VRML. Последний даже рассматривать не будем, ибо он во-первых устарел, а во-вторых результаты преобразования модели получаются абсолютно непредсказуемыми. STL — полигональный формат, что сразу ограничивает его область применения. Тем не менее его логично использовать, если качество модели не принципиально. Есть и еще один подводный камень — CATIA не позволяет делать экспорт сборки в этот формат — только деталь. Конечно, можно вывести каждую деталь в отдельный STL, а затем «собрать» в 3DS, но это не наш метод :-) Остается IGES. Всем хорош этот формат — универсален, и поверхности выводит NURBS, и сборки можно выводить, но вот беда — при импорте в Max с поверхностями происходит чертовщина.

Знакомая картина? У половины поверхностей вектор нормали инвертирован, сложные участки поверхностей, переходящие в цилиндрические фрагменты иногда «закручиваются» до полного цилиндра и кроме того более-менее объемистая модель начинает жутко тормозить машину. Скорее всего, это проблема механизма работы с NURBS-поверхностями самого 3D-Max, т.к. тот же Rhino открывает большинство (но не все!) сгенерированных Катей IGES-ов абсолютно нормально. Поэтому предварительное решение выглядит как CATIA->IGES->Rhino->IGES->3DS Max и хотя такая схема в большинстве случаев работает, выглядит она слишком громоздко да и вопрос с «тормозами» Max'а остается открытым.

Когда я пришел к этому выводу, предварительно хорошенько помучившись, решил что мне нужно что-то более человеческое. Порывшись в Интернете обнаружилось интересное предложение от n-Power: Power Translators for 3D MAX, в ходящий в пакет Power NURBS. Представляет из себя плагин для Макса, позволяющий импортировать файлы IGES, STEP, а также, в различных конфигурациях напрямую понимает CATIA V5. С последним возникли проблемы — такую конфигурацию надо заказывать отдельно и отдельно-же платить.

Тогда я решил испытать возможности импорта IGES и более предпочтительного, милого сердцу каждого инженера STEP. Первые результаты удручили — поверхности все также лезли перевенутыми.

Оказалось, что нужно нажать пару правильных «галок» при импорте, чтобы все заработало. После этого проблем больше не было даже с довольно сложными сборками (200 — 300 деталей).

Сборки стали «крутиться» быстро, а куча дополнительных настроек, вроде степени апроксимации поверхностей для рендеринга приятно удивила. Таким образом наша первоначальная цепочка изменилась на CATIA->STEP->3D Max (+ Powertranslator plug-in)


В расширенном-же варианте (PowerNURBS Pro) плагин представляет из себя полноценный редактор поверхностей и солидов прямо внутри 3D Studio, но об этом нужен отдельный разговор.

Официальный сайт, с которого можно скачать демо-версию

P.S. Ни разу не довелось пользоваться пакетом Okino, но, насколько я знаю, это просто конвертор, т.е. не совсем подходит для описанной выше задачи «Из CATIA в MAX без промежуточных перегонов»

8 комментариев:

Анонимный комментирует...

сразу встречный вопрос. Обратная процедура Мах=>CATIA5. Как осуществить её? Оосбенно когда речь идёт от полигональном моделинге в Максе.

bug

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

Обратная процедура обычно особых вопросов не вызывает. CATIA отлично понимает IGESы, сделанные в Максе или Rhino, а равно как и экспортированные из 3DS тем же Power Translator. Что касается полигональных моделей, то и здесь все в порядке: экспорт из Макса в формат STL и вставка его в CATIA проблем ни разу не вызывала (иногда глючил масштаб, но это зависело исключительно от настроек Макса, да и перемасштабировать в крайнем случае можно за секунду)

Анонимный комментирует...

отлично.
задал вопрос потому, что нет СATIА что бы проверить.

bug

Анонимный комментирует...

Всё хорошо, но в последних версиях Макса, и Транслятора появилась проблема в виде сопланарных поверхностей.
CATIA p2v5r18sp6, 3dsmax Design 2009 sp1, pTranslators Pro 5.3.
Результат выглядит так:
http://s2.ipicture.ru/uploads/081002/jR4Rcwz2uT.jpg
Можно, конечно, переводить импортированную модель в Poly и удалять ненужные полигоны на уровне подобъекта, но сборки, как правило, большие... :(

Анонимный комментирует...

Ещё можно транслировать через Okino Polytrans. Результат получается достойный, но в Макс приходит сетка, а нурбс красивее! :)

Анонимный комментирует...

to car2ner
Здравствуйте, уважаемый Car2ner!!
Пробую конвертить проект из Pro/E в Макс 2009 для визуализации. Из Pro/E сохраняю в IGESы или STEPы -> в Макс через Powertranslator. Вроде все нормально получается, но при рендеринге все округлые формы "ломаются" - что бвло круглым, становится квадратным))).
В максе только учусь работать... может вы встречались с такой проблемой..

Антон

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

"Вроде все нормально получается, но при рендеринге все округлые формы "ломаются" - что бвло круглым, становится квадратным)))"
Интересно бы скриншот посмотреть... С Pro/E уже давно не работал, но по идее IGESы не должны так уж сильно различаться. Для начала надо проверить происходит ли "косяк" на этапе импорта IGS-файла либо при триангуляции. Для этого сконвертируйте поверхность в сетку (правой кнопкой по объекту convert to/editable mesh). Если проблема не исчезла, значит на этапе импорта что-то идет не так. А вот если все стало как надо, скорее всего проблема происходит на этапе триангуляции модели перед рендерингом. В этом случае достаточно добавить к поверхности модификатор edit mesh.

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

"Всё хорошо, но в последних версиях Макса, и Транслятора появилась проблема в виде сопланарных поверхностей."
Хмм... Глядя на скриншот очень на то похоже. А не пробовали материал 2-sided делать?