Jeff Young
37838dffb9
Make sure physical_clearance rules are run against courtyard layers.
2022-05-10 23:02:53 +01:00
Jeff Young
ecf6773f74
Remove dead code.
2022-05-07 21:10:04 +01:00
Jeff Young
30ecca464d
Rename mechanical_clearance -> physical_clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11554
2022-05-06 15:54:46 +01:00
Jeff Young
dfdedfa605
Fix some issue with NPTH pads with holes same size as pad.
2022-05-06 00:06:00 +01:00
Jeff Young
f590dcf513
Fix a couple of typos.
2022-05-06 00:06:00 +01:00
Jeff Young
5d0d2201f3
Improve clearance report messages.
...
Removes some duplicated terms; puts in some more headers to make
visual parsing easier, and makes non-connected-pads report the correct
data.
Also fixes a bug where zone-connection overrides of none weren't getting
handled correctly.
Fixes https://gitlab.com/kicad/code/kicad/issues/11544
2022-05-03 16:30:04 +01:00
Jeff Young
bf2566a44f
Post-process board min clearance rather than building it in to netclasses.
...
The later makes the diagnostic messages harder to decipher.
2022-05-03 13:39:14 +01:00
Jeff Young
d192d3c31d
Better violation title for disabled layers check.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11451
2022-04-25 09:39:49 +01:00
Jeff Young
f0dab2e07b
Fix some layer handling issues.
2022-04-23 21:29:46 +01:00
Jeff Young
e6684bf7c7
Add footprint checks to board-level DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11437
2022-04-23 11:34:18 +01:00
Jeff Young
4525b1f085
More consistency in DRC error messages.
2022-04-23 09:39:34 +01:00
Jeff Young
9ff1ae5bdc
Better inspection reporting for netclasses, custom rules and DRC.
2022-04-17 00:33:56 +01:00
Jeff Young
7f3a75bccd
Add a bunch more inspections for rule resolution.
2022-04-15 22:10:13 +01:00
Seth Hillbrand
819276bd98
DP tolerance needs to be 1IU on each axis
...
ApproximatelyParallel will only check for parallel within 1 IU, so a 1x1
SEG will always be parallel and the projection is invalid
(cherry picked from commit d0796399a2
)
2022-04-11 16:58:10 -07:00
Jeff Young
82820d4b1c
Cleanup.
2022-04-09 20:39:35 +01:00
Jeff Young
722b2588f4
Better error reporting for DP uncoupled length.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10087
2022-04-08 11:40:53 +01:00
Jeff Young
a118249093
NPTHs obey HOLE_CLEARANCE, not CLEARANCE.
...
Also, plating thickness appears on both walls, so diameter is drill
plus 2X plating thickness.
2022-04-04 20:43:08 +01:00
Jeff Young
f7cdc7af75
Apply a more sophisticated test for ignoring isInCoupledDiffPair.
...
The basic problem is that the DRC engine does length testing and skew
testing by collecting all the diff pair constituent parts and pairing them
itself. Since each part is collected on its own, we need to ignore the
'B' unit when evaluating any conditional expressions. However, doing this
in general means that when evaluating "OwnClearance()" we also ignore the
'B' unit and return the diff pair CLEARANCE_CONSTRAINT when we shouldn't.
This implements a more discerning test which know what the current requested
constraint is when evaluating expressions.
See also https://forum.kicad.info/t/solved-custom-differencing-rule-not-working-drc/34034/6
Fixes https://gitlab.com/kicad/code/kicad/issues/11314
2022-04-02 15:12:42 +01:00
Wayne Stambaugh
150859c973
Try Coverity fixes that don't break unit tests.
2022-03-25 16:49:29 -04:00
Wayne Stambaugh
7da7864f5e
Fix some Coverity issues.
2022-03-25 15:51:05 -04:00
Jeff Young
b679a21651
Zero out parent rule when overridden by local property.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11197
2022-03-21 20:49:35 +00:00
Jeff Young
cf611f1742
Better safety around layersets.
2022-03-21 18:19:00 +00:00
Jeff Young
5aa561abe1
Add overlapping pad test and share some tests between board & fp editor DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10086
2022-03-18 19:58:42 +00:00
Jeff Young
0f359c8a3b
Careful of calculated fields when comparing board FPs with library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-17 13:19:25 +00:00
Jeff Young
62f813fddc
Better error reporting for PTH pads.
2022-03-16 14:56:32 +00:00
Jeff Young
f596ae3487
Allow mechanical-clearance checks between edge_cuts and other layers.
2022-03-16 14:56:32 +00:00
Jeff Young
600dcd31ad
Allow track board edge clearance violations inside the holes of castellated pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-15 00:05:23 +00:00
Jeff Young
8d682002c3
Fix previous breakage from shared_ptr going out of scope.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 23:57:50 +00:00
Jeff Young
e7bf4ab8fa
Separate board-edge silk clearance from mask-edge silk clearance.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +00:00
Jeff Young
2ec21c7720
Don't check for board edge collision on castellated pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10970
2022-03-14 20:19:09 +00:00
Jeff Young
65185f53a1
Rotate fp zones before comparing with library versions.
...
Also includes some performance fixes to not copy around triangulation
data when it's not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-03-14 15:53:24 +00:00
Jeff Young
ced1e68ea1
A bit of wxT().
2022-03-13 16:09:06 +00:00
Jeff Young
db0b733be5
Clear DRC caches before running soldermask tests again.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10922
2022-03-12 19:44:34 +00:00
Jeff Young
89e61ff73b
More performance enhancements for DRC.
2022-03-12 14:17:52 +00:00
Jeff Young
6f555b6258
wxT() and some cleanup in DRC.
2022-03-11 23:19:16 +00:00
Wayne Stambaugh
eec528ae48
Fix GCC build error on Linux.
2022-03-11 17:03:01 -05:00
Jeff Young
ae307e1b34
Parallelize DRC triangulation, keepout processing, and sliver checking.
...
Also fixes issue with adding fractured polygons in sliver checking which
slowed the board from hell down to less than a crawl.
2022-03-11 20:52:11 +00:00
Jeff Young
663edcf665
Better progress indication for board from hell.
2022-03-09 14:30:21 +00:00
Jeff Young
e4b56ab7f1
Performance fixes for the board from hell....
2022-03-08 23:54:34 +00:00
Jeff Young
1fc99dd2c0
Don't call GetLayer() on a multi-layer object.
2022-03-05 23:07:43 +00:00
Jeff Young
843a56c4e4
Implement two-staged zone priority: assigned priority followed by UUID.
2022-03-01 14:53:35 +00:00
Jeff Young
914e706023
Replace zone-with-no-pads test with isolated copper test.
...
The later is far more discriminating.
Fixes https://gitlab.com/kicad/code/kicad/issues/11009
2022-03-01 12:02:17 +00:00
Jeff Young
79c7859052
Apply a19d9105f0
to zone case as well.
...
Also improves on the previous comments.
Fixes https://gitlab.com/kicad/code/kicad/issues/10922
2022-02-21 13:48:34 +00:00
Jeff Young
86988225c3
Exclude some fab attrs from library parity check.
...
Also excludes zone outline hatching, which is just a visualization
property.
Fixes https://gitlab.com/kicad/code/kicad/issues/10903
2022-02-19 14:59:50 +00:00
Seth Hillbrand
a19d9105f0
Fix SolderBridge check to only check across multiple
...
We should not generate an error when overlapping a single copper element
with a soldermask that is not associated with copper.
Fixes https://gitlab.com/kicad/code/kicad/issues/10906
2022-02-18 11:47:28 -08:00
Jeff Young
6f6cf995ba
Don't ask for layer of multi-layer item.
2022-02-18 14:53:10 +00:00
Jeff Young
1ee3ce45e8
Don't ask for layer of multi-layer objects.
2022-02-18 14:19:13 +00:00
Jeff Young
ce0233577b
Don't try to fetch layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
e09ecd8380
Don't ask for layer of multi-layer objects.
2022-02-18 13:20:36 +00:00
Jeff Young
2172810600
Performance: better sharing of zone fills.
2022-02-15 19:19:03 +00:00