Общие сведения о Булевой операции

Предыдущая страницаВ началоСледующая страница

Типы булевой операции

Существует три типа булевой операции:

BooleanAdd Сложение
Результатом выполнения операции является тело, объединяющее в себе все части тел, участвующих в операции.

 14Boolean1S

BooleanSub Вычитание
Результатом выполнения операции является тело, полученное вычитание одного тела из другого.

 14Boolean2S

BooleanInter Пересечение
Результатом выполнения операции является тело, полученное пересечением тел, участвующих в операции и состоящее из общих частей этих тел.

       14Boolean3S

Операнды булевой операции

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

14Boolean3 14Boolean4S

1. Первый операнд

2. Второй операнд

14Boolean4   14Boolean5S

1. Первый операнд

2. Второй операнд

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

14Boolean6S

1. Первые операнды

2. Вторые операнды

3. Результат выполнения булевой операции Вычитание между наборами операндов (многокомпонентное тело)

Глобальные и локальные булевы операции

Если в качестве операндов выбираются тела-поверхности или твёрдые тела, то такие типы булевых операций будем называть Глобальными. При создании такой булевой операции  система сама определяет грани тел, участвующие в операции, и их пересечения. Если в булевой операции участвуют геометрически сложные тела или используется достаточно большое количество операндов, то поиск всех пересечений может сильно замедлить выполнение команды.

Помимо Глобальной булевой операцией в T-FLEX есть понятие Локальной булевой операции. В отличие от Глобальной булевой операции, где в качестве операндов выбираются только тела, в Локальной булевой операции помимо тел выбираются грани операндов. Выбрать грани операндов можно в параметрах операции на закладке Грани. В некоторых случаях использование Локальной булевой операции дает значительный выигрыш во времени регенерации модели по сравнению с Глобальной булевой операцией, т.к. в результате выполнения операции будут искаться пересечения только указанных граней. Например, если нужно проделать отверстие в достаточно сложном теле и известно, что отверстие пересекает небольшое количество граней, то имеет смысл указать эти грани в параметрах операции.

Следует заметить, что нужно внимательно выбирать грани для Локальной булевой операции. В случае неправильно выбранных граней может сформироваться некорректное тело.

14Boolean5 14Boolean7S

Голубой цвет - грани первого операнда, желтый цвет - грани второго операнда

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

14Boolean6 14Boolean8S

1. Грани первого операнда

2. Грани второго операнда

3. Результат локальной булевой операции Вычитание

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

14Boolean7 14Boolean9S

1. Грани первого операнда

2. Соседние грани, определяемые системой

3. Выбранная грань второго операнда

4. Замкнутый цикл из рёбер пересечения граней операндов

Выборочные булевы операции

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

Часть операнда определяется топологическими элементами: вершинами, рёбрами или гранями. Для выбора части операнда достаточно указать в параметрах операции на закладке Части операндов один из этих элементов. На рисунке ниже показана возможность применения выборочной булевой операции Сложение, при выполнении которой в результирующем теле остаются только выбранные части второго операнда.

14Boolean8 14Boolean10S

1. Первый операнд

2. Второй операнд

3. Ребра, определяющие части второго операнда, которые нужно оставить в результирующем теле

4. В результирующем теле оставлены только выбранные части второго операнда

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

14Boolean9 14Boolean11S

1. 3D узел, определяющий часть операнда

2. Грань операнда, однозначно не определяющая нужную часть

3. В результирующем теле исключена часть операнда, определенная 3D узлом

Отсутствие одного из операндов

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

Если этот параметр выключен, то при подавлении операнда будет выдаваться ошибка создания булевой операции.

14Boolean12S

1. Первый операнд

2. Второй операнд

3. Результат булевой операции Вычитание

4. Результат нанесения косметической резьбы на грань булевой операции (Исполнение 1)

5. Результат подавления второго операнда (Исполнение 2)