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
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
Jeff Young
33aa6edb01
Don't run clearance tests on unflashed NPTH pad layers.
2021-01-04 00:03:21 +00:00
Jeff Young
018c17399d
SNR.
2021-01-01 23:17:49 +00: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
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
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
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
Jeff Young
e4d0ffd607
Retire old SKIP_STRUCT filtering.
...
We already added the checkedPairs stuff which deals with a:b vs b:a
better, and the SKIP_STRUCT version had side-effects between the two
tests.
Fixes https://gitlab.com/kicad/code/kicad/issues/6539
2020-11-29 00:08:23 +00:00
Jeff Young
9c7c05c161
Mostly formatting cleanup but a few type-casting cleanups too.
2020-11-24 22:16:41 +00:00
Jeff Young
533d344e3f
Honour pad falshing when colliding with DRC RTree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6443
2020-11-19 23:55:14 +00:00
Jeff Young
bfc4afc506
Restore the 5.1 NetTie hack.
...
We really need to do first-class net ties....
Fixes https://gitlab.com/kicad/code/kicad/issues/6416
2020-11-17 20:07:21 +00:00
Jeff Young
b2d86ec7c9
Don't double-check DRC clearances (a:b and b:a).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6417
2020-11-17 16:58:39 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Jeff Young
52a46341db
More module -> footprint.
2020-11-13 15:16:24 +00:00
Jeff Young
f5443de7f9
D_PAD -> PAD.
2020-11-13 15:16:24 +00:00
Jeff Young
84dd5108ba
Remove some "class_" prefixes from files.
2020-11-13 15:16:23 +00:00
Jeff Young
f7333ad64a
Update some classnames including archaic zone names.
2020-11-12 10:31:25 +00:00
Jeff Young
ae9afdd169
SNR. (Mostly for progammers, but a little for user messages.)
2020-11-02 16:20:00 +00:00
Jeff Young
c351b3c31f
Naming conventions.
2020-11-01 14:12:35 +00:00
Jeff Young
f600450ee6
DRC_TEST_PROVIDER_COPPER_CLEARANCES is for copper only.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6248
2020-11-01 14:12:35 +00:00
Jeff Young
7676ba6f5d
Coverity warning.
2020-11-01 14:12:35 +00:00
Jeff Young
a9bf4bc6a6
Fix freed-memory crasher.
...
While the DRC_ENGINE is not long-lived, it's test providers are,
and must be cleared for each use.
2020-10-31 15:45:41 +00:00
Jeff Young
115fd1d7f3
Move track-to-zone testing to RTrees.
...
Also implemente pad-to-zone testing and removes the control in the
GUI (now that it's fast).
2020-10-31 15:45:41 +00:00
Jeff Young
1a1aef756e
Reporting "actual" incompatible with exiting after first hit.
...
But we're currently using this only as a rough collision check
anyway as it doesn't know the specific item-to-item clearance.
2020-10-31 15:45:41 +00:00
Jeff Young
788a1e3bce
Handle footprint zones in zone collision checks.
...
Also fixes issue with progress reporter.
2020-10-31 15:45:41 +00:00
Jeff Young
cd93dbd324
Naming cleanup.
2020-10-31 15:45:41 +00:00
Jeff Young
8d4c9aeaac
Fix Mac-style include.
2020-10-31 15:45:41 +00:00
Jeff Young
d5addb692c
Move a bunch of DRC tests to RTrees.
2020-10-31 15:45:41 +00:00
Jeff Young
59f3fefd17
When polygonizing arcs don't use synthesized center and angle.
...
Start, mid and end are the "real" properties and come with less
error.
Also collapses two arc polygonization routines into one.
Also fixes DRC checks to be cognizant of arc approximation error.
Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-23 23:55:45 +01:00
Jeff Young
9ff49277e1
Add implicit rule generation for keepout areas.
...
Also implements collision detection for SHAPE_POLY_SET.
Fixes https://gitlab.com/kicad/code/kicad/issues/6105
2020-10-22 10:41:21 +01:00
Seth Hillbrand
4085757aeb
Remove beginning/ending spaces in translations
...
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Jeff Young
18f9f3cf0b
Add curved track support to track-to-zone DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6039
2020-10-20 13:38:09 +01:00
Jeff Young
cd1a5ed6fb
Implement progress reporting for DRC RTree.
...
Also fixes a bug in silk-to-mask checking which wasn't checking
zones on the mask layer.
Also a perfomance fix for the DRC RTree to use a hash table (std::map)
instead of a std::set for keeping track of known collisions.
Fixes https://gitlab.com/kicad/code/kicad/issues/5851
2020-10-13 00:03:58 +01:00
Jeff Young
22cde88ba9
Allow chamfering/filleting of zone/board edge intersections.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5947
2020-10-10 23:09:43 +01:00
Jeff Young
37906511f5
Class renaming.
...
DRAWSEGMENT -> PCB_SHAPE
EDGE_MODULE -> FP_SHAPE
TEXTE_PCB -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Jeff Young
7a4900b8dc
PCB_LINE_T -> PCB_SHAPE_T and PCB_MODULE_EDGE_T -> PCB_FP_SHAPE_T
...
Also updated footprint text and zone types for consistencey.
2020-10-04 16:49:04 +01:00
Mikolaj Wielgus
400c15b8eb
Add mils to units, remove useMils variables
2020-10-03 20:06:56 +00:00
Jeff Young
bea5914726
Make sure all DRC paths check for via/pad being flashed on layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5830
2020-10-03 14:20:19 +01:00
Seth Hillbrand
bf3cb0b1d0
Standardize pad type enums
2020-09-30 08:38:35 -07:00
Jeff Young
d3f8f2b81e
Remove confusion between pad->IsOnLayer and pad->IsPadOnLayer
2020-09-30 11:50:51 +01:00
Jeff Young
2cf303bb09
Test against pad hole cylinder when pad is not on layer.
2020-09-29 18:18:19 +01:00
Jeff Young
66454ec895
Don't do hole-to-pad clearance testing on compound pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5822
2020-09-29 14:11:32 +01:00
Jeff Young
bf67648562
Support optional location reporting in SHAPE collisions.
...
Also fixes a few bugs in the collision routines.
2020-09-28 23:28:33 +01:00
Jon Evans
18e17abd6a
Rename "Keepout" to "Rule Area"
...
These objects can now be used in advanced DRC rules and
not just for keeping things out. Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
2020-09-21 23:55:02 -04:00
Seth Hillbrand
408cd20294
drc: Test all zone layers for intersection
...
Zones can span multiple layers so we need to test each explicitly.
Fixes https://gitlab.com/kicad/code/kicad/issues/5750
2020-09-21 20:40:50 -07:00