7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-27 00:26:13 +00:00
Commit Graph

18585 Commits

Author SHA1 Message Date
Jeff Young
824c7ecfa7 Improve readability.
Also drops a parameter that hasn't been implemented
since early 2022.
2025-03-19 08:55:32 +00:00
JamesJCode
24a8c2a684 Ensure PNS length tuning calculation uses correct layer ID context
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20372
2025-03-18 12:37:16 +00:00
Jeff Young
142f8265c5 Simplify (and fix) plated copper differentiation.
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
Wayne Stambaugh
8fa48c7be2 Fix Coverity issue .
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=514495
2025-03-17 14:43:43 -04:00
Wayne Stambaugh
47984b6793 Coding policy house keeping. 2025-03-17 12:45:25 -04:00
Wayne Stambaugh
4131089260 Fix Coverity issue .
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=543084
2025-03-17 12:21:02 -04:00
JamesJCode
4a99a3060d Add new DRC expression function isMemberOfSheetOrChildren
This allows the multichannel tool to search for footprints that are in nested
hierarchical sheets.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20339
2025-03-17 15:55:59 +00:00
Jeff Young
6c97a40b8c Attempt to fix lack of initialisation on GTK/MSW.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20050
2025-03-17 11:42:11 +00:00
jean-pierre charras
60f65e68c1 Step export: handle castellated pads.
Only pads having the fab property "Castellated" are handled.
2025-03-17 11:14:53 +01:00
Jeff Young
1848401d5b Update layer per page.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20352
2025-03-17 09:51:53 +00:00
Jeff Young
dd921354fc Cleanup. 2025-03-17 09:50:06 +00:00
Jeff Young
413d6747c5 Collapse SCH_TABLE border drawing into shared code.
Also pushes GetCornersInSequence() into EDA_SHAPE
so it can be shared between SCH_TABLE and PCB_TABLE.

Also fixes bug in drawing column rulings over the
right external border.

Also fixes a bug with dialog control enabling.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20350
2025-03-16 20:21:49 +00:00
Jeff Young
1333c4c305 Move layer arg parsing up so we can handle user-defined layer names.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18773
2025-03-16 17:28:44 +00:00
Jon Evans
77747aa41e Use UI order for drill report stackup
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20069
2025-03-16 11:13:14 -04:00
Seth Hillbrand
676dd4ceec Fix inheritance for git_common
Avoids repo type pointer issues when casting from void
2025-03-15 13:05:45 -07:00
Jeff Young
f9b19bbb5b Fix is-same logic in updateFootprintParameters.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19988
2025-03-15 18:42:02 +00:00
JamesJCode
ede5faee72 Implement dynamic assignment of component classes 2025-03-15 14:33:47 +00:00
Seth Hillbrand
26c331a837 Adjust git handling
- Utilize scoped deletion for individual git_*_free() calls
- Protect against multiple usage when updating icons
- Reduce frequency of git update calls
2025-03-14 17:01:03 -07:00
Jeff Young
1ee3131e4a Check silk/soldermask collisions in FP checker.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19707
2025-03-14 19:45:26 +00:00
Jeff Young
8894c470ef Don't modify selection in the middle of a move/drag.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20239
2025-03-14 14:52:49 +00:00
jean-pierre charras
7f1b412203 plot mask layers: do not skip mask on track when solder mask min web is not 0
When solder mask min web is not 0, PlotSolderMaskLayer() uses GenerateLayerPoly(),
that skipped tracks (not updated since tracks can be on a mask layer)
2025-03-14 15:17:04 +01:00
jean-pierre charras
2210fc3518 minor compil warning fix 2025-03-14 15:01:01 +01:00
Jeff Young
3c32f4d31d Refresh preview after rotate/flip/mirror during move.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19561
2025-03-14 13:17:52 +00:00
Jeff Young
e48a2b5ee4 Don't report non-meeting line-pairs.
We're called on each line pair, so a rect would otherwise
always report to failures for the two pairs of opposite
sides.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20326
2025-03-13 16:32:25 +00:00
dsa-t
18b5046fae Fix Eagle PCB layers handling after v9 layer changes.
(cherry picked from commit 2bf369793c)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-03-13 17:48:56 +03:00
Jeff Young
93ea523eec De-duplicate table border drawing code.
Also cleans up a misconception about table header borders,
and renames the getter/setter to be clearer.

Also makes sure that table cells are updated when the table
layer changes.

And another bug where we were writing the grey color value
back to the cell for hidden cells.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20319
2025-03-13 13:15:47 +00:00
Zenn Geeraerts
d31eeb5c1b Use case insensitivity when loading Altium files
Altium is case insensitive, so our match for internal names should be also
2025-03-12 18:23:01 -07:00
Seth Hillbrand
1c245ad01e Be sure to clear hit cache
When re-running the DRC creepage check, we need to ensure that the
element-element hittest set is cleared to report the same errors again

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20048
2025-03-12 11:48:21 -07:00
Seth Hillbrand
96794e94e3 Correct layerset calls
The Board layerset (because BOARD is a BOARD_ITEM) should return the
layers that the board contains instead of just the F.Cu.  This assigns
the common function to map to the board-specific functions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20317
2025-03-12 11:48:21 -07:00
Jeff Young
6df9c90440 Add textOnEdgeCuts to global DRC items list.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20308
2025-03-12 11:30:48 +00:00
jean-pierre charras
ccc396a6c2 BOARD::BulkRemoveStaleTeardrops(): fix bug that prevent removing a teardrop.
When a teardrop is the first zone (or the only one) in list (i.e. last tested)
it was ignored, and therefore not removed.
2025-03-12 09:44:45 +01:00
Jeff Young
b7ef57a97d Apply Damjan's rotated table fixes to PCB_TABLE::GetEffectiveShape().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20143
2025-03-11 20:12:32 +00:00
Jeff Young
459cf030b8 Don't disable first internal layer in footprint editor.
It's used as a proxy for all internal layers.

Also fixes LAYER_RANGE_ITERATOR so that it works with an odd
number of copper layers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20246
2025-03-11 19:11:11 +00:00
Jeff Young
31b788c04f Add a bit of protection from integer overflows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19660
2025-03-11 15:11:31 +00:00
Jeff Young
b11b1a6f72 Ease in a bit more fmt::format(). 2025-03-11 10:08:04 +00:00
Jeff Young
b569d919ea No more invisible (non-field) text. 2025-03-10 21:58:30 +00:00
Jeff Young
567da3de91 Tables support for router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20295
2025-03-10 15:45:42 +00:00
Jeff Young
6ac64d290b Check parent footprint as well for component class.
Also output more descriptive text when checking inherited
rules on parent footprint.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20281
2025-03-10 13:34:01 +00:00
Lucas Dumont
3ddaa24775 Change deleting for-range loop to while loop
It seem that the iterator may be invalidated in the loop.
By always taking the first element and looping until empty, we avoid the issue

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20283
2025-03-09 19:34:13 -07:00
Tomasz Wlostowski
c05cc345f3 multichannel: possible fix for ghosting footprints when using grouping 2025-03-09 23:36:54 +01:00
Tomasz Wlostowski
b1bf5127fa connectivity: treat empty FPIDs as matching in TOPO_MATCH 2025-03-09 23:36:54 +01:00
Tomasz Wlostowski
8192ba73d9 connectivity: TOPO_MATCH now orders reference components by the lowest matching candidate count.
This heuristic seems to make the algorithm reject non-isomorphic mappings much earlier on and converges faster on a solution for typical circuits.
2025-03-09 23:36:53 +01:00
Tomasz Wlostowski
91ee987cfe connectivity: TOPO_MATCH now prioritizes component candidates by the ratio of matching pad nets.
This improves cloning of circuits with numerous of matching component mappings (e.g. LED matrices) by
taking preference for mappings with same order of net connections.
2025-03-09 23:36:27 +01:00
Jeff Young
a468c486eb DRC for tables. (And some fixes for dimensions.) 2025-03-09 17:59:32 +00:00
Jeff Young
4b38932129 Group members are still children of the board (not
the group).
2025-03-09 17:59:32 +00:00
Jeff Young
2ed2d733c3 Revert 1f620e9cca.
(A group member is still a child of the board; it's just
also a member of the group.)
2025-03-09 16:01:08 +00:00
Jeff Young
0a3f14c855 Sync selection & selection flags after replacing fields. 2025-03-09 11:47:31 +00:00
Jeff Young
1f620e9cca forAllGeometryItems must account for PCB_GROUP descendants. 2025-03-09 11:47:31 +00:00
Jeff Young
e163c40e54 Formatting. 2025-03-09 11:47:31 +00:00
JamesJCode
85e6978aa2 Mirror netclass DRC expression semantics for component classes
With this change, "A.Component_Class == 'SOME_CLASS'" will return
true if either SOME_CLASS exists in the list of component classes
attached o the footprint, or if SOME_CLASS is the full component
class name.
2025-03-08 22:18:22 +00:00