29 January 2020 at 13:45 #5976
In my case, some of the sbends connecting two elements are straight and have a sbend at the beginning/middle/end, but some connect the two elements diagonally, which is very hard to fabricate. It seems to be a bit random in how the sbends are connecting elements.
I was wondering if there is a possibility to define the sbend to connect always straight (horizontally or vertically) with the fitting bends at the end/beginning/middle of the waveguide.
Thank you for your help.29 January 2020 at 14:05 #5979
Would you have a picture to clarify the question?
As a general remark: The point-to-point interconnect sbend_p2p(pin1, pin2) takes pin1 as the direction of horizontal part of the sbend and ignores the angle of pin2. If pin2 has a wrong angle to connect to the sbend output smoothly, this will show up as an angle error in the pin2pin DRC. You can switch the DRC on using
nazca.pin2pin_drc_on(). By default the sbend will add an extra bend to pin2 to ensure a smooth connection.
Ronald29 January 2020 at 16:18 #5980
here is an image of my problem.
the right and left side have the same coordinates around 0, but for one left side the sbend uses not a straight waveguide to connect the two points, whereas on the right side there is a straight part and 2 bends which connect the two points in a straight line.
Is there a way to say that both the straight parts of the sbend should be either horizontal or vertical, not going kind of diagonal from one point to the other.
Thank you.2 February 2020 at 12:20 #5983
Which Nazca version are you using? I can not reproduce the asymmetric result. Would you have a short piece of code generating the guides like in the picture you attached?
The sbend_p2p() has by default a fall-back option (keyword bsb=True) where it draws a bend_straight_bend_p2p() interconnect if for some reason the sbend did not return a valid solution. This is what the left interconnect in your picture looks like. If you set bsb=False Nazca will connect the points with a straight line in the error layer. These events are also recorded in the Nazca logfile, which you can activate like
import nazca as nd nd.logfile(__file__)
By default, the horizontal line of the sbend is in the direction of pin1. This horizontal orientation can be set/changed via the ref keyword if needed. The sbend_p2p will automatically add extra bends in the pin1 start and pin2 en points to accommodate the sbend_p2p under the ref condition, e.g. ref = (0, 0, 20) to place the sbend straight section under 20 degree w.r.t. the local x-axis. Setting ref to pin2 will use pin2 rather than pin1 as reference.
You must be logged in to reply to this topic.