Seth Hillbrand
41edf5c5bf
Updating DRC to handle vias with differing layers
5 years ago
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
5 years ago
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
5 years ago
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
5 years ago
Jeff Young
d85a707385
Move rest of DRC to SHAPE collision architecture.
5 years ago
jean-pierre charras
0d8c6d43a8
fix minor I18N issues.
5 years ago
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
6 years ago
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
5 years ago
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.
5 years ago
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.
5 years ago
Jon Evans
0d4ee39f75
CHANGED: Copper zones can be on more than one layer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1963
5 years ago
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).
5 years ago
Jeff Young
f4d8c30f9a
Tighten DRC epsilon value until we decide what to do about it.
6 years ago
Jeff Young
36d197d8b6
Increase pad clearance test epsilon to polygonization max error.
Fixes https://gitlab.com/kicad/code/kicad/issues/4604
6 years ago
Jeff Young
d2cd4de280
Allow rules to operate on hole when hole-to-track testing.
6 years ago
Jeff Young
39ec63c4e9
Fix some inconsistencies in clearance priorities.
Fixes https://gitlab.com/kicad/code/kicad/issues/4555
6 years ago
Jeff Young
416d82727f
Redo DRC rules to get ready for new system.
6 years ago
Jeff Young
0a9adaef73
Don't use bboxes for non-cartesian-rotated pad collision testing.
6 years ago
Jeff Young
69f121d907
Another attempt to get DRC and status bar to share message content.
6 years ago
Jeff Young
a5b53a623d
Update status bar with clearance & rule sources.
6 years ago
Jeff Young
89c46e6834
Fix typo in DRC check of rule-based track-width.
6 years ago
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
6 years ago
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".
6 years ago
Jeff Young
05855a5a1c
Performance enhancements for DRC.
6 years ago
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
6 years ago
Jeff Young
74ee143d45
Add via annulus minimum.
6 years ago
Jeff Young
8efa8af8cc
Add persistence of DRC error severities.
6 years ago
Jeff Young
e39d145d72
Add DRC tests for minimum drill size (based on min via size).
6 years ago
Jeff Young
fd991db0a9
Forgot last commit.
6 years ago
Jeff Young
9954484dfd
Don't show source in violation "name".
6 years ago
Jeff Young
4a60b8a776
Improve DRC error reporting and fix some bugs.
6 years ago
Jeff Young
bba2fa3028
Fix bug with doubling the pad corner radius twice.
6 years ago
Jeff Young
dfe4a00d43
Add distance reporting for copper item DRC tests.
Also adds some performance improvements.
6 years ago
Jeff Young
0c20c0b4af
Fix broken hole-to-track test.
6 years ago
Jeff Young
874f13e29e
Fix some issues with rotated oval pads.
6 years ago
Jeff Young
5c8d712a56
Fix some issues with rotated rectangular pads.
6 years ago
Jeff Young
1280a4d2f3
Add pre-flighting to DRC checks for performance.
6 years ago
Jeff Young
c955f45728
Fix compile error on gcc.
6 years ago
Jeff Young
f7e518dbc6
Add clearance sources to some DRC violation reports.
6 years ago
Jeff Young
a56191b658
Add distances to a bunch of DRC violation reports.
6 years ago
Ian McInerney
99dcadf7e6
Introduce new KI_FALLTHROUGH macro
Annotate purposeful fallthroughs in switch statements with the
KI_FALLTHROUGH macro.
6 years ago
Jeff Young
32db9eb0f1
Add some distances to a few DRC errors.
6 years ago
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
modified: eeschema/lib_rectangle.cpp
6 years ago
Jeff Young
85c2e0d23a
Add user-defined severities, exclusions and colors to DRC markers.
Exclusions are currently persisted in the project file.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
6 years ago
jean-pierre charras
625249322e
Pcbnew: regroup drc files to the already existing drc folder.
6 years ago
jean-pierre charras
48ae188b15
Zone filler: fix a few issues, in Smoothed Polygons mode.
- Fix non optimal shape of solid polygons after inflate transform.
- Add a small extra clearance ((2 microns) when creating clearance areas
(especially, convert arc to polygons create small differences)
- Add a small threshold (1 micron) in drc test distances to avoid false positives
- fix a minor issue in TransformOvalToPolygon that created sometimes a not perfect shape
Fixes #3812
https://gitlab.com/kicad/code/kicad/issues/3812
6 years ago
Ian McInerney
13b6028e1b
Refactor all math into a new kimath library
* Split up the thirdparty code into the thirdparty folder (#3637 )
* Create a new kimath static library containing all the math functions
This is part of cleaning the build system for #1906 .
6 years ago
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
6 years ago
Jeff Young
7ce38ee6f8
Performance enhancements to zone filling & track DRC.
Significant improvement in fetch time for item clearances. On large
boards with lots of nets, maybe 10% faster zone fills and about
2x speedup on track-to-track DRC.
6 years ago
jean-pierre charras
f1f26a9197
drc_clearance_test_functions.cpp: remove a stupid "optimization code" that creates broken tests (sorry to be rude)
Fixes: lp:1831776
https://bugs.launchpad.net/kicad/+bug/1831776
7 years ago