Alex Shvartzkop
f9253485da
Fabmaster (CADENCE ASCII) import: fix position and orientation of footprint graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17239
(cherry picked from commit cb4ace5561
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
7dc554ec34
EasyEDA Std: fix importing footprints from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17264
(cherry picked from commit 30573beb48
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
4ac848f18a
EasyEDA Std PCB: fix crash when Name/Prefix type text is not in a footprint.
...
(cherry picked from commit 951c550c1e
)
2024-03-15 01:17:49 +03:00
Alex Shvartzkop
e196f71d58
Support Altium Schematic ASCII import
...
(cherry picked from commit defcb49ac8
)
2024-03-15 01:17:49 +03:00
Jon Evans
b9d3b571bc
Allow specifying a minimum for a via_count constraint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17234
(cherry picked from commit 3a3ceb8ffc
)
2024-03-14 21:01:30 +00:00
Jeff Young
4dca966c5d
Don't test non-overlapping non-through-hole vias.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17426
(cherry picked from commit a091767551
)
2024-03-14 18:07:28 +00:00
Jeff Young
36fc9191b9
Remove netclass/custom rule handling from Track & Via Properties.
...
(These should be done in Edit > Edit Track & Via Properties.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17216
(cherry picked from commit 4b6a1f4dbd
)
2024-03-14 18:06:44 +00:00
Jeff Young
4583522ea2
Make Edit Track & Via Sizes "specified sizes" dropdowns clearer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17216
(cherry picked from commit 1844bf1708
)
2024-03-14 18:06:41 +00:00
Jeff Young
f0e2adc3df
Don't allow selection of footprint text in board editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17271
(cherry picked from commit 25e181db5c
)
2024-03-14 18:06:11 +00:00
Jeff Young
e893ed4590
Pass symbol's netlist to footprint preview widget.
...
This allows us to show the pin functions on the corresponding
pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17349
(cherry picked from commit 72ba31ba27
)
2024-03-14 18:04:52 +00:00
Jeff Young
c0ad519e53
Run Edge.Cuts & Margin clearance tests on zone layer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17292
(cherry picked from commit d1d9636598
)
2024-03-14 18:04:06 +00:00
jean-pierre charras
c0fd138706
Pcbnew, pdf plotter: fixes and enhancements.
...
* To select a footprint info, Use the bbox with not text as selectable area
* Fix also incorrect position of footprint bbox when plotting with offset
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17355
2024-03-10 13:09:41 +01:00
Seth Hillbrand
51d335c0e8
Temporary fix to disable zone-zone clearance display
...
When selecting two objects, we display the measured clearance between
them. This can be problematic with large zones as they have thousands
of triangles.
This is a temporary fix for 8.0.1 to disable the check until we have a
performant version
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
(cherry picked from commit 686a62cbe6
)
2024-03-08 10:32:37 -08:00
Jeff Young
6ced4f72d0
Further improvements to cache locking.
...
In particular, don't hold cache lock while doing computations.
2024-03-07 13:02:16 +00:00
Armin Schoisswohl
0f8dac81cb
add include <mutex> to fix compilation under linux
2024-03-07 12:13:42 +00:00
Armin Schoisswohl
1f1b97212b
change m_CachesMutex to shared_mutex and do shared locking for read access in zone BBox calculations
2024-03-07 12:13:42 +00:00
Armin Schoisswohl
aff3064187
fix deadlock in DRC "Checking keeopouts & disallow constraints"
2024-03-07 12:13:42 +00:00
Armin Schoisswohl
d1867bd728
protect cache lookups in pcbnew/zone by locking the mutex before calling find, fix #17237
2024-03-07 12:13:42 +00:00
Jeff Young
b57184efe0
Apply anti-walk algorithm only to textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16481
(cherry picked from commit 20efeef5ae
)
2024-03-06 13:53:09 +00:00
jean-pierre charras
e769fdfab0
Pcbnew: do not select a PCB_REFERENCE_IMAGE if the LAYER_DRAW_BITMAPS is not visible.
...
LAYER_DRAW_BITMAPS layer controls transparency and visibility of images on the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16283
2024-03-06 13:08:07 +01:00
Alex Shvartzkop
2ad3ccc4d8
Use 64-bit type to represent microseconds.
...
int and long are 32-bit on Windows, causing overflows.
(cherry picked from commit 85b1978408
)
2024-03-03 21:47:23 +03:00
jean-pierre charras
e765de6b3d
PCB_PAINTER: do not draw PCB_SHAPEs on netname layer in FP editor.
...
Fixes #17250
https://gitlab.com/kicad/code/kicad/-/issues/17250
2024-03-03 17:02:19 +01:00
jean-pierre charras
b728eae651
plot_board_layers.cpp: when plotting pads, Save/restore corner radius ratio
...
instead of corner radius.
The corner radius comes from corner radius ratio, so saving/restoring the corner
radius can create rounding errors when trying to recalculate the ratio from the radius.
2024-03-03 11:58:11 +01:00
Jon Evans
13fabb0564
Correctly handle footprint graphic knockouts for no-net case
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17223
(cherry picked from commit ed18a9bcc2
)
2024-03-02 20:39:56 +00:00
Roberto Fernandez Bautista
63ffca0173
Step exporter: handle circles correctly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17137
2024-03-02 19:11:14 +01:00
Roberto Fernandez Bautista
ff4b59afeb
kicad_cli fp ugrade: create directory with extension
2024-03-02 18:22:18 +01:00
Roberto Fernandez Bautista
01cc91850c
Sanitise filename before saving footprint library
2024-03-02 18:22:18 +01:00
Roberto Fernandez Bautista
091f9c82e1
kicad_cli: Allow upgrade of legacy and non-kicad footprint libraries
2024-03-02 18:22:18 +01:00
jean-pierre charras
25b033df2a
FOOTPRINT_CHOOSER_FRAME: rework on bottom panel to allow a long string in
...
the check box for filter by FP names to be displayed without overlapping other
widgets.
2024-03-02 12:51:16 +01:00
Jeff Young
a0905ac87d
Check for NETINFO_ITEM before dereferencing it.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17230
(cherry picked from commit bd1d449cd3
)
2024-03-02 11:37:58 +00:00
Seth Hillbrand
ecb0c9b5d4
Limit where the intersection of two lines can be
...
This avoids generating lines where we are unable to select them because
they get too close to the border
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16959
(cherry picked from commit 0129191ec0
)
2024-03-01 15:57:45 -08:00
Jeff Young
53d8e2c8c3
Separate "use board stackup colors" into separate checkbox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17085
(cherry picked from commit 8dddd9cc2c
)
2024-03-01 23:45:37 +00:00
Seth Hillbrand
22f66fdf2f
Don't wait for unused events
...
We only need the UI update and mouse/keyboard while updating our DRC
window. Waiting for other events gets into a race condition with the
schematic editor that can cause a hang
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17003
(cherry picked from commit 14667e2033
)
2024-03-01 15:22:48 -08:00
Seth Hillbrand
1e03266dfe
Do not re-number aperture pads
...
Aperture pads do not have numbers, so reserving space for them will
cause the actual numbered pads to become out of order
(cherry picked from commit d3334ed9f0
)
2024-03-01 13:04:47 -08:00
jean-pierre charras
09f32d8c86
FOOTPRINT_CHOOSER_FRAME: Fix a UI problem specific to Linux
...
On the bottom on the frame, some widgets were not correctly placed.
Fixes #17217
https://gitlab.com/kicad/code/kicad/-/issues/17217
2024-03-01 20:08:49 +01:00
Jeff Young
dafd62ddba
Unflip when going to viewport which isn't flipped.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13773
(cherry picked from commit c23550dc0b
)
2024-02-29 17:38:32 +00:00
Alex Shvartzkop
0dab086f0c
EasyEDA Std import: support multiline text on PCB.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17171
2024-02-29 03:54:01 +03:00
Seth Hillbrand
7d1adff071
Store group id rather than group
...
We only need the group storage id for lookup. Storing the KIID instead
of a copy of the group avoids unneeded overhead
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17175
2024-02-28 13:27:08 -08:00
Seth Hillbrand
38df918993
Correct usage signature for PNS_NODE::Add()
...
When moving a unique_ptr, you are actually passing the object, not a
reference to the object. So we either std::move with the bare
unique_ptr parameter or we pass a reference. But we should never pass
an rvalue reference for this or we'll make a copy without holding the
tracking (because it was moved)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16839
(cherry picked from commit b2a25cb59e
)
2024-02-28 10:11:20 -08:00
Seth Hillbrand
f45df48498
Fix memory leak in net inspector dialog
...
(cherry picked from commit a8880fb63e
)
2024-02-28 10:11:13 -08:00
Jeff Young
04440d8506
Check env vars when testing for unresolved variables.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17174
2024-02-28 17:16:20 +00:00
jean-pierre charras
57b9b1b6b6
Add option to Footprint Chooser to switch between the selected fp or its 3D view
...
Fixes #16173
https://gitlab.com/kicad/code/kicad/-/issues/16173
2024-02-28 14:42:17 +01:00
Jon Evans
e383c67e7f
Avoid nullptr dereference when loading group info
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17154
(cherry picked from commit 9e7b4b7f89
)
2024-02-28 00:43:49 +00:00
Jon Evans
0b5c0ef639
Expose grid origin action in more places
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17007
(cherry picked from commit 0df5cf7f75
)
2024-02-27 23:52:17 +00:00
Jeff Young
aba24ec781
Eagle text anchor points and alignment aren't linked.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 14:59:18 +00:00
Jeff Young
952c154422
Fix wrong rotation centre.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 12:46:22 +00:00
Jeff Young
81c22542e4
Fix copy pasta.
...
(cherry picked from commit 43c45f3ee8
)
2024-02-26 12:39:35 +00:00
Jeff Young
2b09653abb
Don't import invalid polygons.
...
If we *do* get a 2-point polygon in SVG, import it as a segment.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17091
(cherry picked from commit dba2fdb6d3
)
2024-02-25 12:29:02 +00:00
Jeff Young
45910bc7c1
Don't double-add pads to commit.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17087
2024-02-24 23:25:23 +00:00
Stefan
5713384f35
adding No Layers to apprearance manger presets, fix #15625
...
(cherry picked from commit ed6f900b70
)
b650e80a adding No Layers to apprearance manger presets, fix #15625
6f8de6e3 fix codestyle
2024-02-24 15:44:53 +00:00
Alex Shvartzkop
97ff48b426
Add bottom panel to have correct background in fp/sym chooser frames.
...
See https://gitlab.com/kicad/code/kicad/-/issues/15810
2024-02-24 15:17:28 +00:00
Alex Shvartzkop
badc4e7411
Hide unused message panel in footprint/symbol chooser frames.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15810
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15889
2024-02-24 15:17:28 +00:00
Alex Shvartzkop
0184dfb625
Do not call MakeShapes in AddCopperPolygonShapes when polyset is empty.
...
Ease of debugging.
2024-02-23 22:14:03 +03:00
Alex Shvartzkop
711c6141a8
Highlight nets and show length tuning status when adding tuning patterns.
...
Also fixes length preview when hovering over joints.
Also prevents asserts when hovering over arcs.
Also prevents adding a tuning pattern on other tuning pattern.
2024-02-23 17:22:20 +00:00
jean-pierre charras
be51c2ba73
teardrops: calculate better points on track for track arc.
...
Previously, a reference point to calculate teardrop length was calculated
using a track segment. It can create significant position error with track arcs.
Now a arc is used to find this reference point.
From master branch
2024-02-23 17:52:08 +01:00
Jeff Young
78b38cc75f
Fix merge conflict.
2024-02-23 16:21:28 +00:00
Jeff Young
6aaf2411f6
Apply Pad Properties teardrop terminology to Via Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17050
2024-02-23 15:52:47 +00:00
Jeff Young
c8b06d54cb
Update Edit Teardrops dialog to match other teardrop terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17050
2024-02-22 23:37:48 +00:00
Jeff Young
01d668c09d
Rule areas should be allowed on user layers.
...
Non-board tech layers too. We don't know how people will
write their custom DRC rules.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17034
2024-02-22 23:37:26 +00:00
Jeff Young
f4a3613561
Make sure nets get reassigned when name is changed.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17025
2024-02-22 23:37:23 +00:00
Jeff Young
12922d9434
Report fp library loading errors with libName & fpName.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16975
2024-02-22 23:37:20 +00:00
Jeff Young
f4a085575a
Show friendly name in toolbar button tooltips.
...
(Don't require the same text to be put into the tooltip.
It's error-prone and also disallows us from having a separate
tooltip for toolbar buttons.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17009
2024-02-22 23:37:13 +00:00
Jeff Young
8a3cbce8f8
Comments.
2024-02-22 23:37:05 +00:00
Jeff Young
a9c4a17c38
Repair copy/paste of footprint fields.
...
Some of the code got lost in the move to PCB_FIELDs.
2024-02-22 23:37:02 +00:00
Jeff Young
1a7152d3eb
Warp after context menu only if actively drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11080
2024-02-22 23:36:59 +00:00
Jeff Young
08da9a4494
Don't modify reference point if already moving.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16524
2024-02-22 23:36:56 +00:00
Jeff Young
d36f189192
Add help text for DRC assertion clauses.
2024-02-22 23:36:47 +00:00
Jeff Young
152c458b9c
Help documentation for "assertion" constraints.
2024-02-22 23:36:44 +00:00
Jeff Young
7ae14f9630
Update syntax help for memberOfFootprint.
2024-02-22 23:36:41 +00:00
Jeff Young
a610542a19
Various string issues held over from 8.0 string freeze.
2024-02-22 23:36:37 +00:00
Jeff Young
2ab492474e
Improve alignment tooltips.
2024-02-22 23:36:34 +00:00
Jeff Young
9d40374baf
Don't capture references to local variables for CallAfter.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16934
2024-02-22 23:36:27 +00:00
Jeff Young
0ead8a14a1
Handle holes in shapes when creating bounding hulls.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16347
2024-02-22 23:36:24 +00:00
Alex Shvartzkop
6ceea747b2
Swap to capitalized strings (translated).
2024-02-22 11:54:52 +03:00
Alex Shvartzkop
dd6213051d
Pick DP coupled segment closest to start item and baseline.
2024-02-20 22:06:00 +03:00
jean-pierre charras
01327b24b4
PANEL_SETUP_LAYERS: when removing a layer, do not delete items owned by footprints.
...
Items owned by footprints are allowed to be on non existing layers on board.
Moreover, items owned by footprint cannot be deleted by the board editor.
Fixes #17038
https://gitlab.com/kicad/code/kicad/-/issues/17038
2024-02-20 18:38:48 +01:00
Jeff Young
012b32e989
Don't leave dangling net pointers on PCB_SHAPEs.
...
Also makes it harder for this type of error to occur in
future.
2024-02-20 17:36:54 +00:00
Alex Shvartzkop
2e97d5d7cc
Add missing check in tuning pattern outline.
2024-02-20 20:32:07 +03:00
Alex Shvartzkop
cbfd757d28
Reduce amplitude snap value of tuning patterns.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
10e6ca8740
Show tuning pattern baselines when not editing them.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
59a0635b09
Disable local ratsnest when moving generators (tuning patterns).
...
They're not moving like normal objects, leaving ghost ratsnest.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
ed712faf41
Disallow duplicating tuning patterns alone.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
5e5effaf3a
Ensure minimum outline size in tuning patterns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16847
2024-02-20 03:20:08 +00:00
Tomasz Wlostowski
82312a0fae
router: SplitAdjacentSegments() should check if the end segment we are about to split is in the same net that the head segment
...
Otherwise, the router might add bogus segments to the node. The root of the problem is somewhere in the logic that delivers aEndItem to ROUTER::Move() though - as the end item (in line placement mode at least) should always be an item within the same net as the head and not belonging to the current head...
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
8d76e4e171
Allow DP meanders to (mostly) fit on adjacent segments.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
943c5fea59
Fix length calculations in DP meander placer.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
29188bdc53
Fix some edge-cases in DP tuning pattern outline.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
4227b1add9
Improve tuning pattern robustness.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
1a65c0091f
Tweak default meander settings.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
35e73d7dee
Restore green router collision color.
2024-02-20 03:20:08 +00:00
Alex Shvartzkop
e9a881ed01
Reset placer when routing start fails to prevent crash on next usage.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17008
2024-02-20 03:20:08 +00:00
Seth Hillbrand
89592d08bf
Revise teardrop graphics sizes
...
Sizes were too large on many systems. Revised panel uses 615px on Linux
instead of 742. Adjusted line sizes to remain minimum visible width at
new height.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17018
2024-02-19 12:48:36 -08:00
Mike Williams
60fe87a73c
PCB: always parse ki_fp_filters as a property, not a field
2024-02-19 09:41:27 -05:00
Ian McInerney
d3befd8bb8
Remove dummy items from group before they are deleted
...
Board items should not be in a group when they are deleted, but these
are dummy ones, so their group membership doesn't matter.
Fixes KICAD-7P0
Fixes KICAD-6VX
Fixes KICAD-7KK
Fixes KICAD-6VH
2024-02-16 12:20:00 +00:00
Marek Roszko
b2c6e2de1f
Fix file not found msg contents for step resolving
2024-02-15 23:10:57 -05:00
Marek Roszko
762c159b96
Fix KIPRJMOD by setting the project as active by modifying the board loading helper
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16973
2024-02-15 23:06:41 -05:00
Seth Hillbrand
08bdf1abae
Avoid drawing netnames when not in board editor
...
Shouldn't be needed if we properly clear the netinfo but there's no
reason to keep netnames so better to avoid possible issues
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16981
2024-02-15 17:17:22 -08:00
Marek Roszko
c48fc7ebff
Fix crash due to PCB_SHAPEs not being returned by BOARD::AllConnectedItems
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16981
2024-02-15 19:58:21 -05:00
Jon Evans
4ec390838b
Re-enable non-KiCad board import when non-standalone
...
Partial revert of ec2cd99405
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16978
2024-02-15 12:14:32 -05:00
Jon Evans
7b0bb59b37
Remove hard-coded versioned env vars in most places
2024-02-15 15:31:08 +00:00