RouteSBend
- class ipkiss3.all.RouteSBend
Routes the input_port to the output_port using an s-bend.
A clean SBend is produced when both ports are pointing in opposite directions (0-180 degrees). If they are not then an extra correction route is appended to the input and output port.
- Parameters:
- start_port: Port, required
The port to route from
- end_port: Port, required
The port to route to
- min_spacing: float and Real, number and number >= 0, optional
minimal spacing between parallel sections of the route
- domain: __Domain__, optional
The domain ( e.g. OpticalDomain, ElectricalDomain) of the route
- angle_out: float, optional
The angle of the end section of the route
- angle_in: float, optional
The angle of start section of the route
- end_straight: float and Real, number and number >= 0, optional
The length of the straight end section of the route
- min_straight: float and Real, number and number >= 0, optional
The minimum length of any straight sections in the route
- angle_step: float and number > 0, optional
Angle step for rounding.
- rounding_algorithm: optional, *None allowed*
rounding algorithm used to generate the bends. Can be circular, spline, …
- bend_radius: float and number > 0, optional
Bend radius for the auto-generated bends.
- start_straight: float and Real, number and number >= 0, optional
The length of the straight start section of the route
- closed: optional
- end_face_angle: ( float ), optional, *None allowed*
Use this to overrule the ‘dangling’ angle at the end of an open shape
- start_face_angle: ( float ), optional, *None allowed*
Use this to overrule the ‘dangling’ angle at the start of an open shape
- points: optional
points of this shape
- Other Parameters:
- end_pos: Coord2, locked
- start_pos: Coord2, locked
- size_info: SizeInfo, locked
get the size information on this Shape
See also
Examples
import ipkiss3.all as i3 input_port = i3.OpticalPort(name="in", position=(0.0, 0.0)) output_port = i3.OpticalPort(name="out", position=(25.0, 5.0), angle_deg=180.0) route = i3.RouteSBend(input_port=input_port, output_port=output_port, bend_radius=8.0, end_straight=8.0) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route) waveguide_layout.visualize(annotate=True)