DRC - Take diameter from the Holes method

I have a task to write down DRC for checking diameters of the via. The Holes method is looked suitable, cause it returns coordinate of opposite corners of rectangular but the only thing that I can do is the Width. Is it possible to somehow check this data in other way?
Also I've stucked trying to convert layer to polygons in common task "check maximum size is not greater than something":
A = input(1)
less_than_10um = A.width(10.micron).polygons
more_than_10um = A.polygons - less_than_10um
A.polygons that method doesn't work and I've no idea how to fix it.



  • I've figured out how to return diameters of the holes:
    A = input(1)
    A.holes.extent_refs(0.0, 0.0, 1.0, 1.0, as_edges)
    But what could be next? How to check it?

  • The one that looks suitable is length. But it returns real data (float or unsigned integer). So I've not found the examples of how we can sort the elements by they real dimension in context of DRC: here is no available conditional structure such as if or other. Am I right? So could you provide some examples how the length could help and how it works with output.

  • Sorry for flooding, I figured out how to do this:
    A = input(1)
    A.holes.extent_refs(0.0, 0.0, 1.0, 1.0, as_edges).with_length(whatever.micron)
    Hope that it will be helpfull for someone :smile:

  • Hi Pavel,

    thanks for sharing this. For rectangles, there is the "with_bbox_min" and "with_bbox_max" method which selected boxes based on their minimum of maximum dimension. These methods allow selecting object with an attribute "more than" when using "with_bbox_min/max(min_value, nil)".

    But I'm confused about the "holes": vias are usually not holes but positive rectangles drawn on a different layer.


Sign In or Register to comment.