DRC: radius checking of bends

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:

    layer.data.each_merged do |polygon|
      ...
    end
    

    "polygon" will be a RBA::Polygon object that you can analyse further. But I think this solution will be awfully slow.

    Matthias

Sign In or Register to comment.