Булевы операции над полилиниями и плоскими областями

Материал из K3-Macro

Команда polybool выполняет ряд операций над полилиниями или плоскими областями:

  • объединение,
  • вычитание,
  • пересечение

polybool union <Object1> <Object2>

Команда осуществляет булево объединение двух полилиний или плоских областей <Object1> и <Object2>.

polybool sub <Object1> <Object2>

Команда осуществляет булево вычитание из полилинии или плоской области <Object1> полилинию или плоскую область <Object2>.

polybool inter <Object1> <Object2>

Команда осуществляет булево пересечение двух полилиний или плоских областей <Object1> и <Object2>.

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

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

Для использования в макро

#rez PolyBool {Inter|union|sub} <Obj1> <Obj2>.

Переменной rez будет присвоена

  • ссылка на созданный объект (плоскую область или группу из плоских областей)
  • числовое значение 0, если результат операции – пустой: объекты не пересекаются и т.п.

Макро | Создание геометрических объектов | Точки и линии | Примитивы | Кинематические операции | Поверхности | Булевы операции | Булевы над полилиниями и плоскими областями | Сечения объектов | Определение точек пересечения | Проверка на самопересечение | Эквидистантная поверхность | Контур по границе