Булевы операции с NURBS объектами
Примечания:
Прежде, чем начать команду, необходимо выделить первый или все объекты.
Булевы операции могут использоваться также с поверхностями и открытыми составными поверхностями . Результат зависит от направления нормалей объекта. Используйте команду Dir (Выбрать направление нормалей) для того, чтобы узнать направление нормалей. Если результаты противоположны Вашим пожеланиям, разверните направление поверхностей с помощью команд Dir (Выбрать направление нормалей) или Flip (Обратить направление) и попробуйте снова.
Попробуйте команду Join (Объединение) сначала на поверхностях.
Для полигональных сеток смотрите команды Mesh Boolean (Булевы операции над сетками из полигонов) .
BooleanDifference (Булево Вычитание)
Обрезает области выделенных составных поверхностей или поверхностей, занимаемые совместно с другим набором составных поверхностей или поверхностей.
Шаги:
Опция
DeleteInput (Удалить Исходное)
Панель Инструментов Solid Tools (Инструменты Твердых Тел) > Boolean Difference (Булево Вычитание)
Меню Solid (Твердое Тело) > Difference (Вычитание) |
BooleanIntersection (Булево Пересечение)
Обрезает области выделенных составных поверхностей или поверхностей, не занимаемые совместно с другим набором составных поверхностей или поверхностей.
Шаги:
Опция
DeleteInput (Удалить Исходное)
Панель Инструментов Solid Tools (Инструменты Твердых Тел) > Boolean Intersection (Булево Пересечение)
Меню Solid (Твердое Тело) > Intersection (Пересечение) |
BooleanUnion (Булево Объединение)
Используя выделенные поверхности или составные поверхности , создает единую составную поверхность из их областей, не занимаемых совместно. А из их областей, которые были заняты совместно, обрезаются части этих поверхностей или составных поверхностей.
Шаги:
Опция
DeleteInput (Удалить Исходное)
Панель Инструментов Solid Tools (Инструменты Твердых Тел) > Boolean Union (Булево Объединение) Панель Инструментов Main2 (Основная 2) > Boolean Union (Булево Объединение)
Меню Solid (Твердое Тело) > Union (Объединение) |
BooleanSplit (Булево Разбиение)
На базе выделенных поверхностей или (составных поверхностей) создает новые объекты (составные поверхности) следующим образом. Те области объектов, что оказались в совместно используемой части пространства сливаются воедино (что попало внутрь этого единого объекта обрезается), затем по границам взаимного проникновения объектов друг в друга, этот единый объект разбивается на отдельные составные поверхности.
Шаги:
Выделите обрезаемые объекты и нажмите Enter .
Примечание: Обрезающие объекты и разбиваемые объекты могут быть одним и тем же.
Опция
DeleteInput (Удалить Исходное)
Панель Инструментов Solid Tools (Инструменты Твердых Тел) > Boolean Split (Булево Разбиение)
Меню Solid (Твердое Тело) > Boolean Split (Булево Разбиение) |
Boolean2Objects (Булевы Операции с Двумя Объектами)
Перебирает через щелчки мышью возможные Булевы Операции (Union (Объединение), Intersection (Пересечение), Difference A_Minus_B (Вычитание А_Минус_В) и B_Minus_A (В_Минус_А), и Inverse (Оставить только пересечение)) с двумя объектами.
Шаги:
Выделите два объекта.
Щелкайте мышью в окне вида, пока не получите желаемый объект.
Опция
DeleteInput (Удалить Исходное)
Панель Инструментов Solid Tools (Инструменты Твердых Тел) > Boolean 2 Objects Булевы Операции с Двумя Объектами) (Щелчок правой кнопкой мыши)
Меню Solid (Твердое Тело) > Boolean Two Objects (Булевы Операции с Двумя Объектами) |
Шаги те же, что и с Булевыми эквивалентами NURBS.
Примечание: Результат команды всегда - сетка из полигонов, независимо от исходного типа объекта.
MeshBooleanDifference (Полигональное Булево Вычитание)
Обрезает области выделенных полигональных сеток, составных поверхностей , или поверхностей, занимаемые совместно с другим набором сеток из полигонов, составных поверхностей или поверхностей.
Панель Инструментов Mesh Booleans (Булевы Операции с Сетками из Полигонов) > Mesh Boolean Difference (Полигональное Булево Вычитание)
Меню Mesh (Полигональная Сетка) > Mesh Boolean (Булевы Операции с Сетками из Полигонов) > Difference (Вычитание) |
MeshBooleanIntersection (Булево Пересечение для Полигональных Сеток)
Обрезает области выделенных полигональных сеток, составных поверхностей , или поверхностей, не занимаемые совместно с другим набором полигональных сеток, составных поверхностей или поверхностей.
Панель Инструментов Mesh Booleans (Булевы Операции с Сетками из Полигонов) > Mesh Boolean Intersection (Булево Пересечение для Сеток из Полигонов)
Меню Mesh (Полигональные Сетки) > Mesh Boolean (Булевы Операции с Сетками из Полигонов) > Intersection (Пересечение) |
MeshBooleanUnion (Булево Объединение для Полигональных Сеток)
Используя выделенные полигональные сетки, поверхности или, составные поверхности , создает единую полигональную сетку из их областей, не занимаемых совместно. А из их областей, которые были заняты совместно, обрезаются части этих полигональных сеток, поверхностей или составных поверхностей.
Панель Инструментов Mesh (Полигональная Сетка) > Mesh Boolean Union (Булево Объединение для Сеток из Полигонов) Панель Инструментов Mesh Booleans (Булевы Операции с Сетками из Полигонов) > Mesh Boolean Union (Булево Объединение для Сеток из Полигонов)
Меню Mesh (Полигональные Сетки) > Mesh Boolean (Булевы Операции с Сетками из Полигонов) > Union (Объединение) |
MeshBooleanSplit (Булево Разбиение для Полигональных Сеток)
На базе выделенных полигональных сеток, поверхностей или составных поверхностей , создает новые объекты (полигональные сетки) следующим образом. Те области объектов, что оказались в совместно используемой части пространства сливаются воедино (что попало внутрь этого единого объекта обрезается), затем по границам взаимного проникновения объектов друг в друга, этот единый объект разбивается на отдельные полигональные сетки.
Панель Инструментов Mesh Booleans (Булевы Операции с Сетками из Полигонов) > Mesh Boolean Split (Булево Пересечение для Сеток из Полигонов)
Меню Mesh (Полигональные Сетки) > Mesh Boolean (Булевы Операции с Сетками из Полигонов) > Boolean Split (Булево Пересечение) |
Поиск причин проблем при булевых операциях
Булевы операции могут пройти со сбоем по ряду причин:
Нормалям не указано нужное направление.
Контрольные точки имеют тенденцию совмещаться в месте пересечения двух объектов.
Объекты могут иметь перекрываемые друг другом области поверхности.
Булевы операции используют нормаль поверхности, чтобы определить, какие части сохранить а какие отбросить.
Когда Вы делаете попытку Булева Вычитания, а получаете результат Булева Объединения, или наоборот, это получается потому что у объектов есть нормали, которые имеют противоположное ожидаемому направление.Булевы операции, как правило, не работают, если объекты имеют области поверхностей, перекрывающих друг друга, или только касаются один другого в отдельных местах или вдоль краев
. Для успешного использования Булевых операций, объекты должны не задевать друг друга по касательной, а проникать друг в друга основательно.Совмещение контрольных точек происходит, когда контрольные точки на краю поверхности совпадают по местоположению
. В Rhino это происходит естественным образом на кончике конуса, трехсторонней плоскости или полюсе сферы. Вы также можете перемещать контрольные точки в то же самое положение. Такая точка называется также сингулярностью.Когда точка сингулярности возникает на пересечении двух объектов, а Вы хотите произвести с ними Булевы операции, операция может оказаться невозможной.
Наложение одной поверхности на другую происходит, когда две поверхности размещаются в одной и той же области одной и той же плоскости. В этом примере два параллелепипеда только касаются друг друга вдоль одной стороны. С этими объектами возможна Булева операция Union (Объединение) , но Difference (Вычитание) , и Intersection (Пересечение) работать не будут.
Если Ваши объекты не примут нужный Вам вид при помощи Булевых операций, используйте другие методы, чтобы достичь желаемого результата.
В этом примере вершина конуса точно в углу коробки. Это - одна из ситуаций, которые могут заставить Булевы операции терпеть неудачу.
Вместо того, чтобы использовать Булевы операции в этом случае, используйте команду Explode (Разорвать) , чтобы разделить составные поверхности на отдельные поверхности, если необходимо. Используйте команду Intersect (Пересечение) , чтобы создать кривые, которые представляют пересечение двух поверхностей. Чтобы создать части, используйте эти кривые, чтобы Trim (Обрезать) и/или Split (Разбить) и Join (Объединить) снова вместе.