Custom rule for inner layer edge clearance

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?

(version 1)


(rule "InnerEdgeClearance"
  (condition "A.existsOnLayer('In1.Cu') ||  A.existsOnLayer('In2.Cu') " )
  (constraint edge_clearance (min 0.4mm))
)

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.