Index: drc_query_tdx.html =================================================================== --- drc_query_tdx.html (nonexistent) +++ drc_query_tdx.html (revision 30453) @@ -0,0 +1,81 @@ + +
+ ++This pcb-rnd specific block describes drc rules for the drc_query plugin. +Other software should ignore this block. +
+The main use case fpr the block is allowing schematics editors to +translate design/layout requirements extracted from the schematics into +a rule set that then can be checked by pcb-rnd. + +
+Block type is "drc_query_rule" and "drc_query_const", version is "v1". +The unique identifier should be single word rule name or constant name. +
+Commands for drc_query_rule are: +
command | parameter names | explanation + + |
---|---|---|
type | str... + | Rule type (for grouping on the DRC list). Only one instance per rule allowed. + + |
tilte | str... + | Rule title (summary). Only one instance per rule allowed. + + |
desc | str... + | Detailed description of the violation and suggestions how to resolve it + Only one instance per rule allowed. + + |
query | str... + | The next line of the query script. Multiple instances per rule allowed. + |
+Commands for drc_query_const are: +
command | parameter names | explanation + + |
---|---|---|
type | typename + | Constant data type (anything the conf system accepts; typically coord, real or boolean). Only one instance per const allowed. + + |
desc | str... + | Human readable description of the constant. Only one instance per const allowed. + + |
default | val + | Default value in case the config node is not filled in, in the format required by the data type. Only one instance per const allowed. + |
+Below is the hole overlap rule (standard drc_query script from the stock +config) translated into tEDAx drc_query_* blocks: +
+tEDAx v1 +begin drc_query_const v1 hole_overlap_factor + type real + default 0.0 + desc How much drilled holes may overlap [-1..+1]; 0 means touching holes are reported; positive numbers allow more overlap, negative numbers report non-overlapping but close holes +end drc_query_const + +begin drc_query_rule v1 hole_overlap + type pair hole + title overlapping holes + desc padstack holes overlap + + query rule overlap + query let A @.type==PSTK + query let B A + query assert (A.ID > B.ID) && (distance(A.x, A.y, B.x, B.y) < (A.hole + B.hole)/(2*(1+$hole_overlap_factor))) thus violation(DRCGRP1, A, DRCGRP2, B, DRCMEASURE, distance(A.x, A.y, B.x, B.y), DRCEXPECT, (A.hole + B.hole)/(2*(1+$hole_overlap_factor))) +end drc_query_rule + +