Первая часть статьи была посвящена Базовым и Комплексным операциям построения твердых тел. В этот раз мы коротко расскажем о редактировании твердотельных объектов и более подробно рассмотрим группу функций, которые относятся к поверхностному моделированию. В основе всех систем твердотельного моделирования лежит раздел математики, который называется теория множеств или булева алгебра. Напомним, что методы булевой алгебры есть ни что иное, как применение арифметических операций сложения и вычитания к множествам. Так вот, если модель твердого тела есть некое множество, ограниченное поверхностью тела, то с такими объектами можно производить "сложение и вычитание".
Именно на этой логике и основано построение одного тела из нескольких. Независимо от того, каким образом построен интерфейс пользователя, и как называются те или иные команды, в конечном итоге все сводится к трем основным понятиям булевой алгебры: объединение, дополнение, пересечение.
Например, создание отверстия есть ни что иное, как "вычитание" из исходного тела другого цилиндрического тела, добавление материала - "сложение" двух тел и т.п. На рис 1 показаны объекты, образовавшие модель, большинство из которых пользователь даже не наблюдал в процессе ее построения.
Именно на этой логике и основано построение одного тела из нескольких. Независимо от того, каким образом построен интерфейс пользователя, и как называются те или иные команды, в конечном итоге все сводится к трем основным понятиям булевой алгебры: объединение, дополнение, пересечение.
Например, создание отверстия есть ни что иное, как "вычитание" из исходного тела другого цилиндрического тела, добавление материала - "сложение" двух тел и т.п. На рис 1 показаны объекты, образовавшие модель, большинство из которых пользователь даже не наблюдал в процессе ее построения.
Рис. 1 В основе твердотельного моделирования лежит булева алгебра
Одной из важнейших операций моделирования является создание скруглений и фасок. В большинстве деталей машиностроения это скругления постоянного радиуса, которые с геометрической точки зрения могут быть представлены прокаткой шарика между двумя граням. Более сложным, но все чаще востребованным, является случай, когда требуется создать скругление переменного радиуса.
В системе ADEM для создания скруглений в твердых телах достаточно указать цепочку ребер и значение радиуса (или радиусов в нужных точках). Алгоритмы системы автоматически рассчитают результирующую поверхность и модель будет изменена (Рис 2).
В системе ADEM для создания скруглений в твердых телах достаточно указать цепочку ребер и значение радиуса (или радиусов в нужных точках). Алгоритмы системы автоматически рассчитают результирующую поверхность и модель будет изменена (Рис 2).
Рис. 2 Скругления постоянным и переменным радиусом, фаски
Приемы поверхностного моделирования полезны тогда, когда задачи выходят за рамки твердотельного моделирования. С этим можно столкнуться при проектировании изделий с нелинейными обводами, которые все чаще встречаются не только в авиационной, автомобильной и судостроительной промышленности, но и при производстве бытовой техники.
Не смотря на то существенные различия этих двух методов проектирования, конструктор может их применять параллельно. Для этого в системе ADEM заложен принцип адекватности воздействия на объекты. Например, независимо от того, чем является объект, замкнутым ли твердым телом или отдельной поверхностью, к нему можно применять булевы операции. Более того, любой объект может быть разобран на отдельные поверхности и/или собран в твердое тело (Рис 3). Любая поверхность может быть произвольно разделена на части и собрана из частей.
Не смотря на то существенные различия этих двух методов проектирования, конструктор может их применять параллельно. Для этого в системе ADEM заложен принцип адекватности воздействия на объекты. Например, независимо от того, чем является объект, замкнутым ли твердым телом или отдельной поверхностью, к нему можно применять булевы операции. Более того, любой объект может быть разобран на отдельные поверхности и/или собран в твердое тело (Рис 3). Любая поверхность может быть произвольно разделена на части и собрана из частей.
Рис. 3 Твердое тело может быть разобрано на поверхности и собрано из поверхностей
Сразу заметим, что базовая функциональность (смещение, вращение и тп), рассмотренная в первой части статьи может быть применена в равной степени для построения поверхностей.
Наиболее часто используемой процедурой построения поверхностей является Построение по Сечениям. В системе ADEM она имеет ряд разновидностей. Так например с ее помощью можно натягивать на скелет поверхность с учетом или без учета характера закреплений (Рис 4).
Наиболее часто используемой процедурой построения поверхностей является Построение по Сечениям. В системе ADEM она имеет ряд разновидностей. Так например с ее помощью можно натягивать на скелет поверхность с учетом или без учета характера закреплений (Рис 4).
Рис. 4 Построение по сечениям с различными краевыми условиями
Еще одна разновидность построения по сечениям - натягивание на скелет поверхности с учетом направляющей. Она позволяет вносить нюансы в участки между сечениями.
Кроме построения по сечениям возможно построение поверхности по сетке сечений. В этом случае исходные профили представляют собой перекрещивающиеся в пространстве кривые (Рис 5). Указав два набора этих кривых (продольный и поперечный) получаем поверхность строго лежащую на сетке. Как и в предыдущей функции возможен учет краевых условий.
Кроме построения по сечениям возможно построение поверхности по сетке сечений. В этом случае исходные профили представляют собой перекрещивающиеся в пространстве кривые (Рис 5). Указав два набора этих кривых (продольный и поперечный) получаем поверхность строго лежащую на сетке. Как и в предыдущей функции возможен учет краевых условий.
Рис. 5 Построение по сетке свободное и с учетом краевых условий
Так как остальные базовые процедуры поверхностного моделирования схожи с данными, рассмотрим функционал, который относится к редактированию поверхностей. Самые простые из них это Изменить Цвет поверхности и Удалить Поверхность.
Другая группа функций предназначена для изменения границ поверхности. К ним относятся:
Другая группа функций предназначена для изменения границ поверхности. К ним относятся:
- продление поверхности (Рис 6а)
- восстановление поверхности (Рис 6b)
- обрезка поверхностей различными объектами
Рис. 6 (a, b, c). Продление и восстановление поверхности
На примере функции обрезки проиллюстрируем принцип адекватности и взаимодействия твердых тел и поверхностей в системе ADEM. С помощью профилей можно разрезать или вырезать часть из твердого тела или поверхности (Рис 8). Эта функция строит по контурам поверхности, которыми и обрезает и вырезает указанные объекты.
Взаимодействие между твердыми телами и поверхностями осуществляется независимо от их сути, а лишь по назначению пользователем того, что из них является объектом действия, а что инструментом (Рис 9).
На базе приведенных выше функций поверхностного моделирования построены некоторые комплексные функции. Они могут оказаться крайне полезными для случаев редактирования объемных моделей, выходящих за рамки возможностей дерева построений или при отсутствии такового вообще.
Функция Удалить и Затянуть предназначена для удаления частей твердого тела. На рис7 показано воздействие этой операции на выступ модели. С помощью этой процедуры можно например редактировать скругления, удалять отверстия и прочие элементы на импортированных моделях.
Другая функция - Замыкание Тела предназначена для восстановления отсутствующей геометрии в твердом теле. Пример восстановления показан на рис 11.
Еще одним дополнительным способом редактирования объемных моделей в системе ADEM является регенерация модели по измененному каркасу. В отличие от регенерации по дереву построений, здесь возможно производить изменения, не предусмотренные историей создания.
Суть алгоритма состоит в автоматической перетяжке поверхностей на каркасе, состоящем из ребер и вершин модели. С точки зрения пользователя, ему предоставлена возможность менять положение вершины или группы вершин модели в пространстве. Система перестраивает ребра и грани модели в соответствии с новым положением вершин (Рис 7).
Взаимодействие между твердыми телами и поверхностями осуществляется независимо от их сути, а лишь по назначению пользователем того, что из них является объектом действия, а что инструментом (Рис 9).
На базе приведенных выше функций поверхностного моделирования построены некоторые комплексные функции. Они могут оказаться крайне полезными для случаев редактирования объемных моделей, выходящих за рамки возможностей дерева построений или при отсутствии такового вообще.
Функция Удалить и Затянуть предназначена для удаления частей твердого тела. На рис7 показано воздействие этой операции на выступ модели. С помощью этой процедуры можно например редактировать скругления, удалять отверстия и прочие элементы на импортированных моделях.
Другая функция - Замыкание Тела предназначена для восстановления отсутствующей геометрии в твердом теле. Пример восстановления показан на рис 11.
Еще одним дополнительным способом редактирования объемных моделей в системе ADEM является регенерация модели по измененному каркасу. В отличие от регенерации по дереву построений, здесь возможно производить изменения, не предусмотренные историей создания.
Суть алгоритма состоит в автоматической перетяжке поверхностей на каркасе, состоящем из ребер и вершин модели. С точки зрения пользователя, ему предоставлена возможность менять положение вершины или группы вершин модели в пространстве. Система перестраивает ребра и грани модели в соответствии с новым положением вершин (Рис 7).
Рис. 7 Редактирование изменением положения вершин
Комбинации рассмотренных функций широкие открывают возможности редактирования объемных моделей различной степени сложности.
Полезным так же является отдельный класс процедур, связанных с получением проекций. Речь идет о проецировании объемных моделей на различные плоскости и проецировании профилей на объемные модели.
Первая группа предназначена в основном для получения проекций в виде плоских объектов, которые далее можно использовать для привязок, или в качестве профилей для построения объемных тел или для других целей, например в качестве ограничивающих объектов при подготовке управляющих программ для ЧПУ. К примеру, можно сделать проекцию одной или нескольких граней, потом внести в эти проекции изменения или дополнения и на базе их построить тело или отверстие и т.п.
Вторая группа создает пространственные кривые на поверхности объемных тел различными способами проецирования. Суда входит прямое, параметрическое проецирование, накатка и другие алгоритмы. Данные проекции также можно использовать в качестве профилей для создания трехмерных тел. Так, например на рис 9 показано нанесение насечки и символьного клейма на модель рукоятки.
Полезным так же является отдельный класс процедур, связанных с получением проекций. Речь идет о проецировании объемных моделей на различные плоскости и проецировании профилей на объемные модели.
Первая группа предназначена в основном для получения проекций в виде плоских объектов, которые далее можно использовать для привязок, или в качестве профилей для построения объемных тел или для других целей, например в качестве ограничивающих объектов при подготовке управляющих программ для ЧПУ. К примеру, можно сделать проекцию одной или нескольких граней, потом внести в эти проекции изменения или дополнения и на базе их построить тело или отверстие и т.п.
Вторая группа создает пространственные кривые на поверхности объемных тел различными способами проецирования. Суда входит прямое, параметрическое проецирование, накатка и другие алгоритмы. Данные проекции также можно использовать в качестве профилей для создания трехмерных тел. Так, например на рис 9 показано нанесение насечки и символьного клейма на модель рукоятки.
Рис. 8 Обрезка профилями
Рис. 9 Обрезка поверхностью и телом
Рис. 10 Восстановление геометрии с помощью функции Замыкание Тела
Рис. 11 Насечка и клеймо, выполненные с помощью процедуры Проецирование