It looks like you're new here. If you want to get involved, click one of these buttons!
Hi,
I'm writing a DRC script and I want to see if someone can help with this design rule.
Basically, I want to be able to check to see if the bend has a radius less than some value "x". The image I have attached should give you an example of what I'm talking about when I say a bend and the radius that I'm looking to measure.
Any help is greatly appreciated, and I appreciate all help that has been given so far on these forums,
Much appreciated,
Tristian
Comments
@Tristian I'm afraid this time there is no simple DRC function available. You could go for a maximum bend angle criterion between two edges. But that converts to a minimum radius only for a fixed edge length.
Matthias
@Matthias thanks for the help, at the moment, my thinking is to get the distance between two points on the bend that are close together and using this as the arclength, the radius can be assumed to be some max value and then I can get an angle that fits the equation:
radius = arclength / angle
Thanks for the help,
Tristian
To continue on this without making a new post.
To try measure the arc length, I'm just measuring the length of smaller segments in the bend but I understand that there is no way to measure the length in the DRC but I'm trying to work around it. I was thinking of using layer.perimeter to get the perimeter, I know the width and so I should be able to get lengths from that, but there is no way to loop through the different segments.
I guess the question I'm asking is, is there a way to loop through all of the polygons within a layer or if there is another way to find the lengths of segments in the bend with different lenghts?
Tristian
@Tristian You can loop through the polygons of a layer like this:
"polygon" will be a RBA::Polygon object that you can analyse further. But I think this solution will be awfully slow.
Matthias
Hi there!
I was looking for a way to check the minimum radius of bends and then I found this post.
I was wondering if there is a DRC function to check the minimum radius now.
Thanks so much!
Hi @JSS,
no, this check is still not available yet.
Roadmap didn't change, but time is an issue.
Matthias
There is a kind of workaround using the "unround" feature provided by "extract_rad":
(this implementation is flat, hence maybe slow)
It reports several classes of errors:
It's not super safe, but maybe useful.
Matthias