gdsfactory.routing.route_bundle_all_angle

gdsfactory.routing.route_bundle_all_angle#

gdsfactory.routing.route_bundle_all_angle(component: str | ~collections.abc.Callable[[...], ~gdsfactory.component.Component] | dict[str, ~typing.Any] | ~kfactory.kcell.KCell, ports1: ~kfactory.kcell.Ports | ~collections.abc.Sequence[~kfactory.kcell.Port] | ~kfactory.kcell.InstancePorts, ports2: ~kfactory.kcell.Ports | ~collections.abc.Sequence[~kfactory.kcell.Port] | ~kfactory.kcell.InstancePorts, backbone: ~collections.abc.Sequence[tuple[float, float]] | None = None, separation: ~collections.abc.Sequence[float] | float = 3.0, straight: ~collections.abc.Callable[[...], ~gdsfactory.component.ComponentAllAngle] = <function straight_all_angle>, bend: ~collections.abc.Callable[[...], ~gdsfactory.component.ComponentAllAngle] = functools.partial(<function bend_euler_all_angle>, radius=5), bend_ports: tuple[str, str] = ('o1', 'o2'), straight_ports: tuple[str, str] = ('o1', 'o2'), cross_section: ~gdsfactory.cross_section.CrossSection | str | dict[str, ~typing.Any] | ~collections.abc.Callable[[...], ~gdsfactory.cross_section.CrossSection] | ~kfactory.cross_section.SymmetricalCrossSection | None = None) list[OpticalAllAngleRoute][source]#

Route a bundle of ports to another bundle of ports with all angles.

Parameters:
  • component – to add the routing.

  • ports1 – list of start ports to connect.

  • ports2 – list of end ports to connect.

  • backbone – list of points to connect the ports.

  • separation – list of spacings.

  • straight – function to create straights.

  • bend – function to create bends.

  • bend_ports – tuple of ports to connect the bends.

  • straight_ports – tuple of ports to connect the straights.

  • cross_section – cross_section to use. Overrides the cross_section.