For my manufacturer, I require different minimal edge clearances on the outer layers (0.25 mm) and on the inner layers (0.4 mm). For this, I tried to create a custom rule that looks as follows:
(version 1)
(rule “InnerEdgeClearance”
(layer inner)
(constraint edge_clearance (min 0.4mm)))
With this I have two problems. For one, the rule seems to work for vias, footprints and tracks, but if I automatically fill the copper zone on the layer, it seems to use the global edge_clearance of 0.25 mm I set. The second problem is, that the DRC generates a lot of warnings (200+) for this rule for violations that don’t even occur on the defined layer e.g., “Board edge clearence violation (rule InnerEdgeClearance clearance 0.4 mm; actual 0.25 mm) Line on Edge.Cuts, Track on B.Cu”.
I also tried inverting the rule and defined the copper to edge clearance to 0.4 mm and created the rule:
(rule “OuterEdgeClearance”
(layer outer)
(constraint edge_clearance (min 0.25mm)))
Here the outer filled zone creates spaces of 0.4 mm to the edge despite the rule and if I have violations on the inner layers (0.25 mm < edge_clearance < 0.4 mm) the DRC does not create any warning or errors.
Can somebody explain what the problem seems to be? Are there any other ways I could write this rule, or have I done something wrong?