RouteToNorthAtMaxX
- ipkiss3.all.RouteToNorthAtMaxX(**kwargs)
Routes the start_port to a line pointing North at an X coordinate which is smaller or equal to the x_position specified.
This means that the output port will be at, or westward of, the x_position.
- Parameters:
- start_portPort object
port to be routed (starting point of the Route)
- bend_radiuspositive number
radius of the bends used in the route. Default is taken from TECH.WG.BEND_RADIUS
- min_straightnonnegative number
minimum length of a straight section between bends. Default is taken from TECH.WG.MIN_STRAIGHT
- start_straightnonnegative number
minimum length of the first straight section. Default is the same as min_straight
- end_straightnonnegative number
minimum length of the last straight section. Default is the same as min_straight
- rounding algorithmShapeModifier object
algorithm which produces the bend shape given the coordinates of the waypoints. default is a circular bend
- x_positionnumber
x-coordinate of the output port
- Returns:
- RouteToAngle or RouteToLine object
Examples
import si_fab.all as pdk import ipkiss3.all as i3 start_port = i3.OpticalPort(name="in", position=(0.0, 0.0), angle_deg=45.0) # create the route object route = i3.RouteToNorthAtMaxX(start_port=start_port, start_straight=10.0, end_straight=20.0, x_position=0.0) # a route is a Shape, so we can use it to draw a waveguide wg = i3.RoundedWaveguide() layout = wg.Layout(shape=route) layout.visualize()
import si_fab.all as pdk import ipkiss3.all as i3 start_port = i3.OpticalPort(name="in", position=(0.0, 0.0), angle_deg=45.0) # create the route object route = i3.RouteToNorthAtMaxX(start_port=start_port, start_straight=10.0, end_straight=20.0, x_position=40.0) # a route is a Shape, so we can use it to draw a waveguide wg = i3.RoundedWaveguide() layout = wg.Layout(shape=route) layout.visualize()