gdsfactory.routing.route_ports_to_side#
- gdsfactory.routing.route_ports_to_side(component, cross_section, ports=None, side='north', x=None, y=None, **kwargs)[source]#
Routes ports to a given side.
- Parameters:
component (Component) – component to route.
cross_section (CrossSectionSpec) – cross_section to use for routing.
ports (DPorts | Sequence[DPort] | DInstancePorts | None) – ports to route to a side.
side (Literal['north', 'east', 'south', 'west']) – ‘north’, ‘south’, ‘east’ or ‘west’.
x (float | None | Literal['east', 'west']) – position to route ports for east/west. None, uses most east/west value.
y (float | None | Literal['north', 'south']) – position to route ports for south/north. None, uses most north/south value.
kwargs (Any) – additional arguments to pass to the routing function.
- Keyword Arguments:
radius – in um.
separation – in um.
routing. (extend_left, extend_right for south/north)
routing.
- Returns:
with routing elements. List of ports: of the new ports.
- Return type:
List of routes
import gdsfactory as gf c = gf.Component() dummy = gf.components.nxn(north=2, south=2, west=2, east=2) sides = ["north", "south", "east", "west"] d = 100 positions = [(0, 0), (d, 0), (d, d), (0, d)] for pos, side in zip(positions, sides): dummy_ref = c << dummy dummy_ref.move(pos) routes, ports = gf.routing.route_ports_to_side( component=c, side=side, ports=dummy_ref.ports, cross_section="strip" ) for i, p in enumerate(ports): c.add_port(name=f"{side[0]}{i}", port=p) c.plot()
(
Source code
,png
,hires.png
,pdf
)