Commit Graph

399 Commits

Author SHA1 Message Date
Jeff Young f226373324 Add cache for insideArea() and insideCourtyard().
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 19:22:25 +00:00
Jeff Young d523129929 Minor performance improvements.
Fixes https://gitlab.com/kicad/code/kicad/issues/7720
2021-02-26 17:58:08 +00:00
Jeff Young a3b9e8ddb4 Round 2 of Worksheet -> Drawing Sheet. 2021-02-23 11:57:44 +00:00
Jeff Young cad5198ab7 Worksheet -> (industry standard) Drawing Sheet. 2021-02-22 17:35:46 +00:00
Marek Roszko 907e282347 Silence some msvc warnings
- exception variables that were unused
- RAYSEG2D improperly foward declared with class instead of struct
- unused vars
2021-02-20 11:58:55 -05:00
Jeff Young e89f9db438 Footprint disallow layer checking needs to be based on courtyards.
Fixes https://gitlab.com/kicad/code/kicad/issues/7620
2021-02-20 14:13:36 +00:00
Jeff Young 6f9ebcfdb5 Make sure a pad has a hole before running hole test on it.
Fixes https://gitlab.com/kicad/code/kicad/issues/7567
2021-02-17 14:08:53 +00:00
Jeff Young 015c4d5779 Don't force disallow tests to a particular layer.
Fixes https://gitlab.com/kicad/code/kicad/issues/7552
2021-02-16 16:24:37 +00:00
Jeff Young 6272b48481 Make sure layer gets passed in to rules evaluation. 2021-02-08 14:53:49 +00:00
Jeff Young 78ba87be8f More explicit error message for unconnected items. 2021-02-04 22:47:37 +00:00
Jeff Young da8d0472f5 Layer must be between 0 and PCB_LAYER_ID_COUNT. 2021-02-04 01:00:20 +00:00
Jeff Young 8571687f51 Upgrade place via tool to new DRC.
Fixes https://gitlab.com/kicad/code/kicad/issues/7358
2021-02-01 23:00:13 +00:00
Seth Hillbrand 23c6dbff38 Need to check track/track clearance
The misplaced else prevented non-track/track intersection clearances
from being reported

Fixes https://gitlab.com/kicad/code/kicad/issues/7376
2021-02-01 10:08:27 -08:00
Marek Roszko 9d0b16e814 bool/int type safety 2021-01-31 19:54:32 -05:00
Jeff Young 56ea55ae9c Make sure that NPTH pads still get handled in copper clearance checker.
... because that's where we do hole-to-copper clearance testing.

Also augments the Clearance Resolution reporter to report on said
hole clearances.

And changes the interpretation of HOLE_CLEARANCE_CONSTRAINT to include
local pad clearance overrides.

Fixes https://gitlab.com/kicad/code/kicad/issues/7325
2021-01-31 00:33:35 +00:00
Jeff Young 09eb4b35c6 Make sure footprint edges get checked.
Fixes https://gitlab.com/kicad/code/kicad/issues/7267
2021-01-25 13:20:16 +00:00
Jeff Young 2d8cac658e Allow negative clearances to signal supression of DRC test. 2021-01-23 00:10:01 +00:00
Jeff Young da4b269783 Make sure pad local clearances get in to m_worstClearance. 2021-01-13 12:37:20 +00:00
jean-pierre charras 067b94c410 DRC: Fix a incorrect message and marker position when testing dangling vias.
Commit 6ffb721 detects vias connected on only one layer.
But the DRC diag (marker position and error message) were not correctly initialized
for this new test.
2021-01-10 10:21:24 +01:00
Jeff Young 3fd128a75b Performance enhancements. 2021-01-08 00:46:55 +00:00
Jeff Young a48f0d21f7 More consistency in clearance resolution messages. 2021-01-05 16:54:52 +00:00
Jeff Young 33aa6edb01 Don't run clearance tests on unflashed NPTH pad layers. 2021-01-04 00:03:21 +00:00
Jeff Young 7378c2c3b3 Implement max hole size DRC checks.
Fixes https://gitlab.com/kicad/code/kicad/issues/6893
2021-01-04 00:03:21 +00:00
Jeff Young b5e7611696 Don't cross-pollute CONSTRAINTs.
If you want the HOLE_CLEARANCE, then ask for it.
2021-01-02 16:33:51 +00:00
Jeff Young 018c17399d SNR. 2021-01-01 23:17:49 +00:00
Jon Evans 241823647b DRC: Fix a minor memory leak 2020-12-29 14:58:45 -05:00
Jon Evans bc712a7383 Remove some stray printfs 2020-12-29 14:58:45 -05:00
Jeff Young 8300e17b69 Fix botched attempt to report hole violations between no-net items.
Fixes https://gitlab.com/kicad/code/kicad/issues/6851
2020-12-26 16:24:51 +00:00
Jeff Young af2219ba7f Finish implementation of hole clearance checking.
It appears we never did via hole testing, and pad hole testing didn't
appear to get much testing.
2020-12-25 22:32:19 +00:00
Jeff Young 9c4d3add15 Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/6845
2020-12-25 12:07:26 +00:00
Jeff Young ef25c78a04 Separate polygonization error from chaining error.
This way we can report anything that doesn't exactly chain while still
applying  a fudge factor for our own stuff.

Fixes https://gitlab.com/kicad/code/kicad/issues/1795
2020-12-24 21:02:14 +00:00
Jeff Young 38b8bc89ac Fix a pair of typos.
Fixes https://gitlab.com/kicad/code/kicad/issues/6839
2020-12-24 19:32:24 +00:00
Jeff Young 17800b926f Honour couryard_clearance rules when checking for courtyard overlaps. 2020-12-23 17:34:21 +00:00
Wayne Stambaugh f311831c27 Coverity fixes.
280252, 314742, 314745, 314747, 314755, 314756, 314757, 314758,
314935, 314936
2020-12-20 13:24:47 -05:00
Jeff Young b68b1692ec Clean up some more user messages.
Mostly component -> symbol but also some I18N cleanup.
2020-12-18 12:49:20 +00:00
Jeff Young 3b35bfc0a5 Don't write out synthetic severities (they're headings).
Fixes https://gitlab.com/kicad/code/kicad/issues/6726
2020-12-14 13:34:53 +00:00
Jeff Young bc484784fc Make sure zones are triangulated for DRC.
Normally this happens as a side-effect of rendering them but if done
from a script (or test case) this won't happen.

Fixes https://gitlab.com/kicad/code/kicad/issues/6635
2020-12-12 15:27:46 +00:00
Wayne Stambaugh dd4298bb94 Coverity fixes: 280374, 313611, 313648, 313649, and 314720. 2020-12-11 13:29:52 -05:00
Ian McInerney be4b6ec06a Cleanup compiler warnings 2020-12-09 23:13:33 +00:00
Jeff Young b1f0bf7334 More consistent naming. 2020-12-08 13:05:39 +00:00
Jeff Young d0f9503ee0 Add grouping for violation severities.
Fixes https://gitlab.com/kicad/code/kicad/issues/6616
2020-12-06 19:14:48 +00:00
Jeff Young b10aa230f7 Remove no-longer-used DRC violation code.
Fixes https://gitlab.com/kicad/code/kicad/issues/6616
2020-12-06 15:19:33 +00:00
Jeff Young dbf273d5ec Don't leave HOLE_PROXY set; it messes subsequent tests.
Fixes https://gitlab.com/kicad/code/kicad/issues/6584
2020-12-05 19:44:02 +00:00
Jeff Young 4c5567a627 Allow colliding pads in netties as well as graphic shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6584
2020-12-05 19:44:02 +00:00
Jeff Young 4634802a58 Formatting. 2020-12-04 19:29:04 +00:00
Jeff Young 09bfb76545 Make sure dissallow constraints get added to rule.
Also improves some error reporting.

Fixes https://gitlab.com/kicad/code/kicad/issues/6566
2020-12-03 23:08:51 +00:00
Jeff Young dadfe03804 Reinstate 5.1 net-tie hack since "real" net-ties got pushed to 7.0.
Fixes https://gitlab.com/kicad/code/kicad/issues/6556
2020-11-30 16:11:15 +00:00
Jeff Young 3a9a6e22bc Fix issues in reporting netclasses.
1) make sure we get the default netclass when we want it
2) escape for HTML (particularly important for "<invalid>", but also
for reporting user rule names, netclass names, etc.)
2020-11-30 14:38:06 +00:00
Jeff Young 3989c19c41 Don't test pad:track clearances in pad tester.
They've already been tested in the track tester.

Fixes https://gitlab.com/kicad/code/kicad/issues/6554
2020-11-30 14:38:06 +00:00
Jeff Young e09271ca0e Fixes for hole clearance and hole-to-hole tests.
1) Separate out CONSTRAINT types
2) Filter both source and dest pads/vias for drilled holes when doing
   hole-to-hole checks.  We were checking the items being put into the
   DRC RTree, but not the items we were scanning.
3) Add hole clearance to Board Setup Constraints panel.

Fixes https://gitlab.com/kicad/code/kicad/issues/6546

Fixes https://gitlab.com/kicad/code/kicad/issues/4683
2020-11-29 23:35:23 +00:00