3D Studio MAX: первые шаги. Урок 7

Моделирование с использованием булевых операций

Светлана Шляхтина

Теоретические основы булева моделирования

   Моделирование при помощи булева объединения

   Моделирование при помощи булева вычитания

   Создание вложенных булевых объектов

   Редактирование булева объекта

Примеры объектов, полученных с использованием булева моделирования

   Пиала

   Волчок

   Ключ

   Оконная рама

   Кружка с ручкой

   Головка для накидного гаечного ключа

 

Термин «булева операция» в математике используется для обозначения операций сравнения между множествами. В 3D Studio MAX аналогичные операции сравнения применяются в отношении совмещающихся или перекрывающихся геометрических объектов сцены. Булева операция осуществляется путем создания булева составного объекта из двух существующих объектов — данные объекты называются операндами и обязательно должны пересекаться в некоторой области пространства. Операнды представлены в виде отдельных объектов на всей стадии редактирования булева составного объекта, что позволяет при необходимости выбирать и модифицировать их и даже выполнять анимацию.

Теоретические основы булева моделирования

В 3D Studio MAX предусмотрены пять типов булевых операций (рис. 1):

  • Union (Объединение) — результатом операции является объект, который получается вследствие объединения двух исходных объектов; при этом части объектов, оказавшиеся внутри общего внешнего объема, удаляются;
  • Intersection (Пересечение) — полученный объект является результатом пересечения двух исходных объектов; при этом части объектов, оказавшиеся вне общего внутреннего объема, удаляются;
  • Subtraction (A-B)/Subtraction (B-A) (Вычитание (A-B)/Вычитание (B-A)) — результатом является объект, полученный посредством вычитания одного объекта из второго, все части которого отсекаются объемом первого и удаляются;
  • Cut (Вырезание) — полученный объект является результатом вырезания на поверхности первого объекта в местах пересечения со вторым объектом соответствующих отверстий и проемов.

 

Рис. 1. Примеры применения разных типов булевых операций

Рис. 1. Примеры применения разных типов булевых операций

Булевы объекты являются разновидностью составных объектов и поэтому принадлежат к группе Compound Objects (Составные Объекты) из категории Geometry (Геометрия) на панели Create (Создать). Технология создания булева объекта состоит из двух этапов — предварительной подготовки исходных объектов и последующего применения к ним требуемой булевой операции, причем перед применением последней один из исходных объектов обязательно должен быть выделен, иначе операция Boolean окажется недоступной.

Существует несколько методов создания булевых объектов:

  • Copy (Копия) — при создании булева объекта сохраняется оригинал операнда В;
  • Move (Перенос) — при создании булева объекта оригинал операнда В не сохраняется;
  • Instance (Образец) — создается Boolean-объект и одновременно сохраняется копия операнда В; при изменении копии булев объект будет изменяться, а при изменении булева объекта будет меняться копия;
  • Reference (Ссылка) — создается Boolean-объект и одновременно сохраняется копия В-операнда; если при этом изменять оригинал, то Boolean-объект тоже изменится; если же изменять Boolean-объект, то оригинал при этом изменяться не будет.
  • Результат булевой операции не всегда оказывается удачным, поэтому следует соблюдать ряд условий:
  • исходные объекты должны пересекаться в некоторой области пространства, причем характер пересечения нужно тщательно отрегулировать в окнах проекций;
  • исходные объекты должны иметь достаточное количество сегментов и быть сглаженными, иначе результат окажется слишком грубым или совсем не соответствующим задуманному;
  • каркасы должны быть построены правильно — грани, совместно использующие ребро, должны совместно использовать и две вершины, а ребро может совместно использоваться только двумя гранями. Для редактируемых сеток может потребоваться объединение совпадающих вершин вручную в режиме Edit Mesh.

Для примера попробуйте создать булеву операцию вычитания на примере трех перекрывающихся сфер (рис. 2). Выделите центральную сферу, на панели Create установите категорию объектов Geometry, в списке типов объектов укажите тип Compound Objects (Составные Объекты), щелкните по кнопке Boolean и установите операцию Subtraction (A-B). Обратите внимание, что в начальный момент оказывается определенным лишь операнд A (рис. 3), поэтому для указания операнда B щелкните по кнопке Pick Operand B (Выбрать операнд B), а затем укажите мышью самую большую из сфер. В итоге в сфере, использованной в качестве операнда A, появится выемка (рис. 4). Если операнд B был задан неправильно, не следует сразу же вновь щелкать по кнопке Pick Operand B и указывать другой объект (хотя программа это позволяет), поскольку объект, неудачно выбранный как операнд B, не восстановится (рис. 5). В таких ситуациях нужно сначала отменить предыдущий выбор операнда B командой Undo и только потом сделать новый выбор.

 

Рис. 2. Исходные сферы

Рис. 2. Исходные сферы

Рис. 3. Вид свитка Pick Boolean на начальной стадии создания булева объекта

Рис. 3. Вид свитка Pick Boolean на начальной стадии создания булева объекта

Рис. 4. Результат первой булевой операции

Рис. 4. Результат первой булевой операции

Рис. 5. Неудачный результат второй булевой операции: был повторно задан операнд B без отмены предыдущего выбора

Рис. 5. Неудачный результат второй булевой операции: был повторно задан операнд B без отмены предыдущего выбора

Моделирование при помощи булева объединения

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

Для примера попробуем последовательно объединить три стандартных примитива — две сферы и цилиндр — в форму гантели. Создайте исходные объекты и разместите их по отношению друг к другу нужным образом (рис. 6 и 7). Выделите цилиндр, активируйте булеву операцию Union, для определения операнда B щелкните по кнопке Pick Operand B (Выбрать операнд B), а затем укажите мышью одну из сфер. В итоге цилиндр и сфера станут единым объектом. Выделите объединенный объект, активизируйте режим создания булевых объектов, щелкните по кнопке Pick Operand B (Выбрать операнд B) и укажите вторую сферу. Результатом станет получение одного единственного булева объекта (рис. 8).

 

Рис. 6. Исходные объекты

Рис. 6. Исходные объекты

Рис. 7. Рендеринг исходных объектов

Рис. 7. Рендеринг исходных объектов

Рис. 8. Гантель

Рис. 8. Гантель

Моделирование при помощи булева вычитания

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

На первом этапе воспользуемся булевой операцией вычитания для формирования цилиндрического отверстия внутри шара. Создайте исходные объекты в виде шара и цилиндра (радиус сечения цилиндра должен быть меньше радиуса шара, а его длина — больше радиуса шара) и выровняйте их друг в отношении друга по осям X, Y и Z, применив операцию Align (Выровнять) (рис. 9). Проведите рендеринг и сразу же скорректируйте параметры объектов так, чтобы они оказались достаточно гладкими, особенно в области пересечения; если этого не сделать, то созданный булев объект тоже не будет иметь надлежащей гладкости. В данном случае видно (рис. 10), что степень гладкости требуется увеличить — это достигается путем повышения плотности объектов: увеличения количества сегментов и сторон сегментов и уменьшения размера сегментов (рис. 11). В то же время при работе со сложными моделями для ускорения процесса моделирования в ряде случаев лучше увеличивать плотность объектов, задействованных в качестве операндов, не перед созданием булевой операции, а после — в ходе редактирования операндов на уровне объектов.

 

Рис. 9. Шар и цилиндр

Рис. 9. Шар и цилиндр

Рис. 10. Рендеринг исходных объектов

Рис. 10. Рендеринг исходных объектов

Рис. 11. Рендеринг объектов и их параметры после корректировки гладкости

Рис. 11. Рендеринг объектов и их параметры после корректировки гладкости

Выделите цилиндр, установите режим создания булевых объектов, установите операцию Subtraction (B-A) (Вычитание B-A), для указания операнда B щелкните по кнопке Pick Operand B (Выбрать операнд B) и укажите сферу. Это приведет к удалению внутренней части сферы точно по размеру исходного цилиндра таким образом, что в сфере появится сквозное отверстие (рис. 12).

 

Рис. 12. Сфера с отверстием

Рис. 12. Сфера с отверстием

Формируемые при помощи булева вычитания отверстия могут иметь самую разную форму, а результат зависит не только от размеров и формы объектов, но и от положения их в отношении друг друга, а также от того, какой из объектов был указан первым. Возьмите в качестве исходных объектов куб и шар и разместите их показанным на рис. 13 образом. Выделите куб, установите в режиме создания булевых объектов операцию Subtraction (A-B) и в качестве операнда B укажите сферу — результатом станет появление в ней соответствующего углубления (рис. 14), а потом сохраните результат (он нам позже потребуется). Отмените созданную булеву операцию и примените к исходным объектам булево вычитание Subtraction (A-B), но в качестве первого операнда укажите сферу — и вместо куба с углублением итогом операции окажется шар, в котором как бы вырезана одна из его четвертей (рис. 15). Стоит отметить, что для получения того же самого результата совсем не обязательно было менять местами операнды: с таким же успехом можно было вместо операции Subtraction (A-B) выбрать операцию Subtraction (B-A). Подобная взаимозамена операций Subtraction (A-B) и Subtraction (B-A) очень удобна, так как при неверном выборе операнда A не потребуется отменять операцию, а достаточно лишь переключиться с одной операции вычитания на другую.

 

Рис. 13. Куб и шар

Рис. 13. Куб и шар

Рис. 14. Углубление в кубе

Рис. 14. Углубление в кубе

Рис. 15. Выемка фрагмента шара

Рис. 15. Выемка фрагмента шара

Как было отмечено, форма получающейся выемки определяется вторым операндом. Попробуйте вместо шара создавать выемки и углубления другими объектами. Например, при применении объекта Hose (Шланг) (рис. 16) может быть получена резьбообразная выемка (рис. 17). Если же взять в качестве операнда B граненую призму Gengon (рис. 18), то выемка окажется многогранной (рис. 19), а при использовании веретена Spindle — скошенной (рис. 20 и 21) и т.п.

 

Рис. 16. Исходные объекты

Рис. 16. Исходные объекты

Рис. 17. Куб с резьбовидной выемкой

Рис. 17. Куб с резьбовидной выемкой

Рис. 18. Куб и шланг

Рис. 18. Куб и шланг

Рис. 19. Куб с граненой выемкой

Рис. 19. Куб с граненой выемкой

Рис. 20. Куб и веретено

Рис. 20. Куб и веретено

Рис. 21. Куб со скошенной выемкой

Рис. 21. Куб со скошенной выемкой

Булева операция Intersection (Пересечение) является обратной к булевым операциям Subtraction (A-B)/Subtraction (B-A) (Вычитание (А-В)/Вычитание (В-А), так как получаемые с ее помощью булевы объекты представляют собой фрагменты операндов A и B, которые удаляются при операции булева вычитания, если ее провести в отношении тех же самых объектов. Возьмите в качестве исходных рассмотренные выше куб и шар, выберите куб в качестве операнда A, а затем проведите булеву операцию Intersection (Пересечение) — результатом будет получение четверти шара, которая ранее оказывалась вырезанной в ходе операции Subtraction (B-A) (рис. 22).

Рис. 22. Исходные объекты и булевы объекты при операциях Intersection и Subtraction (В-А)

Более интересные варианты поверхностей создаются при использовании в качестве операнда B скрученных объектов. Можно попробовать получить подобный объект на основе примитива Torus, в исходном состоянии имеющего такой вид, как на рис. 23, а после скручивания (параметр Twist) на 360° — как на рис. 24. Дополнительно создайте цилиндр, разместите объекты, как показано на рис. 25, и при выполнении булевой операции Subtraction (A-B) укажите цилиндр как операнд A — результат представлен на рис. 26.

 

Рис. 23. Исходный торус

Рис. 23. Исходный торус

Рис. 24. Торус после скручивания

Рис. 24. Торус после скручивания

Рис. 25. Цилиндр и скрученный торус

Рис. 25. Цилиндр и скрученный торус

Рис. 26. Цилиндр с резьбой

Рис. 26. Цилиндр с резьбой

Создание вложенных булевых объектов

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

Для примера возьмите ранее созданный и сохраненный булев объект (рис. 27), создайте еще один цилиндр и разместите его так, как показано на рис. 28. Выделите исходный булев объект (для этого придется выйти из списка Compound Objects (Составные объекты) путем выбора геометрии другого типа), активируйте булеву операцию вычитания Subtraction (A-B) и вторым операндом укажите отдельный цилиндр — в кубе появится еще одна выемка (рис. 29). Полученный булев объект можно использовать для новой булевой операции, например вырезав в нем пирамидой треугольную выемку (рис. 30 и 31).

 

Рис. 27. Исходный булев объект

Рис. 27. Исходный булев объект

Рис. 28. Объекты первой вложенной булевой операции

Рис. 28. Объекты первой вложенной булевой операции

Рис. 29. Результат первой вложенной булевой операции

Рис. 30. Объекты для двукратно вложенной булевой операции

Рис. 30. Объекты для двукратно вложенной булевой операции

Рис. 31. Результат двукратно вложенной булевой операции

Рис. 31. Результат двукратно вложенной булевой операции

Редактирование булева объекта

У созданного булева объекта можно изменить цвет; объект можно перемещать, масштабировать и поворачивать обычным образом. При необходимости в области параметров на панели Modify можно откорректировать имена операндов, установить способ отображения булева объекта и определить особенности его обновления при редактировании. Работая со сложными моделями, которые долго перерисовываются, иногда лучше отказаться от автоматического режима обновления в пользу ручного режима Manually (Вручную) — тогда для перерисовки модели нужно будет щелкать по кнопке Update (Обновить).

Здесь же можно установить опцию Hidden Ops, которая позволяет при просмотре результата видеть в виде сетки операнд, исчезающий при выполнении булевой операции (рис. 32). Данная опция служит для информации о точном местонахождении операнда и о его влиянии на булеву операцию и часто используется при создании анимации.

 

Рис. 32. Вид булева объекта при включенной опции Hidden Ops

Рис. 32. Вид булева объекта при включенной опции Hidden Ops

Кроме того, булев объект можно редактировать на уровне операндов. Рассмотрим это на примере изучения взаимосвязи между положением операндов по отношению друг к другу и внешним видом булева объекта. Создайте в качестве исходных объектов два цилиндра и разместите их так, как показано на рис. 33. Выделите меньший из объектов, установите булеву операцию вычитания Subtraction (B-A) и вторым операндом укажите другой цилиндр, вследствие чего в большем цилиндре появится отверстие (рис. 34). Данное отверстие не будет сквозным, что обусловлено исходным положением цилиндров.

 

Рис. 33. Два цилиндра

Рис. 33. Два цилиндра

Рис. 34. Отверстие в цилиндре

Рис. 34. Отверстие в цилиндре

Полученный результат можно изменить, причем для этого даже не потребуется отменять булеву операцию, поскольку операнды булева объекта в определенной степени редактируемы, причем независимо друг от друга: их можно выделять, перемещать, масштабировать и поворачивать по отношению друг к другу, меняя таким образом сам булев объект. Редактирование операндов осуществляется в режиме Sub-Object, для перехода в который нужно при выделенном булевом объекте раскрыть свиток Boolean панели Modify, подсветить строку Operands, а затем указать редактируемый операнд (рис. 35) и произвести над ним нужные манипуляции. При перемещении операнда или любой другой манипуляции над ним в проекции Perspective будет сразу же отображаться обновленный булев результат. Для примера переместите в окне проекции Left операнд A влево — по мере перемещения глубина отверстия будет увеличиваться (рис. 36), а при обратном перемещении — уменьшаться (рис. 37). Если продолжить перемещение операнда A влево, то в конце концов отверстие станет сквозным (рис. 38), а при обратном движении превратится в едва заметную выемку (рис. 39).

 

Рис. 35. Установлен режим Sub-Object, а для редактирования выбран операнд A

Рис. 35. Установлен режим Sub-Object, а для редактирования выбран операнд A

Рис. 36. Увеличение глубины отверстия в цилиндре

Рис. 36. Увеличение глубины отверстия в цилиндре

Рис. 37. Уменьшение глубины отверстия в цилиндре

Рис. 37. Уменьшение глубины отверстия в цилиндре

Рис. 38. Цилиндр со сквозным отверстием

Рис. 38. Цилиндр со сквозным отверстием

Рис. 39. Цилиндр с небольшой выемкой

Рис. 39. Цилиндр с небольшой выемкой

Аналогичным способом можно не только перемещать и поворачивать операнды, но и менять их размеры. Попробуйте для операнда A провести масштабирование инструментом Select and Uniform Scale —— таким способом можно менять размеры выемки, например сделать ее очень большой по диаметру (рис. 40) или, наоборот, очень маленькой. Для того чтобы вернуться из режима редактирования операндов в режим редактирования булева объекта, нужно подсветить в палитре Modify строку Boolean — после этого операции масштабирования, перемещения и поворота будут относиться ко всему булеву объекту в целом.

 

Рис. 40. Цилиндр с большой по диаметру выемкой

Рис. 40. Цилиндр с большой по диаметру выемкой

Операнды можно редактировать и на уровне объектов: менять длину, ширину, высоту, число сегментов и т.п. Чтобы перевести булев объект в режим редактирования на уровне объекта, на палитре Modify следует активировать строку Operands, выбрать нужный операнд, а затем в списке Boolean щелкнуть на строке под строкой Operands, где, например, в случае использования примитивов будет фигурировать имя примитива в общем виде (рис. 41).

 

Рис. 41. Редактирование операнда A булева объекта на уровне объекта

Рис. 41. Редактирование операнда A булева объекта на уровне объекта

В начало В начало

Примеры объектов, полученных с использованием булева моделирования

Пиала

Создайте в качестве исходных объектов шар и параллелепипед (Box) и разместите их так, как показано на рис. 42. Шар в окне Perspective не виден, так как его верхняя часть находится внутри параллелепипеда, а нижняя оказалась скрыта. Выделите параллелепипед и примените к нему булеву операцию вычитания Subtraction (B-A), указав шар вторым операндом, — в итоге останется только нижняя половина шара (рис. 43). Выделите созданный булев объект, конвертируйте его в редактируемую сетку, выбрав из контекстного меню команду Convert To=>Convert to Editable Mesh (Конвертировать в => Конвертировать в редактируемую сетку), и перейдите в режим редактирования полигонов. Поскольку работа предстоит довольно кропотливая, перейдите в режим отображения одной проекции, щелкнув на кнопке Min/Max Toggle (рис. 44).

 

Рис. 42. Шар и параллелепипед

Рис. 42. Шар и параллелепипед

Рис. 43. Нижняя половина шара

Рис. 43. Нижняя половина шара

Рис. 44. Булев объект с выделенными полигонами

Рис. 44. Булев объект с выделенными полигонами

Теперь потребуется последовательное применение операций Bevel, масштабирования и Extrude (Вытеснение). Вначале сделайте фаску, установив значение справа от Bevel (Фаска) равным примерно –1 (рис. 45). Затем примените операцию масштабирования и уменьшите выделенную часть объекта, а потом удалите самый верхний фрагмент половины шара посредством операции Extrude (рис. 46). Нанесите небольшую фаску для скашивания удаляемой поверхности, еще раз проведите масштабирование и примените операцию Extrude — и действуйте так до тех пор, пока заготовка не станет напоминать грубую чашу (рис. 47). Для сглаживания поверхности примените модификатор MeshSmooth (Сглаживание сетки) — возможно, в итоге пиала станет напоминать представленную на рис. 48.

 

Рис. 45. Первое нанесение фаски

Рис. 45. Первое нанесение фаски

Рис. 46. Рендеринг заготовки для пиалы на начальной стадии обработки

Рис. 46. Рендеринг заготовки для пиалы на начальной стадии обработки

Рис. 47. Грубый вариант пиалы

Рис. 47. Грубый вариант пиалы

Рис. 48. Пиала

Рис. 48. Пиала

Примерно такую же пиалу можно получить и более быстрым способом, но тоже с применением булевых операций. Возьмите в качестве основы полученную выше в ходе булева вычитания нижнюю половину сферы (рис. 49), создайте ее копию, потом немого уменьшите ее в размерах инструментом Select and Uniform Scale, выровняйте по осям X, Y и Z, щелкнув по кнопке Align (рис. 50), а затем слегка переместите вверх. Выделите меньшую полусферу и создайте новый булев объект с помощью булева вычитания Subtraction (B-A), указав в качестве операнда B большую полусферу (рис. 51). Полученная после сглаживания пиала представлена на рис. 52.

 

Рис. 49. Половина сферы

Рис. 49. Половина сферы

Рис. 50. Уменьшение копии полусферы

Рис. 50. Уменьшение копии полусферы

Рис. 51. Грубый вариант пиалы

Рис. 51. Грубый вариант пиалы

Рис. 52. Пиала

Рис. 52. Пиала

Волчок

Создайте конус (Cone) (рис. 53). Сформируйте объект Box (Коробка) и выровняйте его командой Align по конусу по осям X, Y и Z (рис. 54). Сделайте копию второго объекта, а затем разместите объекты, как показано на рис. 55. Выделите конус, установите в режиме создания булевых объектов операцию Subtraction (A-B) и в качестве операнда B укажите объект Box01 (рис. 56). Затем повторите данную операцию, но операндом A в этом случае станет созданный перед этим булев объект, а операндом B — объект Box02 (рис. 57). Создайте новый конус с параметрами, указанными на рис. 58, а затем выровняйте его по булеву объекту по осям X, Y и Z (рис. 59).

 

Рис. 53. Исходный конус

Рис. 53. Исходный конус

Рис. 54. Конус и коробка

Рис. 54. Конус и коробка

Рис. 55. Исходные объекты

Рис. 55. Исходные объекты

Рис. 56. Результат первого булева вычитания

Рис. 56. Результат первого булева вычитания

Рис. 57. Результат второго булева вычитания

Рис. 57. Результат второго булева вычитания

Рис. 58. Добавление второго конуса

Рис. 58. Добавление второго конуса

Рис. 59. Вид после выравнивания второго конуса

Рис. 59. Вид после выравнивания второго конуса

Выделите булев объект и сделайте его зеркальное отображение по оси Z с формированием копии, щелкнув по кнопке Mirror Selected Object (Зеркальное отображение выделенного объекта), и настройте параметры зеркального отображения (рис. 60). Точно таким же образом сделайте зеркальную копию конуса — получится волчок (рис. 61).

 

Рис. 60. Определение параметров зеркального отображения

Рис. 60. Определение параметров зеркального отображения

Рис. 61. Волчок

Рис. 61. Волчок

Ключ

Попытаемся создать имитацию ключа, предварительно сформировав все его детали путем лофтинга, а затем объединив их при помощи булевой операции. Создайте серию сплайнов примерно такого вида, как на рис. 62: прямоугольник предназначен для использования в качестве сечения loft-объекта, а все остальные сплайны будут играть роль пути. Обратите внимание, что при создании лофт-объектов в данном случае нужно выбрать метод указания сечения, а не пути — иначе после их получения придется потратить много времени на размещение loft-объектов нужным образом. Выделите первую окружность, щелкните по кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты). В свитке Object Type (Тип объекта) щелкните на кнопке Loft (Лофтинговый), затем по кнопке Get Shape (Указать путь), и укажите мышью прямоугольник. Выделите вторую окружность и вновь создайте лофтинговый объект, указав в качестве сечения тот же самый прямоугольник. Точно таким же способом создайте лофтинговые объекты для всех остальных сплайнов (рис. 63).

 

Рис. 62. Исходные сплайны

Рис. 62. Исходные сплайны

Рис. 63. Результат лофтинга

Рис. 63. Результат лофтинга

Теперь нужно превратить отдельные фрагменты ключа в единый объект, что проще всего сделать с помощью создания вложенного булева объекта. Выделите первый loft-объект, активизируйте булеву операцию Union, щелкните на кнопке Pick Operand B и укажите второй loft-объект. Создайте новый булев объект, задействовав полученный булев объект как операнд A, а один из loft-объектов — как операнд B и продолжайте до тех пор, пока не объедините все фрагменты ключа. Окончательный результат показан на рис. 64.

 

Рис. 64. Ключ

Рис. 64. Ключ

Оконная рама

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

 

Рис. 65. Исходные сплайны

Рис. 65. Исходные сплайны

Рис. 66. Оконная рама

Рис. 66. Оконная рама

Кружка с ручкой

Для основы кружки создайте цилиндр (рис. 67) и конвертируйте его в редактируемую сетку, выбрав из контекстного меню команду Convert to=>Convert to Editable Mesh (Конвертировать => Конвертировать в режим редактирования сетки). Активируйте режим редактирования вершин Vertex и выделите внутренние вершины только верхнего сечения (рис. 68) — проще всего выделить все внутренние вершины (верхнего и нижнего сечений) на проекции Top, а затем при нажатой клавише Alt исключить вершины нижнего сечения на проекции Front. Перетащите на проекции Front выделенные вершины инструментом Select and Move вниз таким образом, чтобы сформировалась внутренняя пустая полость кружки (рис. 69). Не снимая выделения, активируйте инструмент Select and Uniform Scale и отмасштабируйте выделенную область так, чтобы внутренние вершины совпали в вершинами промежуточного яруса (рис. 70), а внутренняя полость кружки стала одинаковой по диаметру как в верхней части кружки, так и в нижней.

 

Рис. 67. Цилиндр

Рис. 67. Цилиндр

Рис. 68. Выделение вершин верхнего сечения

Рис. 68. Выделение вершин верхнего сечения

Рис. 69. Результат перемещения выделенных вершин

Рис. 69. Результат перемещения выделенных вершин

Рис. 70. Результат масштабирования выделенных вершин

Рис. 70. Результат масштабирования выделенных вершин

На проекции Top выделите внутренние вершины верхнего и среднего сечений (рис. 71) — это удобнее осуществить, вначале выделив все внутренние вершины с областью выделения Circular Selection Region, а затем исключив вершины нижнего сечения при нажатой клавише Alt областью выделения Rectangular Selection Region. Отмасштабируйте их на проекции Top так, чтобы радиус, на котором они расположены, приблизился к внешнему радиусу, а толщина стенки кружки уменьшилась (рис. 72). На проекции Front выделите оказавшиеся в ходе масштабирования за пределами объекта вершины верхнего сечения (рис. 73) и переместите их вниз (рис. 74). Аналогичную операцию проведите в отношении внутренних вершин нижнего сечения (рис. 75).

 

Рис. 71. Выделение внутренних вершин

Рис. 71. Выделение внутренних вершин

Рис. 72. Результат масштабирования выделенных вершин

Рис. 72. Результат масштабирования выделенных вершин

Рис. 73. Выделение внутренних вершин верхнего сечения

Рис. 73. Выделение внутренних вершин верхнего сечения

Рис. 74. Перемещение внутренних вершин верхнего сечения

Рис. 74. Перемещение внутренних вершин верхнего сечения

Рис. 75. Перемещение внутренних вершин нижнего сечения

Рис. 75. Перемещение внутренних вершин нижнего сечения

Для создания ручки к кружке активизируйте категорию объектов Shapes (Формы) командной панели Create (Создание), в списке разновидностей объектов укажите тип Splines (Сплайны) и инструментом Line (Линия) постройте криволинейный сплайн (рис. 76), который будет использован как путь при построении лофтингового объекта. Создайте эллипс для использования в качестве сечения loft-объекта. Выделите эллипс, щелкните по кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты). В свитке Object Type (Тип объекта) щелкните по кнопке Loft (Лофтинговый), потом по кнопке Get Path (Указать путь) и укажите мышью предварительно созданный сплайн пути. Поместите созданную ручку на ее место, отрегулировав ее положение на всех проекциях (рис. 77). Рассмотрев объект со всех сторон, вы увидите, что некоторые фрагменты ручки выступают в полости кружки, а потому их стоит удалить. Для этого конвертируйте ручку в режим редактируемой сетки, выделите лишние вершины (рис. 78) и нажмите клавишу Del.

 

Рис. 76. Сплайн пути

Рис. 76. Сплайн пути

Рис. 77. Определение положения ручки

Рис. 77. Определение положения ручки

Рис. 78. Выделение ненужных вершин ручки

Рис. 78. Выделение ненужных вершин ручки

Чтобы кружка и ручка стали единым целым, нужно объединить их при помощи булевой операции. Выделите кружку, установите выполнение операции Union, щелкните по кнопке Pick Operand B, а затем по ручке — объекты объединятся. При этом на панели Modify будет видно, что исходными элементами булевой операции является объект типа Editable Mesh (Редактируемая сетка) и loft-объект (рис. 79). Подберите для булева объекта нужные параметры сглаживания и проведите рендеринг — линия соединения ручки с кружкой станет практически незаметной (рис. 80).

 

Рис. 79. Панель Modify булева объекта

Рис. 79. Панель Modify булева объекта

Рис. 80. Кружка с ручкой

Рис. 80. Кружка с ручкой

Головка для накидного гаечного ключа

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

Создайте два цилиндра и соедините их между собой булевой операцией объединения (рис. 81). Затем создайте два сплайна — звезду и линию (рис. 82), выровняйте звезду относительно большего цилиндра по осям X, Y и Z (рис. 83). Создайте loft-объект, указав линию в качестве пути, отрегулируйте его положение относительно объекта из цилиндров (рис. 84). Вырежьте соответствующую полость из большого цилиндра, выделив многогранный лофтинговый объект, активировав булеву операцию вычитания Subtraction (A-B) и указав цилиндры в качестве операнда B, в результате чего внутри большого цилиндра появится многогранная полость (рис. 85).

 

Рис. 81. Объединенные цилиндры

Рис. 81. Объединенные цилиндры

Рис. 82. Исходные объекты

Рис. 82. Исходные объекты

Рис. 83. Определение положения звезды

Рис. 83. Определение положения звезды

Рис. 84. Коррекция положения loft-объекта

Рис. 84. Коррекция положения loft-объекта

Рис. 85. Цилиндр с многогранной полостью

Рис. 85. Цилиндр с многогранной полостью

Создайте параллелепипед, ширина и высота которого одинаковы и по размеру немного меньше диаметра вырезанной полости. Поместите его внутрь большего цилиндра и выровняйте по осям X и Z (рис. 86). На основе уже созданного булева объекта и параллелепипеда сформируйте вложенный булев объект, вырезав параллелепипедом соответствующую полость внутри большого цилиндра (рис. 87). Затем создайте цилиндр с меньшим радиусом, чем радиус меньшего из уже имеющихся цилиндров, поместите его внутрь меньшего цилиндра и выровняйте по осям X и Z (рис. 88). Вырежьте данным цилиндром полость внутри меньшего из цилиндров вложенного булева объекта при помощи операции булева вычитания и получите деталь, представленную на рис. 89, которая будет иметь примерно такой же вид, как головка для накидного гаечного ключа.

 

Рис. 86. Добавление параллелепипеда

Рис. 86. Добавление параллелепипеда

Рис. 87. Промежуточный рендеринг детали

Рис. 87. Промежуточный рендеринг детали

Рис. 88. Добавление третьего цилиндра

Рис. 88. Добавление третьего цилиндра

Рис. 89. Головка для накидного гаечного ключа

Рис. 89. Головка для накидного гаечного ключа

КомпьютерПресс 6'2006