Jeff Young
ec576b5dfa
DRC checks need to be done on current layer.
...
Don't be fooled by the name "segment". It might be a via which is
on multiple layers....
Fixes https://gitlab.com/kicad/code/kicad/issues/5503
2020-09-04 15:05:03 +01:00
Jeff Young
d1006138fd
ADDED holeWallPlatingThickness to AdvancedCfg.
...
Used for zone filling and DRC hole collision testing. Allows us to
calculate the actual hole size from the finish hole size.
Fixes https://gitlab.com/kicad/code/kicad/issues/5468
2020-09-03 16:00:07 +01:00
Jeff Young
38e9217d54
Consolidate all DRC epsilon/threshold values to a single advancedCfg setting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5464
2020-09-03 15:03:09 +01:00
Jeff Young
aa84bd6283
Use the right sign when dealing with the clearance epsilon.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5313
2020-08-22 20:03:46 +01:00
Tomasz Wlostowski
e907e43bd9
pcbnew/drc: post-rebase fixes
2020-08-13 14:50:59 +02:00
Tomasz Wlostowski
d937fadd6f
Migrate RC_ITEM to use shared_ptr
2020-08-13 14:50:59 +02:00
Jeff Young
0c9d08249f
Fix crash where dummy edge doesn't have a valid parent.
2020-08-13 00:07:59 +01:00
Seth Hillbrand
2c8d20207e
Allow micro-via to begin/end in middle layers
...
Microvias can be drilled through adjacent layer pairs, not just F_Cu and
B_Cu
2020-08-10 03:27:27 +00:00
Seth Hillbrand
41edf5c5bf
Updating DRC to handle vias with differing layers
2020-08-10 03:27:27 +00:00
Seth Hillbrand
5fc6b74c89
ADDED: Remove unused pads
...
This option removes copper layers from pads and vias where they are not
connected to other board elements. This allows the inner layers to be
more closely routed if the via landing pad is not needed.
Fixes https://gitlab.com/kicad/code/kicad/issues/1835
2020-08-10 03:27:26 +00:00
Jeff Young
db501c2002
Fix issue with doing DRC on a multi-layer zone.
...
Testing for an intersection of layers between the zone and the
item (track in this case) isn't enough: we need to test for the
presence of the item on each layer of the zone.
Fixes https://gitlab.com/kicad/code/kicad/issues/5102
2020-08-07 22:40:18 +01:00
Jeff Young
e5b50d90a7
Update DRC rules to new layer and disallow grammars.
...
Also adds support for hooking rules up to named zones.
Fixes https://gitlab.com/kicad/code/kicad/issues/2041
2020-08-07 21:49:36 +01:00
Jeff Young
d85a707385
Move rest of DRC to SHAPE collision architecture.
2020-07-06 20:00:50 +01:00
jean-pierre charras
0d8c6d43a8
fix minor I18N issues.
2020-07-06 13:47:42 +02:00
Jon Evans
12b4a55ae8
Port Eeschema to new project settings
...
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jeff Young
441dfa30f0
Return individual custom pad shapes instead of a SHAPE_POLY_SET.
...
Also implements an optional pointer to return the actual distance
from all the SHAPE collision routines.
Fixes https://gitlab.com/kicad/code/kicad/issues/4774
2020-07-02 17:09:15 +01:00
Jeff Young
424d551054
Cache pad bounding boxes for performance.
...
Also allows us to return to a LOD test for pad numbers which treats
round and square pads the same.
2020-07-01 16:57:00 +01:00
jean-pierre charras
42296d7eb9
fix issues in DRC and fill zone, related to recent changes in code.
...
Note also: the actual clearance between 2 pads when < minimal clearance
is incorrectly calculated.
2020-06-30 12:59:26 +02:00
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
2020-06-28 08:52:37 -04:00
Jeff Young
d01b29ab37
Cleanup pad geometry handling.
...
There were a lot of plotters, exporters, etc. that were rolling their
own implementations.
This also introduces a lazily-built set of SHAPE objects for doing
collision detection and some forms of rendering (and later DRC).
2020-06-22 22:28:37 +01:00
Jeff Young
f4d8c30f9a
Tighten DRC epsilon value until we decide what to do about it.
2020-06-04 18:28:48 +01:00
Jeff Young
36d197d8b6
Increase pad clearance test epsilon to polygonization max error.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4604
2020-06-03 18:47:19 +01:00
Jeff Young
d2cd4de280
Allow rules to operate on hole when hole-to-track testing.
2020-06-03 12:11:50 +01:00
Jeff Young
39ec63c4e9
Fix some inconsistencies in clearance priorities.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4555
2020-05-29 13:41:45 +01:00
Jeff Young
416d82727f
Redo DRC rules to get ready for new system.
2020-05-25 22:51:47 +01:00
Jeff Young
0a9adaef73
Don't use bboxes for non-cartesian-rotated pad collision testing.
2020-05-22 14:12:56 +01:00
Jeff Young
69f121d907
Another attempt to get DRC and status bar to share message content.
2020-05-22 14:12:56 +01:00
Jeff Young
a5b53a623d
Update status bar with clearance & rule sources.
2020-05-21 21:26:30 +01:00
Jeff Young
89c46e6834
Fix typo in DRC check of rule-based track-width.
2020-05-19 21:17:49 +01:00
Jeff Young
ae9662c5cd
Fix some unitialized variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4477
Fixes https://gitlab.com/kicad/code/kicad/issues/4473
2020-05-18 21:30:38 +01:00
Jeff Young
d046f165de
Fix board outline issues.
...
1) Don't try and do board-edge clearance checking against a
synthetic polygon constructed because we didn't find any edges.
2) Check pads against board edge.
3) Don't report vias as "Track too close to board edge".
2020-05-18 21:11:01 +01:00
Jeff Young
05855a5a1c
Performance enhancements for DRC.
2020-05-18 13:38:17 +01:00
Jeff Young
d3f017d825
DRC rules parser and engine.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2182
Fixes https://gitlab.com/kicad/code/kicad/issues/2116
Fixes https://gitlab.com/kicad/code/kicad/issues/1958
Fixes https://gitlab.com/kicad/code/kicad/issues/1965
2020-05-16 15:53:05 +01:00
Jeff Young
74ee143d45
Add via annulus minimum.
2020-05-11 22:56:09 +01:00
Jeff Young
8efa8af8cc
Add persistence of DRC error severities.
2020-05-07 17:51:27 +01:00
Jeff Young
e39d145d72
Add DRC tests for minimum drill size (based on min via size).
2020-05-04 22:08:36 +01:00
Jeff Young
fd991db0a9
Forgot last commit.
2020-05-01 21:10:36 +01:00
Jeff Young
9954484dfd
Don't show source in violation "name".
2020-05-01 18:49:42 +01:00
Jeff Young
4a60b8a776
Improve DRC error reporting and fix some bugs.
2020-05-01 18:49:42 +01:00
Jeff Young
bba2fa3028
Fix bug with doubling the pad corner radius twice.
2020-05-01 18:49:42 +01:00
Jeff Young
dfe4a00d43
Add distance reporting for copper item DRC tests.
...
Also adds some performance improvements.
2020-05-01 18:49:42 +01:00
Jeff Young
0c20c0b4af
Fix broken hole-to-track test.
2020-05-01 18:49:42 +01:00
Jeff Young
874f13e29e
Fix some issues with rotated oval pads.
2020-05-01 18:49:42 +01:00
Jeff Young
5c8d712a56
Fix some issues with rotated rectangular pads.
2020-05-01 18:49:42 +01:00
Jeff Young
1280a4d2f3
Add pre-flighting to DRC checks for performance.
2020-05-01 18:49:42 +01:00
Jeff Young
c955f45728
Fix compile error on gcc.
2020-05-01 18:49:42 +01:00
Jeff Young
f7e518dbc6
Add clearance sources to some DRC violation reports.
2020-05-01 18:49:42 +01:00
Jeff Young
a56191b658
Add distances to a bunch of DRC violation reports.
2020-05-01 18:49:42 +01:00
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
...
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
2020-04-25 00:44:09 +01:00
Jeff Young
32db9eb0f1
Add some distances to a few DRC errors.
2020-04-24 22:17:45 +01:00