# ---- Top-level Clauses (version ) (rule ...) # ---- Rule Clauses (constraint ...) (condition "") (layer "") # ---- Constraint Types clearance annulus_width track_width hole dissallow # ---- Item Types track via micro_via buried_via pad hole graphic text zone # ---- Examples (rule "copper keepout" (constraint disallow track via zone) (condition "A.insideArea('zone3')")) (rule "BGA neckdown" (constraint track_width (min 0.2mm) (opt 0.25mm)) (constraint clearance (min 0.05) (opt 0.08mm)) (condition "A.insideCourtyard('U3')")) (rule HV (constraint clearance (min 1.5mm)) (condition "A.netclass == 'HV'")) (rule HV_HV # wider clearance between HV tracks (constraint clearance (min "1.5mm + 2.0mm")) (condition "A.netclass == 'HV' && B.netclass == 'HV'")) # ---- Notes # # Version clause must be first clause in file. # # Use Ctrl+/ to comment or uncomment line(s). # # ---- Expression functions # # All function parameters support simple wildcards ('*' and '?'). # # True if any part of A lies within the given footprint's courtyard. A.insideCourtyard('') # True if any part of A lies within the given zone's outline. A.insideArea('') # True if A has a hole which is plated. A.isPlated() # True if 'A' exists on the given layer. The layer name can be # either the name assigned in Board Setup > Board Editor Layers or # the canonical name (ie: F.Cu). A.onLayer('')