ipkiss3.pcell.routing.RouteToAngle¶
-
class
ipkiss3.pcell.routing.
RouteToAngle
(points=[], closed=None, **kwargs)¶ A Route that directs the input_port towards a given angle
Parameters: input_port: Port, required
The port to route from
angle_out: float, optional
The angle to route to
angle_step: float and number > 0, optional
angle step for rounding
bend_radius: float and number > 0, optional
bend radius for the auto-generated bends
end_face_angle: optional
Use this to overrule the ‘dangling’ angle at the end of an open shape
port_angle_decision: float, optional
angle_in: float, optional
The angle of start section of the route
closed: optional
domain: __Domain__, optional
The domain ( e.g. OpticalDomain, ElectricalDomain) of the route
points: optional
points of this shape
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
rounding_algorithm: optional
rounding algorithm used to generate the bends. Can be circular, spline, …
start_straight: float and Real, number and number >= 0, optional
The length of the straight start section of the route
start_face_angle: optional
Use this to overrule the ‘dangling’ angle at the start of an open shape
size_info: SizeInfo, locked
get the size information on this Shape
start_pos: Coord2, locked
end_pos: Coord2, locked
The coordinate where the route ends
See also
RouteToEast
,RouteToWest
,RouteToNorth
,RouteToSouth
,RouteToHorizontal
,RouteToVertical
,RouteToManhattan
Examples
from technologies import silicon_photonics import ipkiss3.all as i3 from ipkiss3.pcell.routing import RouteToAngle input_port = i3.OpticalPort(name="in", position=(5.0, 0.0), angle_deg=45.0) # create the route object route = RouteToAngle(input_port=input_port, start_straight=10.0, end_straight=10.0, angle_out=180.0) # a route is a Shape, so we can use it to draw a waveguide wg = i3.RoundedWaveguide(trace_template=i3.TECH.PCELLS.WG.DEFAULT) layout = wg.Layout(shape=route) layout.visualize()