Jeff Young
1ef90c898e
Don't allow selection of footprint dimensions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15418
(cherry picked from commit 750b92b17f
)
2023-08-15 17:54:00 +01:00
Jeff Young
cf133975c1
Avoid edge cases on very wide thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15280
(cherry picked from commit 1cbef0157d
)
2023-08-15 17:53:35 +01:00
Jeff Young
83624acfd2
Allow GetLayer() to be used with single-layer zones.
...
Also fixes a bug in GetFirstLayer() where we were checking
m_layerSet.size() (which is always 60) rather than
m_layerSet.count() (which is the number of set layers).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15233
(cherry picked from commit 8bb895373a
)
2023-08-15 17:51:52 +01:00
Jeff Young
d915ddc647
Fix missing variable initialization.
...
(cherry picked from commit b401c214f5
)
2023-08-15 17:30:38 +01:00
Jeff Young
61b741c34e
Re-entrancy guard for length tuner tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15268
(cherry picked from commit 620b6b7169
)
2023-08-15 17:30:02 +01:00
Jeff Young
aa1910a834
Re-implement some commented-out hole clearance checking in router.
...
(cherry picked from commit 5e18287ff9
)
2023-08-15 17:29:22 +01:00
Jan Mrázek
8451e6dcf1
Fix failure on multiple DRC runs via scripting
...
(cherry picked from commit 2d010278ad
)
2023-08-15 01:40:04 +00:00
Jon Evans
88dfe6eb9c
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
(cherry picked from commit 4c4bbdc8f3
)
2023-08-15 01:39:09 +00:00
jean-pierre charras
c4914a64bb
PCB_GRID_HELPER::BestSnapAnchor() fix overflow due to use of int.
...
GRID_HELPER::GetVisibleGrid() needs double, does not work with int (overflow).
Fixes #15389
https://gitlab.com/kicad/code/kicad/-/issues/15389
2023-08-11 18:04:27 +02:00
Alex Shvartzkop
4aa05dfcf2
Altium PCB importer: fix custom pad local placement.
2023-08-08 17:03:30 +03:00
Alex Shvartzkop
75ace76c6a
Some router/DRC performance boost (ZONE::GetZoneName)
2023-08-04 23:56:02 +03:00
Alex Shvartzkop
2eb6ca75a8
Altium PCB import: support dashed outlines (Region kind 2)
...
(cherry picked from commit 430da67222
)
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
4918ac6307
Improvements to Altium PCB/footprint importer:
...
- Support unicode footprint names
- Set default footprint text size and thickness to match KLC
- Position Reference at the top, Value at the bottom of fp bounding box
(cherry picked from commit 24452f41ad
)
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
acc03e91f3
Altium PCB: support solder/paste mask expansion rules.
...
- Writes expansion values to board design settings
- Imports footprint regions on Cu layers as pads
- Adds support for holes in non-Cu polygons in footprints
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
8e1466a35a
Altium PCB import: import holes in non-Cu polygons.
...
(cherry picked from commit ef66fe88ac
)
2023-08-04 16:50:09 +03:00
Alex Shvartzkop
5b73af668f
Altium PCB import: remove more invalid polygons.
...
(cherry picked from commit eb6cd4cc5d
)
2023-08-04 16:50:09 +03:00
Roberto Fernandez Bautista
deb035c7fe
Fix loading of via drill default sizes and other settings from *.brd kicad files
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15350
(cherry picked from commit 573d2f94de
)
2023-08-04 10:59:26 +02:00
Jon Evans
2075a99c9b
PNS: Process holes as solids in shoveIteration
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12873
2023-08-03 20:22:48 -04:00
Jon Evans
4bed2e57cb
Fix msvc being unhappy
...
(cherry picked from commit ca4d6e8d1d
)
2023-08-03 20:16:16 +00:00
Jon Evans
0629f502b5
PNS: Improve behavior of dragging vias
...
- Fall back to walkaround when drag fails
- Properly check collisions with holes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15117
(cherry picked from commit cc7d470f8b
)
2023-08-03 20:16:06 +00:00
jean-pierre charras
8625a59d4c
Fix a display issue in wxStyledTextCtrl widgets in dialogs (Windows specific).
...
It happens when a text is using some esoteric unicode chars.
Fixes #15314
https://gitlab.com/kicad/code/kicad/-/issues/15314
2023-08-03 18:44:57 +02:00
Jon Evans
9ac5f837f7
Properties: disable pad y-size when circular
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15038
(cherry picked from commit 39073642a7
)
2023-08-03 13:07:52 +00:00
Jon Evans
228fe71eb4
Do not force focus on dataview in RC dialogs
...
On GTK, this causes the first item to be selected, firing the
selection handler and causing unwanted side effects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11925
(cherry picked from commit 7804c2177c
)
2023-08-03 13:06:37 +00:00
Ian McInerney
80462cf559
Remove temp items from its group before deleting them
...
The 1st level items being copied don't have their group information
copied, and we assert that it has been removed from the group on
deleting it, so we just reset the group membership to prevent the
assert.
Fixes sentry KICAD-22S
(Cherry-picked from 753cc6679b
)
2023-08-02 23:32:45 +01:00
Ian McInerney
b0f4d56de1
Remove group association before plotting board outline in drill map
...
The plotter doesn't care about the grouping, and we expect the item to
have no group on deletion, so temporary items like this shouldn't be
part of one.
(Sentry issue KICAD-24Y)
(Cherry-picked from 137640ac28
)
2023-08-02 23:26:35 +01:00
Ian McInerney
7bc0f8731f
Remove group reference when exporting individual footprints
...
(Cherry-picked from d923b871d7
)
2023-08-02 23:21:36 +01:00
Ian McInerney
507054e9cd
Remove temporary footprint from pcb group before deletion
...
Bounding box computation uses a temporary footprint, but the clone
operation keeps the group information. We can't delete a footprint if it
has group information, so just delete the group information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14909
(Cherry-picked from b8e9544828
)
2023-08-02 23:17:03 +01:00
jean-pierre charras
74fc8f6db0
APPEARANCE_CONTROLS, preset layers: re-allow storing object visibility in
...
a User preset, and use the last defined object visibility when switching to
a builtin preset
From master branch
Fixes #15282
https://gitlab.com/kicad/code/kicad/-/issues/15282
2023-08-02 14:01:43 +02:00
Jon Evans
04bb3dfe9d
A BOARD may not always have a project
...
For example, if it's the footprint editor model
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15283
(cherry picked from commit 2459949d0d
)
2023-08-01 21:26:01 +00:00
jean-pierre charras
7fb15269d1
PANEL_SETUP_BOARD_STACKUP: do not try to init params managed by PANEL_SETUP_BOARD_FINISH
...
From master branch
Fixes #15288
https://gitlab.com/kicad/code/kicad/-/issues/15288
2023-07-29 09:59:53 +02:00
jean-pierre charras
49772d2539
Gerber export X3: fix an incorrect keyword ("route" must be "rout")
2023-07-27 20:18:16 +02:00
Seth Hillbrand
2451cbddec
Consolidate Maximum clearance calculation
...
We were calculating the same thing in three locations and we missed
adding the clearance from the footprints in, resulting in bad fills and
missed drc errors (see QA addition)
(cherry picked from commit 96a34e5b57
)
2023-07-26 13:16:32 -07:00
Seth Hillbrand
2652068933
When routing, check for board-level clearances
...
If the board-level clearance exceeds the max pad/track clearance, we end
up missing collisions in the router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15162
(cherry picked from commit 000998ccae
)
2023-07-24 15:19:59 -07:00
Jeff Young
bac1fb18f0
Add DRCEpsilon to net-tie-exclusion testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/14008
(cherry picked from commit d9a77e6a64
)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15231
2023-07-20 12:45:38 -07:00
Seth Hillbrand
e4a80d887a
Refill legacy zone fills on open
...
Previous check only looked for the existence of a new (as of v6) flag
that controlled which strategy we took. Previous versions did not write
this flag and so will not hit the check. This works around a missing
version bump from when the feature was introduced.
(cherry picked from commit 6a09cf3551
)
2023-07-19 14:52:28 -07:00
Alex Shvartzkop
45d496bd01
Altium PCB: fix orientation of polygons and non-Cu pads in footprints.
...
Fixed in master by bbd6c80507
2023-07-20 01:14:34 +05:00
Jeff Young
7c0a911e9f
Override FOOTPRINT::GetCenter() to ignore text.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15209
(cherry picked from commit c2e7827774
)
2023-07-16 20:06:23 +01:00
Jeff Young
62bf6a9d57
Save a bit of space in FP 3D preview by moving board thickness to dlg.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13896
(cherry picked from commit df63ca0189
)
2023-07-16 20:01:26 +01:00
Jeff Young
4ad6244d8d
Don't blindly cast to PCBNEW_SETTING: we may be in CVPCB....
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15153
(cherry picked from commit 5bf257cdf6
)
2023-07-16 19:45:13 +01:00
jean-pierre charras
f8210e4a2a
Pcbnew, undo_redo: Do not cast to BOARD_ITEM items that are only EDA_ITEM
...
A BOARD_ITEM is derived from EDA_ITEM, so the cast is not possible
From Master branch
Fixes #15177
https://gitlab.com/kicad/code/kicad/-/issues/15177
2023-07-13 11:09:59 +02:00
Seth Hillbrand
1ccaf45740
Record hole knockouts in zone filler earlier
...
Spokes are placed across an entire pad when filling, so the hole
knockouts need to knocked out prior to deflating
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15160
(cherry picked from commit 3030c80de7
)
2023-07-12 11:18:40 -07:00
jean-pierre charras
d268ccea5b
PCB_VIA::SetLayerSet( LSET aLayerSet ): fix bug: it must consider only copper layers.
...
Its purpose is to initialize the top and the bottom copper layers connected
by this via. So only copper layers in LSET must be analyzed.
From Master branch
2023-07-12 16:42:19 +02:00
jean-pierre charras
10efb6e55a
PCB_TEXT::TransformTextToPolySet() fix a typo that can creates a *lot* of
...
segments in polygon.
Fixes #15161
https://gitlab.com/kicad/code/kicad/-/issues/15161
2023-07-11 13:12:47 +02:00
Jeff Young
17f02b2ff0
Disable positioning tools when a move is in progress.
...
Also fixes a typo in EDIT_TOOL::doMoveSelection().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15090
(cherry picked from commit 7ed5963b4f
)
2023-07-09 22:01:06 +01:00
Jeff Young
6316b78a5e
Add SHORT_NET_NAME processing to footprint variable resolution.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15095
(cherry picked from commit def1a9f39c
)
2023-07-09 21:56:22 +01:00
Jeff Young
a43adf7d4f
Allow routing to a free pad (even if it has a hole).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15093
(cherry picked from commit 6da71e5d24
)
2023-07-09 21:55:21 +01:00
Jeff Young
16d24d4b43
Tailor inspector text properties for dimension objects.
...
(cherry picked from commit 50da4e483e
)
2023-07-09 21:54:52 +01:00
Jeff Young
60fe2ce30e
Save project to disk whenever we save the board to disk.
...
This prevents data loss in the event of a subsequent crash.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14991
(cherry picked from commit 3bdc66d3ed
)
2023-07-09 21:53:32 +01:00
Jeff Young
b294530716
Prefer MRU path to LastImportExportPath for importing footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15102
2023-07-09 21:39:18 +01:00
Jeff Young
b857374aa2
Don't consider a group to be on a copper layer.
...
Its members can be on copper layers, but the group itself isn't on any
layer.
Also fixes a bug where we were trying to clone TRIANGULATED_POLYGON::TRI
shapes as indexable sub-shapes. (The TRI only has indexes into its
parent, so cloning it will only result in segfaults down the line.)
Also fixes a bug where we weren't including copper items inside groups
when checking footprint net ties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15021
(cherry picked from commit 40abb013ec
)
2023-07-09 21:08:52 +01:00