Skip to article frontmatterSkip to article content

gdsfactory.boolean

gdsfactory.boolean(A: ComponentOrReference, B: ComponentOrReference, operation: str, layer: LayerSpec, layer1: LayerSpec | None = None, layer2: LayerSpec | None = None)Component

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’, ‘-’, ‘&’, ‘|’, ‘^’}:

Parameters
  • AComponent(/Reference) or list of Component(/References).

  • BComponent(/Reference) or list of Component(/References).

  • operation{‘not’, ‘and’, ‘or’, ‘xor’, ‘-’, ‘&’, ‘|’, ‘^’}.

  • layerSpecific layer to put polygon geometry on.

  • layer1Specific layer to get polygons.

  • layer2Specific layer to get polygons.

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()