1 - 2012

Как работает free-form-моделирование в КОМПАС-3D V13

Александр Потемкин
Разработчик методических материалов по САПР, автор «Азбуки КОМПАС-3D» и популярных книг по инженерной графике и 3D-моделированию

Свободное моделирование форм

По установившейся традиции компания АСКОН завершила 2011 год выпуском обновления для системы трехмерного моделирования КОМПАС­3D. Если рассматривать базовый функционал, то наиболее серьезные усовершенствования были внесены в модуль моделирования поверхностей. Теперь, имея в своем распоряжении free­form­моделирование, конструкторы и дизайнеры могут создавать не только классические поверхности, но и поверхности свободной формы. Для поддержки этой технологии на инструментальной панели Поверхности КОМПАС­3D V13 появился новый набор инструментов — панель Сплайновая форма (рис. 1).

Рис. 1. Панель Сплайновая форма

Рис. 1. Панель Сплайновая форма

Команды этой панели позволяют изменить выбранную грань детали или поверхности, преобразовав ее в сплайновую поверхность. При этом на грань автоматически накладывается сетка изопараметрических кривых. Сетка образована рядами точек — полюсов. Ряды сетки располагаются в двух направлениях — U и V (рис. 2).

Рис. 2

Рис. 2

Редактирование сетки

Автоматически созданную сетку можно редактировать, назначив нужное количество рядов по каждому из двух направлений — U и V. На рисунке сетка имеет семь рядов полюсов по направлениям. Сетку можно сгустить или разрядить добавлением или удалением рядов полюсов до или после указанного ряда (рис. 3).

Рис. 3

Рис. 3

Рис. 3

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

На рис. 4 показано, как меняется форма поверхностей 4­, 5­ и 6­го порядка при перемещении четырех полюсов на одинаковое расстояние. Увеличение порядка поверхности до значений больше 6 на практике редко используется в связи с тем, что это существенно усложнит (а следовательно, замедлит) вычисления при операциях с поверхностями.

Рис. 4

Рис. 4

Рис. 4

Рис. 4

Итак, форма сплайновой поверхности определяется расположением полюсов в пространстве. Поверхности, построенные по полюсам, обладают весьма полезным для моделирования свойством локальной деформации: при изменении положения одного полюса меняется форма только части поверхности вблизи этого полюса, а не вся поверхность. Это дает возможность произвольно изменять форму грани, перемещая различными способами отдельные полюсы, ряды полюсов и их комбинации. Таким образом можно создавать поверхности свободной формы. Этот метод позволяет упростить создание изделий сложной формы. Вместо создания новых поверхностей и построения между этими поверхностями плавных сопряжений с последующей сшивкой можно просто изменить форму существующей поверхности, перемещая ее полюсы. Управление сплайновыми поверхностями напоминает работу скульптора, работающего с пластичным материалом.

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

Линейное перемещение

Данная операция позволяет переместить некоторое количество полюсов сетки редактируемой грани в заданном направлении. Линейно перемещать полюсы можно разными способами: просто перетащив их мышью (ручное перемещение), автоматически сдвигом на заданное расстояние вдоль системных осей координат, параллельно или перпендикулярно объектам модели, нормально грани, вдоль многоугольника или в плоскости экрана. На рис. 5 показано перемещение четырех центральных полюсов сетки в направлении оси Z.

Рис. 5

Рис. 5

Рис. 5

Для перемещения можно указывать не только полюсы, но и их ряды. При этом автоматически выбираются все полюсы ряда. Если какие­то полюсы ряда не должны перемещаться, их можно исключить из группы выбора. На рис. 6 показано перемещение двух рядов полюсов сетки в направлении оси Z.

Рис. 6

Рис. 6

Рис. 6

Рис. 7

Рис. 7

Рис. 7

Рис. 7

Рис. 8

Рис. 8

Рис. 8

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

На рис. 8 для перемещения был выбран один ряд полюсов справа. Дополнительно назначено перемещение двух следующих за ним рядов в направлении U.

Перемещение со сглаживанием

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

Рис. 9

Рис. 9

Рис. 10. Плавный переход

Рис. 10. Плавный переход

Рис. 10. Плавный переход

Рис. 11. Выпуклый переход

Рис. 11. Выпуклый переход

Рис. 11. Выпуклый переход

Перемещение остальных полюсов выполняется автоматически в том же направлении. Можно выбрать один из трех видов сглаживания: Плавный переход (рис. 10), Выпуклый (рис. 11), Вогнутый (рис. 12). Для варианта Выпуклый или Вогнутый можно дополнительно задать значение степени функции, используемой для расчета расстояния, на которое переместится каждый выбранный полюс сетки при перемещении полюсов.

Рис. 12. Вогнутый переход

Рис. 12. Вогнутый переход

Рис. 12. Вогнутый переход

Фиксация полюсов

Команда Фиксировать полюсы позволяет зафиксировать некоторое количество полюсов сетки редактируемой грани, то есть сделать эти полюсы неподвижными. Доступны разные способы фиксации: фиксация полюсов, расположенных на границах сетки (в ее крайних рядах), фиксация набора рядов, произвольная фиксация полюсов.

Вращение

Команда позволяет переместить некоторое количество полюсов сетки редактируемой грани вращением. После выбора полюсов нужно указать направление вращения, центр вращения и угол поворота. На рис. 13 показан поворот трех рядов полюсов на 30°. Центр поворота указан специальным значком в виде двух дуговых стрелок. Крайние полюсы рядов зафиксированы и остаются на месте (рис. 13).

Рис. 13

Рис. 13

Рис. 13

Выравнивание

Команда позволяет переместить некоторое количество полюсов сетки редактируемой грани выравниванием относительно прямолинейного или плоского объекта. На рис. 14а, б, в показано выравнивание трех рядов полюсов до воображаемой плоскости, проходящей через вершину ломаной линии.

Рис. 14

Рис. 14

Рис. 14

Рис. 14

Масштабирование

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

Рис. 15Рис. 16Рис. 17

Рис. 15 Рис. 16 Рис. 17

Преобразуем грань поверхности в сплайновую поверхность с параметрами по умолчанию: сетка 6X6 рядов (рис. 16).

Поскольку нужно выполнить несколько шагов трансформации грани, позаботимся о том, чтобы поверхность имела больше управляемых элементов. Сделаем сетку более густой — 30X9 рядов (рис. 17).

Выполним масштабирование 4­го и 5­го рядов полюсов направления V с коэффициентом 2. В качестве центра масштабирования зададим точку в центре выбранных объектов. Способ масштабирования — равномерно (рис. 18).

Рис. 18

Рис. 18

Рис. 19

Рис. 19

Точно таким же образом выполним масштабирование 3­го и 6­го рядов с коэффициентом 1,5 (рис. 19).

Пример построения модели свободной формы

Трудно отказать себе в удовольствии продолжить моделирование дальше, тем более что поверхность стала принимать очень знакомую форму, напоминающую кувшин. В этот момент появляется ощущение, что вы средневековый гончар, а под вашими пальцами — податливая глина. Автор статьи никогда не обучался этому благородному ремеслу, но средства КОМПАС­3D V13 SP1 помогут ему довести задуманное до логического завершения. Для дальнейшей работы используем команды, которые были описаны ранее.

С помощью команды Линейное перемещение переместим все полюсы самого нижнего ряда нормально к поверхности на 5 мм. Таким образом мы оформим дно кувшина и придадим ему большую устойчивость (рис. 20).

Рис. 20

Рис. 20

Рис. 21

Рис. 21

Теперь осталось закончить верхнюю часть сосуда. Сделаем сетку на этом участке более густой — добавим два ряда полюсов в продольном направлении (рис. 21).

С помощью команды Линейное перемещение переместим все полюсы последнего ряда наружу нормально к поверхности на 3 мм (рис. 22).

Рис. 22

Рис. 22

С помощью команды Перемещение со сглаживанием переместим девять полюсов наружу вдоль оси Х способом Плавный переход, сформировав носик кувшина (рис. 23а, б, в).

Рис. 23

Рис. 23

Рис. 23

Рис. 23

Наконец, опустим самый крайний полюс носика немного вниз вдоль оси Z на 3 мм (рис. 24).

Рис. 24

Рис. 24

Рис. 24

Рис. 25

Рис. 25

Рис. 25

Поверхностную модель можно превратить в твердотельную, придав ей толщину 2 мм (рис. 25).

Кувшин готов, и его вполне можно было бы изготовить с помощью гончарного круга или, следуя современным веяниям, напечатать на 3D­принтере. Мы показали, как происходит работа с поверхностями свободной формы в КОМПАС­3D V13, и приглашаем читателей продолжить изыскания уже с собственными объектами для моделирования. Все «подручные» материалы вы найдете на сайте kompas.ru.

САПР и графика 1`2012