Closed joamatab closed 1 month ago
yeah, I can implement that relatively easy. It would just mean direct connection with no guarantee or check for separation
Your example will work now.
Be aware though since you use real components, this causes a laundry list of snapping issues
70.46756,54.43177,0.10832
Can be fixed with the virtual cell classes instead of standard ones:
from functools import partial
import gdsfactory as gf
c = gf.Component("demo")
mmi = gf.components.mmi2x2(width_mmi=10, gap_mmi=3)
mmi1 = c.create_vinst(mmi)
mmi2 = c.create_vinst(mmi)
mmi2.move((100, 10))
mmi2.rotate(30)
sf = partial(
gf.kf.cells.virtual.straight.virtual_straight, width=0.5, layer=gf.kcl.layer(1, 0)
)
bf = partial(
gf.kf.cells.virtual.euler.virtual_bend_euler,
width=0.5,
radius=10,
layer=gf.kcl.layer(1, 0),
)
gf.kf.routing.aa.optical.route_bundle(
c,
start_ports=mmi1.ports.filter(orientation=0),
end_ports=[mmi2.ports["o2"], mmi2.ports["o1"]],
separation=0,
backbone=[],
straight_factory=sf,
bend_factory=bf,
)
c.show()
How could we allow No backbone for the all angle router?