RouteArcBend
- class ipkiss3.all.RouteArcBend
Routes the input_port to the output_port using a single arc bend.
If bend size is too large for the distance and/or angle between the ports, the route will be an empty shape.
- Parameters:
- start_port: Port, required
The port to route from
- end_port: Port, required
The port to route to
- 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), angle=0.0) output_port = i3.OpticalPort(name="out", position=(25.0, 15.0), angle=225.0) route = i3.RouteArcBend(input_port=input_port, output_port=output_port, bend_radius=8.0) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route) waveguide_layout.visualize(annotate=True)