gdsfactory.boolean

Contents

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:

Component

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

(Source code)