KiCad PCB EDA Suite
Loading...
Searching...
No Matches
panel_setup_rules_help_9more_examples.h
Go to the documentation of this file.
1// Do not edit this file, it is autogenerated by CMake from the .md file
2_HKI( "### More Examples\n"
3"\n"
4" (rule \"copper keepout\"\n"
5" (constraint disallow track via zone)\n"
6" (condition \"A.intersectsArea('zone3')\"))\n"
7"\n"
8"\n"
9" (rule \"BGA neckdown\"\n"
10" (constraint track_width (min 0.2mm) (opt 0.25mm))\n"
11" (constraint clearance (min 0.05mm) (opt 0.08mm))\n"
12" (condition \"A.intersectsCourtyard('U3')\"))\n"
13"\n"
14"\n"
15" # prevent silk over tented vias\n"
16" (rule silk_over_via\n"
17" (constraint silk_clearance (min 0.2mm))\n"
18" (condition \"A.Type == '*Text' && B.Type == 'Via'\"))\n"
19"\n"
20"\n"
21" (rule \"Distance between Vias of Different Nets\"\n"
22" (constraint hole_to_hole (min 0.254mm))\n"
23" (condition \"A.Type == 'Via' && B.Type == 'Via' && A.Net != B.Net\"))\n"
24"\n"
25" (rule \"Clearance between Pads of Different Nets\"\n"
26" (constraint clearance (min 3.0mm))\n"
27" (condition \"A.Type == 'Pad' && B.Type == 'Pad' && A.Net != B.Net\"))\n"
28"\n"
29"\n"
30" (rule \"Via Hole to Track Clearance\"\n"
31" (constraint hole_clearance (min 0.254mm))\n"
32" (condition \"A.Type == 'Via' && B.Type == 'Track'\"))\n"
33"\n"
34" (rule \"Pad to Track Clearance\"\n"
35" (constraint clearance (min 0.2mm))\n"
36" (condition \"A.Type == 'Pad' && B.Type == 'Track'\"))\n"
37"\n"
38"\n"
39" (rule \"clearance-to-1mm-cutout\"\n"
40" (constraint edge_clearance (min 0.8mm))\n"
41" (condition \"A.Layer == 'Edge.Cuts' && A.Line_Width == 1.0mm\"))\n"
42"\n"
43"\n"
44" (rule \"Max Drill Hole Size Mechanical\"\n"
45" (constraint hole_size (max 6.3mm))\n"
46" (condition \"A.Pad_Type == 'NPTH, mechanical'\"))\n"
47"\n"
48" (rule \"Max Drill Hole Size PTH\"\n"
49" (constraint hole_size (max 6.35mm))\n"
50" (condition \"A.Pad_Type == 'Through-hole'\"))\n"
51"\n"
52"\n"
53" # Specify an optimal gap for a particular diff-pair\n"
54" (rule \"dp clock gap\"\n"
55" (constraint diff_pair_gap (opt \"0.8mm\"))\n"
56" (condition \"A.inDiffPair('/CLK')\"))\n"
57"\n"
58" # Specify a larger clearance around any diff-pair\n"
59" (rule \"dp clearance\"\n"
60" (constraint clearance (min \"1.5mm\"))\n"
61" (condition \"A.inDiffPair('*') && !AB.isCoupledDiffPair()\"))\n"
62"\n"
63"\n"
64" # Don't use thermal reliefs on heatsink pads\n"
65" (rule heat_sink_pad\n"
66" (constraint zone_connection solid)\n"
67" (condition \"A.Fabrication_Property == 'Heatsink pad'\"))\n"
68"\n"
69" # Require all four thermal relief spokes to connect to parent zone\n"
70" (rule fully_spoked_pads\n"
71" (constraint min_resolved_spokes 4))\n"
72"\n"
73" # Set thermal relief gap & spoke width for all zones\n"
74" (rule defined_relief\n"
75" (constraint thermal_relief_gap (min 10mil))\n"
76" (constraint thermal_spoke_width (min 12mil)))\n"
77"\n"
78" # Override thermal relief gap & spoke width for GND and PWR zones\n"
79" (rule defined_relief_pwr\n"
80" (constraint thermal_relief_gap (min 10mil))\n"
81" (constraint thermal_spoke_width (min 12mil))\n"
82" (condition \"A.Name == 'zone_GND' || A.Name == 'zone_PWR'\"))\n"
83"\n"
84" # Prevent copper fills under the courtyards of capacitors\n"
85" (rule no_copper_under_caps\n"
86" (constraint physical_clearance (min 0mm))\n"
87" (condition \"A.Type == 'Zone' && B.Reference == 'C*'\"))\n"
88"\n"
89"\n"
90" # Prevent solder wicking from SMD pads\n"
91" (rule holes_in_pads\n"
92" (constraint physical_hole_clearance (min 0.2mm))\n"
93" (condition \"B.Pad_Type == 'SMD'\"))\n"
94"\n"
95" # Disallow solder mask margin overrides\n"
96" (rule \"disallow solder mask margin overrides\"\n"
97" (constraint assertion \"A.Soldermask_Margin_Override == null\")\n"
98" (condition \"A.Type == 'Pad'\"))\n"
99"\n"
100"\n"
101" # Enforce a mechanical clearance between components and board edge\n"
102" (rule front_mechanical_board_edge_clearance\n"
103" (layer \"F.Courtyard\")\n"
104" (constraint physical_clearance (min 3mm))\n"
105" (condition \"B.Layer == 'Edge.Cuts'\"))\n"
106"\n"
107"\n"
108" # Allow silk intersection with board edge for connectors\n"
109" (rule silk_board_edge_clearance\n"
110" (constraint silk_clearance)\n"
111" (severity ignore)\n"
112" (condition \"A.memberOfFootprint('J*') && B.Layer=='Edge.Cuts'\"))\n"
113"\n"
114"\n"
115" # Check current-carrying capacity\n"
116" (rule high-current\n"
117" (constraint track_width (min 1.0mm))\n"
118" (constraint connection_width (min 0.8mm))\n"
119" (condition \"A.hasNetclass('Power')\"))\n"
120"\n"
121"\n"
122" # Separate drill bit and milling cutter size constraints\n"
123" (rule \"Plated through-hole size\"\n"
124" (constraint hole_size (min 0.2mm) (max 6.35mm))\n"
125" (condition \"A.isPlated() && A.Hole_Size_X == A.Hole_Size_Y\"))\n"
126" (rule \"Plated slot size\"\n"
127" (constraint hole_size (min 0.5mm))\n"
128" (condition \"A.isPlated() && A.Hole_Size_X != A.Hole_Size_Y\"))\n"
129"\n"
130"\n"
131" # Allow blind/buried to micro-via hole-to-hole violations when it is known that\n"
132" # the fab will mechanically drill blind/buried via holes -before- laser drilling \n"
133" # micro-vias.\n"
134" (rule hole_to_hole_uvia_exclusion\n"
135" (condition \"A.Via_Type == 'Blind/buried' && B.Via_Type == 'Micro'\")\n"
136" (constraint hole_to_hole)\n"
137" (severity ignore))\n"
138"\n"
139"" );
#define _HKI(x)