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: list[~gdsfactory.port.Port], ports2: list[~gdsfactory.port.Port], backbone: ~collections.abc.Sequence[tuple[float, float]] | None = None, separation: list[float] | float = 3.0, straight: ~kfactory.routing.aa.optical.StraightFactory = <function straight_all_angle>, bend: ~kfactory.routing.aa.optical.BendFactory = 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: ~collections.abc.Callable[[...], ~gdsfactory.cross_section.CrossSection] | ~gdsfactory.cross_section.CrossSection | dict[str, ~typing.Any] | str | ~gdsfactory.cross_section.Transition | 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.