Source code for gdsfactory.components.L

from __future__ import annotations

import gdsfactory as gf
from gdsfactory.component import Component
from gdsfactory.typings import LayerSpec


[docs] @gf.cell def L( width: int | float = 1, size: tuple[int, int] = (10, 20), layer: LayerSpec = "MTOP", port_type: str = "electrical", ) -> Component: """Generates an 'L' geometry with ports on both ends. Based on phidl. Args: width: of the line. size: length and height of the base. layer: spec. port_type: for port. """ D = Component() w = width / 2 s1, s2 = size points = [(-w, -w), (s1, -w), (s1, w), (w, w), (w, s2), (-w, s2), (-w, -w)] D.add_polygon(points, layer=layer) D.add_port( name="e1", center=(0, s2), width=width, orientation=90, port_type=port_type, layer=layer, ) D.add_port( name="e2", center=(s1, 0), width=width, orientation=0, port_type=port_type, layer=layer, ) return D
if __name__ == "__main__": c = L() c.show(show_ports=True)