1 - 2004

Концептуальный дизайн — первый шаг к новому изделию! Часть 4

Александр Лягушкин

Эта публикация продолжает серию статей о конструкторско-дизайнерских работах в программных продуктах, поставляемых отделением RAND Worldwide в СНГ.

В первых трех статьях (см. «САПР и графика» № 7, 9 и 11’2003) мы рассказали о первом этапе создания изделия — этапе концептуального дизайна и рассмотрели некоторые особенности программного продукта фирмы РТС — Pro/CONCEPT, который может быть использован в качестве инструмента для проработки концептуального дизайна изделия.

А теперь выясним, что следует делать дальше с тем превосходным объектом, который был создан дизайнером, умело раскрашен и, наконец, утвержден высоким начальством. Если вы помните, Pro/CONCEPT — это полигональный моделлер, поэтому можем предложить три варианта:

1. Забыть все, что сделал дизайнер, сказать ему большое спасибо и посадить конструктора-проектировщика с линейкой и распечатанной картинкой дизайнера за «воссоздание геометрии». Конструктор с помощью какой-либо CAD-системы начинает с помощью линейки строить поверхности на основе трех проекций модели, созданной дизайнером. Кроме того, модель дизайнера можно воспроизвести в объеме при помощи 3D-принтера или установки для стереолитографии. Тогда конструктор сможет поменять линейку на штангенциркуль. Но неоптимальность такого метода очевидна, поскольку размеры, «сколотые с чертежа» или снятые с ошкуренной и покрашенной литографической модели, будут отличаться от размеров оригинальной модели, созданной дизайнером. К тому же конструктор, как правило, работает в рамках удобных для него методов и приемов проектирования, поэтому ваша модель, вполне вероятно, будет состоять из плоских граней с редкими вкраплениями радиусных скруглений и фасок. Дело в том, что конструктор вправе все сомнения в геометрии изделия трактовать «в свою пользу», а на линейке где миллиметр, там и два — вот и эллипс превращается в… радиус. О конструкторской интерпретации сложных «органических» поверхностей двойной кривизны здесь говорить вообще не приходится.

Правда, необходимо отметить, что существует еще один способ измерения объекта. Это сканирование на 3D-сканере (контрольно-измерительной машине) модели, «выращенной» на стереолитографической установке, и построение поверхностей по облаку точек. Необходимо отметить, что поверхности, полученные при таком способе воссоздания геометрии, являются достаточно точными. Однако давайте сначала выясним, что же мы построили и что лежало в основе точного «воссоздания формы объекта»? Увы, не математическая модель, а реальный объект — созданный, а затем ошкуренный и покрашенный с допусками. В некоторых случаях такой метод вполне оправдан, однако не понятно вот что: если есть модель, то зачем промежуточные этапы, к тому же вносящие неточности в геометрию?

2. Самый простой и разумный способ (если его, конечно, можно применить) — выполнять механообработку готового изделия сразу по полигональной модели. Есть такие программные продукты (к ним относится и анонсируемый Pro/ENGINEER версии Wildfire 2.0), которые могут рассчитывать траекторию движения инструмента, исходя из полигональной геометрии обрабатываемой детали. Этот вопрос мы в данной статье обсуждать не будем, поскольку он находится в компетенции специалистов по механообработке, а только отметим, что вопросы всякого рода художественных гравировок и барельефов теперь решаются достаточно просто комплексом Pro/CONCEPT плюс Pro/ENGINEER версии Wildfire 2.0. Достаточно воспользоваться функцией Displace в Pro/CONCEPT, получить деформированную в соответствии с наложенной картинкой полигональную модель барельефа и передать ее на обработку в Pro/ENGINEER.

3. Третий способ, о котором и пойдет речь в данной статье, предусматривает воссоздание поверхностной геометрии по полигональной модели, но без измерения вручную картинки, как в п. 1, а при помощи специализированных инструментов и методов, находящихся в распоряжении пользователя современной CAD-системы. Рассмотрим типовой процесс обработки полигональной модели в модуле Restyle программного продукта фирмы РТС — пакета Pro/ENGINEER.

Нужно отметить, что такой модуль появился в Pro/ENGINEER недавно — с выходом версии Wildfire, а в основе его лежат технологии компании Raindrop Geomatic.

В общем случае работа с полигональной моделью может быть разбита на два основных этапа, первый из которых — импорт и редактирование полигональной модели, а второй — построение поверхностей или кривых по граням (или точкам) полигональной модели.

Рассмотрим немного подробнее первый этап. После импорта полигональной модели (например, в формате STL, Wavefront-OBJ или VRML-WRL) конструктор может с помощью большого количества инструментов доработать импортированную полигональную модель. Подчеркнем, что именно доработать, а не создать заново. Средства по полигональному моделированию (как было, например, в Pro/CONCEPT) отсутствуют, зато пользователь может отредактировать локальные места модели, заполнить отверстия, увеличить или уменьшить число полигонов в выбранной зоне на модели. Как и в программе Pro/CONCEPT, в Pro/ENGINEER предусмотрены возможности по редактированию всей сетки полигонов, то есть операции Refine и Decimate. Кроме того, добавлены некоторые операции редактирования сетки, такие как оптимизация сетки (Clean) и сглаживание резких переходов граней (Relax).

Имеются также возможности редактирования непосредственно граней модели, разделения кромок (Split Edge), добавления граней (Add Facet) и заполнения отверстий (Fill Hole). Нужно отметить, что модуль позволяет создавать комплексную полигональную модель, последовательно добавляя полигональные фичеры друг к другу (Insert/Facet Feature).

Перейдем ко второму этапу воссоздания геометрии. Итак, полигональная модель уже импортирована в Pro/ENGINEER и имеет оптимальную форму. Что делать дальше? Известно, что, будучи на самом деле гранеными, визуально полигональные модели выглядят гладкими благодаря работе специальных алгоритмов рендеринга, которые создают иллюзию гладкого объекта с плавными переходами между участками модели. Человеческий глаз обмануть легко, а вот инструмент — невозможно. Так же невозможно, как и вести механообработку на станке с ЧПУ по поверхности «иллюзии». Правда, здесь следует оговориться. Как мы уже упоминали, в некоторых программах генерации траектории инструмента есть возможность гладко обрабатывать полигональные модели (как, например, анонсируется в Pro/ENGINEER Wildfire 2.0), но в этом случае в модуль генерации включены алгоритмы, аппроксимирующие совокупность граней и динамически рассчитывающие точки объекта, причем не только в вершинах граней, но и над/под гранями. Расчет идет с учетом локальных критериев гладкости, что в некоторых случаях вполне оправданно — особенно при обработке сложных художественных барельефов, где микронная точность не очень важна, а трудозатраты на поверхностное моделирование достаточно высоки.

Итак, что нужно сделать, чтобы из «среднеинформативной» полигональной модели (в которой только вершины полигонов математически определены) получить поверхностную модель, в которой мы будем достоверно знать положение любой точки и где сопряжения поверхностей подчиняются точным математическим законам плавности?

Ответ прост — нужно создать поверхность. Для этих целей в состав Pro/ENGINEER был включен модуль Restyle. В данном модуле предусмотрены средства создания кривых, которые могут базироваться на полигональной геометрии. Кривые можно проводить по точкам, по полигонам, по сечениям, получать из границ уже созданных кусков поверхностей и т.п. Понятно, что создаваемые кривые представляют собой гладкие сплайны (рис. 1, кадр 1). Ну уж если у вас есть набор гладких кривых, то создать по ним поверхность, как говорится, «дело техники» (рис. 1, кадр 2). И здесь следует отметить, что, в отличие от стандартного поверхностного моделлера Pro/ENGINEER и даже модуля создания стилевых поверхностей ISDX (о нем мы расскажем в следующей статье), возможности построения поверхностей в модуле Restyle заметно расширены.

Рис. 1. Последовательность создания поверхности на полигональной модели

Рис. 1. Последовательность создания поверхности на полигональной модели

Рис. 2. Редактирование свойств проецируемой поверхности

Рис. 2. Редактирование свойств проецируемой поверхности

Например, в распоряжение пользователя предоставляется несколько стандартных типов аналитических поверхностей — плоскость, цилиндр, конус, поверхность вращения и др., а также такие способы построения полиномиальных поверхностей, как:

• построение по четырем точкам, указанным на полигональной модели;

• построение четырехсторонней поверхности по двум граничным кривым;

• построение четырехсторонней поверхности по трем граничным кривым;

• построение четырехсторонней поверхности по четырем граничным кривым;

• лофт по нескольким кривым.

Построенные поверхности проходят через кривые, лежащие на вершинах или гранях полигонов, а это значит, что по крайней мере по границам воссоздаваемая поверхностная модель будет совпадать (с заданной степенью точности, конечно) с полигональной моделью. А что будет происходить в середине построенной поверхности? Поскольку алгоритм построения поверхности подразумевает ее построение с минимальной кривизной, середина созданной поверхности с большой степенью вероятности будет отстоять от полигональной модели (рис. 1, кадр 2). Для того чтобы быстро придать поверхности форму, соответствующую модели, можно воспользоваться функцией Projection (рис. 1, кадр 3). В зависимости от свойств полиномиальной поверхности (задаваемой в отдельном окне интерфейса) можно добиться различных степеней совпадения создаваемой поверхности и исходной формы полигональной модели. Следует только иметь в виду, что чем чаще сетка параметрических U- и V-линий проецируемой поверхности, тем менее гладкой она может получиться. На рис. 2 показана последовательность действий по более точному «наложению» создаваемой поверхности на полигональную модель. Это решается изменением числа параметрических линий поверхности и более точным проецированием сетки поверхности на полигональную модель.

Рис. 3. Твердотельная (тонкостенная) модель, готовая к передаче на последующие этапы цепочки непрерывного процесса проектирования

Рис. 3. Твердотельная (тонкостенная) модель, готовая к передаче на последующие этапы цепочки непрерывного процесса проектирования

На рис. 3 показана твердотельная (тонкостенная) модель, готовая к передаче на последующие этапы цепочки непрерывного процесса проектирования, такие как проектирование пресс-форм, ЧПУ-обработка и т.п.

Благодаря наличию столь мощного инструмента, как Reverse Engineering, в составе Pro/ENGINEER осуществляется взаимосвязь действий дизайнера и конструктора и еще больше расширяется область применения Pro/ENGINEER.

В данной статье мы рассмотрели функциональность модуля Reverse Engineering применительно к непрерывной технологической цепочке создания изделия — от дизайнерской идеи до ее воплощения в твердотельной CAD-модели. Однако имейте в виду, что область применения Reverse Engineering гораздо шире, чем создание простой «связки» между моделью дизайнера и моделью конструктора. Данный модуль реализует так называемую идеологию проектирования снизу вверх, когда геометрия объекта воссоздается по ее косвенным данным. Такой метод просто необходим при производстве изделий, нуждающихся в «индивидуальной подгонке» (например, в сфере медицины, при протезировании, при создании специального снаряжения).

Итак, мы рассказали о работе модуля Reverse Engineering, позволяющего импортировать полигональную модель, быстро редактировать ее форму и строить качественную поверхностную модель на ее основе. Все эти операции реализуются в простом и понятном интерфейсе Pro/ENGINEER; набор операций достаточен для выполнения сложных работ, но не перегружен функциями. Все это делает модуль Reverse Engineering очень ценным инструментом для конструкторских подразделений предприятий, работающих в непрерывной технологической цепочке проектирования изделия, а также предприятий, работающих с разнообразными сканированными данными (в том числе в сфере медицины и протезирования).

В следующей статье мы рассмотрим возможности моделирования сложных стилевых поверхностей в модуле промышленного дизайна (ISDX) пакета Pro/ENGINEER.

     

Александр Лягушкин

Руководитель технической службы отделения RAND Worldwide в СНГ.

 

«САПР и графика» 1'2004