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
Jeff Young
480ce08d39
Clear arcs before deflating area outline.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15007
(cherry picked from commit 4473ebb02d
)
2023-07-09 21:08:52 +01:00
Jeff Young
63f33a42e3
Don't trip over null strings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14989
(cherry picked from commit ecb2fcd559
)
2023-07-09 21:08:51 +01:00
Jeff Young
f6d1baa50a
Refine track dangling test.
...
Turns out Clean Up Tracks and Vias wants a different answer from DRC.
(cherry picked from commit fb40c202a1
)
2023-07-09 21:08:51 +01:00
Jeff Young
0df1ec8765
Track not dangling if entirely covered by pad.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14211
(cherry picked from commit 4e3730f653
)
2023-07-09 21:08:51 +01:00
Jeff Young
76f8b3df22
Treat undo as backspace and/or escape when drawing. Ignore redo.
...
Undo == backspace when drawing a polygon or chained lines. Otherwise
it's an escape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961
(cherry picked from commit ef6866757e
)
2023-07-09 21:08:51 +01:00
Alex Shvartzkop
bbf59a731d
EAGLE PCB import: fix footprint text alignment.
...
(cherry picked from commit a80ac8286d
)
2023-07-09 05:46:12 +05:00
Alex Shvartzkop
803bcbbea0
Altium PCB import: fix text positioning when not bottom-left aligned.
...
(cherry picked from commit 536744d37a
)
2023-07-09 05:46:12 +05:00
Seth Hillbrand
cadea90109
Check for zone-zone overlap
...
Instead of just checking for the zone outline, we adjust to check the
full fill area of the zones for intersection and overlaps
(cherry picked from commit 954b265839
)
2023-07-07 12:03:58 -07:00
Jeff Young
60696a895c
Add DRC testing for copper graphic to zone fill collisions.
2023-06-30 11:56:40 +01:00
Seth Hillbrand
3926173dfe
Fix zone fill issue with net ties
...
A mistake in the cherry-pick for a previous commit prevented footprint
graphics from being knocked out in the zone fill. This sets the default
to knockout, allowing the assertion from the polygon generation routine
to catch invalid codes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15069
2023-06-27 12:35:42 -07:00
Tomasz Wlostowski
2f35d97b27
router: when no collision search context is provided, assume differentNetsOnly is true
...
(cherry picked from commit a0a68d198c
)
2023-06-23 07:55:50 -04:00
Tomasz Wlostowski
152dc56df4
router: provisional fix for 14926
...
(cherry picked from commit bd5954242e
)
2023-06-22 12:54:22 -04:00
jean-pierre charras
f6f99e45b9
Pcbnew, graphic importer: convert arc with large radius to segment.
...
Arcs having a too large radius cannot be safely handled.
The criteria (not perfect) is radius < INT_MAX/2 to use arcs
Fixes #14210
https://gitlab.com/kicad/code/kicad/-/issues/14210
2023-06-19 10:46:30 +02:00
Seth Hillbrand
6fc393c7db
Upgrade file locking
...
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed. Also includes the ability to override the lock, with
information about the original owner
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734
(cherry picked from commit 122be418bb
)
2023-06-18 01:06:40 +02:00
Seth Hillbrand
361fdcce1b
Maintain file permissions when renaming
...
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files. This updates the
permissions to match the existing values where possible
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574
(cherry picked from commit 48ecd742eb
)
2023-06-18 01:06:14 +02:00
Jeff Young
12cf696097
Tab-order fix provided by aris-kimi.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9406
2023-06-17 18:34:52 +01:00
Jeff Young
61dfe4ef07
Don't leave selection lying around when swapping out footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14971
(cherry picked from commit da558f57d4
)
2023-06-17 17:30:24 +01:00
Jeff Young
d3099ecf75
Don't create 22.5-degree gateways if we're not cardinal or diagonal.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14984
2023-06-17 16:05:07 +01:00
Jeff Young
c183e3f342
Cleanup.
2023-06-17 16:04:56 +01:00
Alex Shvartzkop
a5ded3341a
Adapt panels to PAGED_DIALOG sizing algorithm.
...
Also some cosmetic fixes (GTK).
(cherry picked from commit d3be62f644
)
2023-06-17 15:19:26 +03:00
Alex Shvartzkop
c61931996a
PAGED_DIALOG: allow setting initial size in ctor.
...
(cherry picked from commit f5da58e17d
)
2023-06-17 15:19:26 +03:00
Jeff Young
c0445ed857
Reset session drawing props after Board Setup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14932
(cherry picked from commit 9ed2458f00
)
2023-06-17 13:04:48 +01:00
Wayne Stambaugh
4e79d1ecdd
Command line PCB gerber export fix and improvement.
...
The --board-plot-params argument was never parsed so it was always ignored.
[ADDED] A '--no-protel-ext' option to allow plotting gerbers with the KiCad
file extension (gbr) instead of the Protel gerber file extensions.
2023-06-16 07:14:37 -04:00
jean-pierre charras
4306af3ef3
Plot Solder mask layer: do not add items on edge_cut, but not on mask layer
...
it happened only when creating a solder mask plot with a minimum thickness.
This was a legacy option, incorrect now.
Fixes #14960
https://gitlab.com/kicad/code/kicad/-/issues/14960
2023-06-16 10:01:29 +02:00
jean-pierre charras
bdc9807dee
Pcbnew: fix crash when selecting a footprint due to a not initialized pointer
2023-06-13 11:37:12 +02:00
Jeff Young
b0bcaa971e
BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14925
2023-06-12 10:08:09 +01:00
Jeff Young
1e013274c2
Fix broken build.
2023-06-11 22:35:54 +01:00
Jeff Young
39c7024f12
Make sure infobar gets created earlier.
...
(restoreLastFootprint() might want it.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14922
(cherry picked from commit 3159391e28
)
2023-06-11 22:32:05 +01:00
Jeff Young
5c1a089981
Re-create missing exclusion markers if DRC was cancelled.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14919
(cherry picked from commit 93789e75b9
)
2023-06-11 22:31:13 +01:00
Jeff Young
cfb59094fe
Make sure infobar gets created earlier.
...
restoreLastFootprint() might want it.
(cherry picked from commit 4fc6047f91
)
2023-06-11 22:30:43 +01:00
Jeff Young
7d30a2bc54
Make FOOTPRINT_PREVIEW_PANEL a FPHOLDER.
...
Also makes sure it get its user_units set up.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14913
(cherry picked from commit d18b0c62f6
)
2023-06-11 22:30:16 +01:00