Update generated custom DRC rules help files, required for Weblate.

This commit is contained in:
Alex Shvartzkop 2025-08-05 14:37:17 +03:00
parent 188e0fc545
commit f4c356a4f8
3 changed files with 151 additions and 141 deletions

View File

@ -2,7 +2,7 @@
_HKI( "### Constraints\n" _HKI( "### Constraints\n"
"\n" "\n"
"| Constraint type | Argument type | Description |\n" "| Constraint type | Argument type | Description |\n"
"|---------------------------|-----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n" "|---------------------------|-----------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n"
"| `annular_width` | min/opt/max | Checks the width of annular rings on vias.<br> |\n" "| `annular_width` | min/opt/max | Checks the width of annular rings on vias.<br> |\n"
"| `assertion` | \"&lt;expression>\" | Checks the given expression.<br> |\n" "| `assertion` | \"&lt;expression>\" | Checks the given expression.<br> |\n"
"| `clearance` | min | Specifies the **electrical** clearance between copper objects of different nets. (See `physical_clearance` if you wish to specify clearance between objects regardless of net.)<br><br>To allow copper objects to overlap (collide), create a `clearance` constraint with the `min` value less than zero (for example, `-1`).<br> |\n" "| `clearance` | min | Specifies the **electrical** clearance between copper objects of different nets. (See `physical_clearance` if you wish to specify clearance between objects regardless of net.)<br><br>To allow copper objects to overlap (collide), create a `clearance` constraint with the `min` value less than zero (for example, `-1`).<br> |\n"
@ -20,6 +20,9 @@ _HKI( "### Constraints\n"
"| `physical_hole_clearance` | min | Checks the clearance between a drilled hole in a pad or via and another object, regardless of net. The clearance is measured from the diameter of the hole, not its center.<br><br>This can also be thought of as the \"drilling tolerance\" as it only includes **round** holes (see `edge_clearance` for the milling tolerance).<br> |\n" "| `physical_hole_clearance` | min | Checks the clearance between a drilled hole in a pad or via and another object, regardless of net. The clearance is measured from the diameter of the hole, not its center.<br><br>This can also be thought of as the \"drilling tolerance\" as it only includes **round** holes (see `edge_clearance` for the milling tolerance).<br> |\n"
"| `silk_clearance` | min/opt/max | Checks the clearance between objects on silkscreen layers and other objects.<br> |\n" "| `silk_clearance` | min/opt/max | Checks the clearance between objects on silkscreen layers and other objects.<br> |\n"
"| `skew` | max | Checks the total skew for the nets that match the rule condition, that is, the difference between the length of each net and the average of all the lengths of each net that is matched by the rule. If the absolute value of the difference between that average and the length of any one net is above the constraint `max` value, an error will be generated.<br> |\n" "| `skew` | max | Checks the total skew for the nets that match the rule condition, that is, the difference between the length of each net and the average of all the lengths of each net that is matched by the rule. If the absolute value of the difference between that average and the length of any one net is above the constraint `max` value, an error will be generated.<br> |\n"
"| `solder_mask_expansion` | opt | Specifies the solder mask expansion for pads, shapes and tracks. |\n"
"| `solder_paste_abs_margin` | opt | Specifies the absolute solder paste clearance for pads. Usually negative to inset the paste.<br><br>The final solder paste clearace will be the absolute clearance plus the relative clearance. |\n"
"| `solder_paste_rel_margin` | opt | Specifies the relative solder paste clearance for pads. Usually negative to inset the paste.<br><br>The final solder paste clearace will be the absolute clearance plus the relative clearance. |\n"
"| `thermal_relief_gap` | min | Specifies the width of the gap between a pad and a zone with a thermal-relief connection.<br> |\n" "| `thermal_relief_gap` | min | Specifies the width of the gap between a pad and a zone with a thermal-relief connection.<br> |\n"
"| `thermal_spoke_width` | opt | Specifies the width of the spokes connecting a pad to a zone with a thermal-relief connection.<br> |\n" "| `thermal_spoke_width` | opt | Specifies the width of the spokes connecting a pad to a zone with a thermal-relief connection.<br> |\n"
"| `track_width` | min/opt/max | Checks the width of track and arc segments. An error will be generated for each segment that has a width below the `min` value (if specified) or above the `max` value (if specified).<br> |\n" "| `track_width` | min/opt/max | Checks the width of track and arc segments. An error will be generated for each segment that has a width below the `min` value (if specified) or above the `max` value (if specified).<br> |\n"

View File

@ -7,8 +7,7 @@ _HKI( "### Expression functions\n"
" A.enclosedByArea('<zone_name>')\n" " A.enclosedByArea('<zone_name>')\n"
"True if all of `A` lies within the given zone's outline.\n" "True if all of `A` lies within the given zone's outline.\n"
"\n" "\n"
"NB: this is potentially a more expensive call than `intersectsArea()`. Use " "NB: this is potentially a more expensive call than `intersectsArea()`. Use `intersectsArea()`\n"
"`intersectsArea()`\n"
"where possible.\n" "where possible.\n"
"<br><br>\n" "<br><br>\n"
"\n" "\n"
@ -39,8 +38,7 @@ _HKI( "### Expression functions\n"
"<br><br>\n" "<br><br>\n"
"\n" "\n"
" A.hasNetclass('<netclass_name>')\n" " A.hasNetclass('<netclass_name>')\n"
"True if `A` has had the given netclass assigned to it, either by an explicit netclass " "True if `A` has had the given netclass assigned to it, either by an explicit netclass label\n"
"label\n"
"or through a pattern match assignment.\n" "or through a pattern match assignment.\n"
"<br><br>\n" "<br><br>\n"
"\n" "\n"
@ -100,18 +98,15 @@ _HKI( "### Expression functions\n"
"\n" "\n"
" A.memberOfFootprint('<footprint_identifier>')\n" " A.memberOfFootprint('<footprint_identifier>')\n"
"True if `A` is a member of a given footprint (for example, a pad or graphic shape defined\n" "True if `A` is a member of a given footprint (for example, a pad or graphic shape defined\n"
"inside that footprint). The various ways of specifying `footprint_identifier` are " "inside that footprint). The various ways of specifying `footprint_identifier` are described above.\n"
"described above.\n"
"<br><br>\n" "<br><br>\n"
"\n" "\n"
" A.memberOfSheet('<sheet_path>')\n" " A.memberOfSheet('<sheet_path>')\n"
"True if `A` is a member of the given schematic sheet. The sheet path can contain " "True if `A` is a member of the given schematic sheet. The sheet path can contain wildcards.\n"
"wildcards.\n"
"<br><br>\n" "<br><br>\n"
"\n" "\n"
" A.memberOfSheetOrChildren('<sheet_path>')\n" " A.memberOfSheetOrChildren('<sheet_path>')\n"
"True if `A` is a member of the given schematic sheet, or any of its child hierarchical " "True if `A` is a member of the given schematic sheet, or any of its child hierarchical sheets. The sheet path can \n"
"sheets. The sheet path can \n"
"contain wildcards.\n" "contain wildcards.\n"
"<br><br>\n" "<br><br>\n"
"\n" "\n"

View File

@ -136,4 +136,16 @@ _HKI( "### More Examples\n"
" (constraint hole_to_hole)\n" " (constraint hole_to_hole)\n"
" (severity ignore))\n" " (severity ignore))\n"
"\n" "\n"
"\n"
" # No solder mask expansion for vias.\n"
" (rule \"no mask expansion on vias\"\n"
" (constraint solder_mask_expansion (opt 0mm))\n"
" (condition \"A.type == via\"))\n"
"\n"
"\n"
" # Remove solder paste from DNP footprints.\n"
" (rule remove_solder_paste_from_DNP\n"
" (constraint solder_paste_abs_margin (opt -50mm))\n"
" (condition \"A.Do_not_Populate\"))\n"
"\n"
"" ); "" );