# ContainerWithRoundedWaveguideBundle¶

class picazzo3.container.container_waveguides.ContainerWithRoundedWaveguideBundle(*args, **kwargs)

Container with waveguide bundle (picazzo3.container.container.ContainerWithWaveguideBundle) which generates its waveguides from a given waveguide_template and routes and rounds the bends. You can specify a bend radius and rounding algorithm for the waveguides in the Layout view.

Parameters: trace_template: optional Template for all ports. If None, the waveguide templates of the ports will be used auto_transition: optional If True, automatically transition all ports of contents to the given trace template. If False, no transitions are applied, which might lead to a discontinuity in the waveguide. Also, if trace_template is None, no transitions are applied. port_labels: optional Labels of the ports to be processed. Set to None to process all ports. contents: PCell, optional the contents of the container: the child cell external_port_names: optional Dictionary for remapping of the port names of the contents to the external ports cell_instances: _PCellInstanceDict, optional name: optional The unique name of the pcell trace_templates: List with type restriction, allowed types: , locked list of templates to apply to all ports waveguides: List with type restriction, allowed types: , locked bundle: locked bundle of waveguides added to the contents, generated based on the supplied waveguides list

Examples

import technologies.silicon_photonics
from picazzo3.filters.ring import RingRect180DropFilter
from picazzo3.container.container_waveguides import ContainerWithRoundedWaveguideBundle
from ipkiss3 import all as i3

my_ring = RingRect180DropFilter(name="my_ring_4")
my_ring_layout = my_ring.Layout()

port_labels = ['E0', 'E1']

shapes = []
for pl in port_labels:
p = my_ring_layout.ports[pl]
shape = i3.Shape(points=[p.position])
shapes.append(shape)

my_container = ContainerWithRoundedWaveguideBundle(name="my_waveguide_container_4",
contents=my_ring,
port_labels=port_labels
)
layout = my_container.Layout(routes=shapes,

Layout