BOOLEAN
Una forma obtenida mediante una operación booleana sobre las áreas que delimitan dos conjuntos de elementos, A y B: todo lo que está en cualquiera de ellos (unión), solo lo que comparten (intersección), A con B recortado (resta), lo que está en uno pero no en ambos (exclusión), o A cortado en trozos a lo largo de B (división). Es un solo elemento, que se vuelve a calcular cada vez que cambian sus elementos, así que los sigue.
Sintaxis
BOOLEAN "operation",[@a,…],[@b,…]
BOOLEAN @id,"operation",[@a,…],[@b,…],layer
BOOLEAN @id,"UNION",[@a,…],layer
| Argumento | Significado |
|---|---|
| operation | "UNION", "INTERSECT", "SUBTRACT" (A − B), "XOR" (en A o en B, no en ambos) o "SPLIT" (A cortado a lo largo de B). En mayúsculas o minúsculas. |
| [@a,…] | Los elementos de A, como lista. |
| [@b,…] | Los elementos de B, como lista. Una unión puede omitirla: el área que delimita A, con los solapes soldados. |
El id, la capa y la configuración que les sigue son la configuración de elementos. Sin capa, el resultado va a la capa actual; la herramienta Booleana escribe la capa de A, o la que usted elija.
Qué delimita un área
Sirve cualquier elemento, y A y B pueden ser varios cada uno:
- líneas, arcos, Bézier, splines, elipses y polilíneas (con curvatura o sin ella), cerrados uno a uno o unidos por sus extremos: cuatro líneas sueltas alrededor de un cuadrado lo delimitan;
- texto: el contorno de sus letras (de una fuente TrueType; las letras de una fuente de trazo son líneas y no delimitan nada);
- bloques, piezas colocadas e imágenes vectoriales importadas (SVG, DXF, PDF, AI…): las curvas que dibujan.
Las formas que se tocan o se cruzan se sueldan entre sí (dos círculos solapados son una sola área); las formas que están unas dentro de otras se alternan, relleno y hueco, de modo que un paspartú y su ventana dan un anillo, y una letra O su contraforma. Las líneas dentro de una forma no la dividen, y las curvas abiertas no delimitan nada, salvo como líneas de corte de SPLIT.
Ejemplos
P1=[0,0]
P2=[100,0]
P3=[100,100]
P4=[0,100]
POLYLINE @1,[P1,P2,P3,P4],TRUE
P5=[100,50]
P6=[140,50]
CIRCLE @2,P6,P5,TRUE
BOOLEAN @3,"UNION",[@1],[@2]
BOOLEAN @4,"SUBTRACT",[@1],[@2]
BOOLEAN @5,"INTERSECT",[@1],[@2]

Un cuadrado y un círculo sobre su borde derecho: su unión, el cuadrado con un mordisco redondo y el medio círculo que comparten. Los arcos siguen siendo arcos: mueva P5 y los tres resultados lo siguen.
P1=[0,0]
P2=[400,0]
P3=[400,500]
P4=[0,500]
POLYLINE @1,[P1,P2,P3,P4],TRUE
P10=[200,260]
P11=[290,260]
CIRCLE @2,P11,P10,TRUE
P20=[200,420]
P21=[230,330]
P22=[330,330]
P23=[250,280]
P24=[280,190]
P25=[200,240]
P26=[120,190]
P27=[150,280]
P28=[70,330]
P29=[170,330]
POLYLINE @3,[P20,P21,P22,P23,P24,P25,P26,P27,P28,P29],TRUE
BOOLEAN @4,"SUBTRACT",[@1],[@2,@3]
P30=[-24,-24]
P31=[424,-24]
P32=[424,524]
P33=[-24,524]
POLYLINE @5,[P30,P31,P32,P33],TRUE
BOOLEAN @6,"UNION",[@5],[@4]
Enmarcación: un logotipo (un círculo y una estrella que se solapan, tal como los da un SVG importado) recortado de un paspartú, para una ventana con forma; después, el paspartú soldado al contorno del marco que lo rodea, con la ventana del logotipo como único hueco.
P1=[0,0]
P2=[120,0]
P3=[120,180]
P4=[0,180]
POLYLINE @1,[P1,P2,P3,P4],TRUE
P5=[60,150]
P6=[60,220]
CIRCLE @2,P6,P5,TRUE
BOOLEAN @3,"INTERSECT",[@1],[@2]
Envases: un panel de un estuche y la forma redonda de la ventana de su diseño gráfico; el corte de la ventana es la parte de la forma que queda sobre el panel (el círculo, aplanado donde lo recortan el borde superior y los laterales del panel).
P1=[0,0]
P2=[200,0]
P3=[200,40]
P4=[0,40]
POLYLINE @1,[P1,P2,P3,P4],TRUE
P5=[20,30]
TEXT @2,P5,"SIGN",40,0
P6=[100,-10]
P7=[100,50]
LINE @3,P6,P7
BOOLEAN @4,"UNION",[@1],[@2]
BOOLEAN @5,"SPLIT",[@1],[@3]
Rotulación: una placa de fondo con las letras sobre ella, soldadas en un solo contorno para cortar (con una fuente TrueType; las letras de la fuente de trazo predeterminada son líneas, así que no añaden nada), y la placa dividida en dos por una línea que la cruza (cada mitad, una forma del resultado).
Notas
La curva del resultado son los lazos de sus formas, uno tras otro: cada contorno exterior en sentido antihorario y después sus huecos en sentido horario. Sus aristas son trozos de las propias curvas de los elementos, cortados exactamente donde se cruzan: las líneas siguen siendo líneas, los arcos arcos, las Bézier Bézier y las elipses elipses. Donde dos curvas no tienen una fórmula para su intersección (dos Bézier, por ejemplo), el cruce se busca sobre las curvas reales con la tolerancia, y las curvas se cortan ahí, sin convertirlas en líneas cortas. La tolerancia es una millonésima del tamaño de los elementos (y nunca menos de 0.000001): los extremos que quedan a esa distancia se consideran unidos, y los trozos del resultado que quedan a menos de diez veces esa distancia de una misma línea o círculo se vuelven a unir en uno.
Si no queda nada (la intersección de formas que no se solapan), el resultado es un punto donde estaban las formas. Si se elimina uno de sus elementos, este se conserva en la capa Construcción, como cualquier elemento a partir del cual se crea otro.
AREAOF da el área del resultado, OFFSET una línea a su alrededor, y la herramienta Relleno lo rellena; puede ser una de las formas de otro BOOLEAN.
Véase también: herramienta Booleana, FILL, CONTOUR.