RouteUBend
- class ipkiss3.all.RouteUBend
Routes the input_port to the output_port using a u-bend.
A clean UBend is produced when both ports are pointing in the same direction If they are not then an extra correction route is appended to the output and input 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 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=0.0), end_port=i3.OpticalPort(name="out", position=(0.0, 30.0), angle=0.0), bend_radius=5.0, start_straight=0.0, end_straight=0.0, min_spacing=5.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()
import ipkiss3.all as i3 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=0.0), end_port=i3.OpticalPort(name="out", position=(0.0, 30.0), angle=0.0), bend_radius=5.0, start_straight=6.0, end_straight=0.0, min_spacing=5.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()
import ipkiss3.all as i3 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=50.0), end_port=i3.OpticalPort(name="out", position=(0.0, 30.0), angle=50.0), bend_radius=5.0, start_straight=0.0, end_straight=0.0, min_spacing=5.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()
import ipkiss3.all as i3 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=0.0), end_port=i3.OpticalPort(name="out", position=(0.0, 5.0), angle=0.0), bend_radius=5.0, start_straight=0.0, end_straight=0.0, min_spacing=5.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()
import ipkiss3.all as i3 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=10.0), end_port=i3.OpticalPort(name="out", position=(10.0, 30.0), angle=10.0), bend_radius=5.0, start_straight=0.0, end_straight=0.0, min_spacing=5.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()
import ipkiss3.all as i3 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=10.0), end_port=i3.OpticalPort(name="out", position=(10.0, 10.0), angle=10.0), bend_radius=5.0, start_straight=0.0, end_straight=0.0, min_spacing=5.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()
import ipkiss3.all as i3 route = i3.RouteUBend( start_port=i3.OpticalPort(name="in", position=(0.0, 0.0), angle=170.0), end_port=i3.OpticalPort(name="out", position=(0.0, 5.0), angle=190.0), bend_radius=5.0, start_straight=0.0, end_straight=0.0, min_spacing=4.0, ) waveguide_layout = i3.RoundedWaveguide().Layout(shape=route, bend_radius=5.0) waveguide_layout.visualize()