gdsfactory.boolean#
- gdsfactory.boolean(A, B, operation, layer, layer1=None, layer2=None)[source]#
Performs boolean operations between 2 Component or Instance objects.
The operation parameter specifies the type of boolean operation to perform. Supported operations include {‘not’, ‘and’, ‘or’, ‘xor’, ‘-’, ‘&’, ‘|’, ‘^’}:
‘|’ is equivalent to ‘or’
‘-’ is equivalent to ‘not’
‘&’ is equivalent to ‘and’
‘^’ is equivalent to ‘xor’
- Parameters:
A (ComponentOrReference) – Component(/Reference) or list of Component(/References).
B (ComponentOrReference) – Component(/Reference) or list of Component(/References).
operation (str) – {‘not’, ‘and’, ‘or’, ‘xor’, ‘-’, ‘&’, ‘|’, ‘^’}.
layer (LayerSpec) – Specific layer to put polygon geometry on.
layer1 (LayerSpec | None) – Specific layer to get polygons.
layer2 (LayerSpec | None) – Specific layer to get polygons.
- Return type:
- Returns: Component with polygon(s) of the boolean operations between
the 2 input Components performed.
import gdsfactory as gf c = gf.Component() c1 = c << gf.components.circle(radius=10) c2 = c << gf.components.circle(radius=9) c2.movex(5) c = gf.boolean(c1, c2, operation="xor") c.plot()