Seth Hillbrand
9be4bf0d14
Fix slow selection time when calculating clearance
...
The clearance between two zones could be rather slow. This was in part
to trying to do triangle-triangle collisions between zones when we only
need outline collision and in part to the shape_line_chain collision
routine. The shape_line_chain collisions don't need to recreate
segments on each iteration and should instead create them once and using
this to check all collisions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
(cherry picked from commit 3cc1617f5a
)
2024-04-01 17:55:29 -07:00
Seth Hillbrand
b1677d5f47
Clean and standardize cross-probing action
...
Between schematic and pcb editors, we want the following actions:
- Single click on ERC/DRC item should show the item in the ERC/DRC
window. But if the window is not visible, it should only update the
status bar
- Double click on ERC/DRC item should show and raid the ERC/DRC window
as well as select the line item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17383
(cherry picked from commit 0f57d76ecd
)
2024-04-01 17:55:29 -07:00
JamesJ
18990587b9
Only delete grouped / generated BOARD_ITEMS from the root item
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17527
This is required as during an undo / redo operation, rebuilding
the previous selection can result in a group / generator being
selected as well as all of their contained items. This prunes
the contained items to remove the possibility of a double-delete.
(cherry picked from commit 6c73f1feef28925bf26fcc3669cb6333aad5f1d3)
2024-03-30 14:20:58 +00:00
Marek Roszko
b9a6f47929
Fix DRC slowdown due to UI yields
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17434
(cherry picked from commit fd501b4bc8
)
2024-03-30 03:34:27 +00:00
Jeff Young
09985988e7
Fix footprint undo for new UUID caches.
...
The footprint's children get swapped by the parent's std::swap
call, so they need to get removed/added to their parent around
the swap.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17592
(cherry picked from commit 2c21ef1ed0
)
2024-03-29 17:48:12 +00:00
Jeff Young
ccd052cc99
Attempt to prevent KICAD-YP.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17560
(cherry picked from commit a53bc9e026
)
2024-03-29 17:46:04 +00:00
Jeff Young
4bea619855
Make sure users don't run into min text size.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17543
(cherry picked from commit fc572bfbc6
)
2024-03-29 17:45:13 +00:00
Jeff Young
1238c081c6
Expose groups to property manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17496
(cherry picked from commit 82c851a4a7
)
2024-03-29 17:44:14 +00:00
Seth Hillbrand
40f938dc75
Sort netnames in properties panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15590
(cherry picked from commit c3a5b92ed0
)
2024-03-28 13:06:18 -07:00
JamesJ
30dbafaf7c
Use bulk BOARD_LISTENER calls following undo or redo operations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17561
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17420
(cherry picked from commit f51e775f26
)
2024-03-24 19:39:25 +00:00
JamesJ
cc3e57b52f
Don't re-highlight nets on every bulk segment change in net inspector
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17068
2024-03-23 15:35:21 +00:00
wh201906
869f30e291
Add toggleHV45Mode item to the measure tool's context menu
...
The behavior of the measure tool is influenced by the
horizontal/vertical/45-degree mode, but the context menu of the measure
tool lacks an option to toggle this mode. In contrast, the drawing
tools are also affected by this mode, and their context menu has the
item to toggle this mode.
(cherry picked from commit 806daecf85
)
2024-03-23 13:33:32 +00:00
Jeff Young
4c78652690
Ignore graphic shapes that implement netties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17223
(cherry picked from commit 88c1fa3e26
)
2024-03-23 13:19:37 +00:00
jean-pierre charras
afcda88ee3
GERBER_JOBFILE_WRITER: use UTF8 encoding according to current specif.
...
Since 2020, non ASCII7 chars are encoded using UTF8 encoding.
A old but incorrect encoding was previously used.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17534
2024-03-22 10:09:47 +01:00
jean-pierre charras
dfe6cb7afa
Do not run DRAWING_TOOL::PlaceTuningPattern() inside the footprint editor
...
The footprint editor cannot run the router.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17522
2024-03-21 15:22:13 +01:00
jean-pierre charras
8bdc62c111
Avoid using a nullptr.
2024-03-20 18:35:26 +01:00
Alex Shvartzkop
350687f355
STEP export: add location info to edge add failures.
...
(cherry picked from commit 800ff9ffb1
)
2024-03-19 23:11:20 +03:00
Alex Shvartzkop
3a5a911012
STEP export: handle small segments connecting two arcs better.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17499
(cherry picked from commit 75037dd1d1
)
2024-03-19 22:55:17 +03:00
jean-pierre charras
3e4ca3a1c7
Step exporter: workaround to fix issue for boards with main round outline
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17446
2024-03-19 16:13:13 +01:00
Mark Roszko
663918107e
Add missing text var override to cli gerbers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17283
(cherry picked from commit d904535a15
)
2024-03-19 14:35:30 +00:00
Jeff Young
81f55dfc9c
Fix layer swapping for multi-layer items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
(cherry picked from commit 44c14b1935
)
2024-03-17 12:40:58 +00:00
Jeff Young
8275176792
Report location of FUTURE_FORMAT_ERRORs when reading footprints.
2024-03-15 22:47:00 +00:00
Jeff Young
8589bd3773
Correctly handle locked token for PCB_TEXTBOX and PCB_TABLECELL.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17439
(cherry picked from commit d17151ac1b
)
2024-03-15 22:24:53 +00:00
Yon Uriarte
6ebccdecc6
Responsive: Avoid excessive repaints when toggling a netclass' rastnest visibility.
...
Toggling netclasses visibility toggles the member nets' visibility one by one. Defer redrawing until all toggling is done.
Fixes https://gitlab.com/kicad/code/kicad/issues/17115
(cherry picked from commit 4e8e14ae3a
)
2024-03-15 09:45:09 -04:00
Yon Uriarte
8b281b4d1c
Performance: Cache BOARD::GetMaxClearanceValue
...
(cherry picked from commit fe1c73ed7c
)
1b35a512 Performance
2024-03-15 13:34:19 +00:00
Wayne Stambaugh
8ce12fb1af
Fix Eagle footprint library QA test failure.
...
Unfortunately the KiCad library I/O does not unescape file names so do not
escape them in the Eagle board plugin.
(cherry picked from commit cf97432833
)
2024-03-15 07:59:20 -04:00
Wayne Stambaugh
9e4efe5d72
Fix Eagle board import when footprint library versions exist.
...
This was a crude hack that appends the library URN ordinal to the name of
the footprint so that it can be correctly looked up by the "element" node.
The Eagle XML DTD does not make it clear how the URN "ASSET_ID" and
"VERSION" are used to look up the appropriate "ASSET_TYPE" so this is a
best guess and seems to work correctly.
The inferred edge clearance dialog had to be disabled when importing third
party boards because on GTK (and possibly other platforms) the dialog would
completely hang KiCad preventing the imported board and possible schematic
from being saved.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12897
(cherry picked from commit 34ec57958d
)
2024-03-15 07:59:20 -04:00
Alex Shvartzkop
89ed09744b
Fix a crash in PNS zone sync when there's more outlines than triangulated polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17351
(cherry picked from commit b56ee20e22
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
6df17bba99
Fix rendering/plotting of arcs with tiny angle and huge radius.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17343
(cherry picked from commit 4d66a8ebdb
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
ed89827908
Fix zone cross-probing from DRC dialog.
...
(cherry picked from commit aa68a3817a
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
b61f6c35c7
Fabmaster (CADENCE ASCII): import dimensions graphics.
...
See https://gitlab.com/kicad/code/kicad/-/issues/17239
(cherry picked from commit a4da829ccc
)
2024-03-15 01:17:50 +03:00
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