It looks like you're new here. If you want to get involved, click one of these buttons!
KLayout version: 0.26
The rule deck uses option 2 described by Matthias in this post:
via1 = polygons(12, 0) metal2 = polygons(13, 0) # ... via1_edges_with_less_enclosure = metal2.enclosing(via1, 35.nm, projection).second_edges error_corners = via1_edges_with_less_enclosure.width(angle_limit(100.0), 1.dbu) via1.interacting(error_corners.polygons(1.dbu)).output("METAL2.3", "METAL2.3 : Minimum enclosure around via1 on two opposite sides : 35nm")
However, the rule does not seem to be checked properly. I have a shape where the via and the metal are the same size, and no output is generated.
The problem appears to stem from
via1.interacting(error_corners.polygons(1.dbu)) not generating any output. If I run
error_corners.output("test"), I see the following shape:
The polygons command also looks correct if I run
via1.interacting(error_corners.polygons(1.dbu)) creates no output. Any tips for what's going on?