qu1ck
441b2686d3
IPC_API: fix crash in PLUGIN_AVAILABILITY_CHANGED event handler
2024-04-05 18:11:52 -07:00
Jon Evans
c1e7668d80
Fix SWIG wrapper for AddPrimitive
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17676
2024-04-04 23:09:05 -04:00
Jon Evans
aff2d5c0d3
Factor out SHAPE_LINE_CHAIN utilities
2024-04-04 18:55:58 -04:00
JamesJ
a321a86f38
Update net inspector after connectivity update when loading board
...
Fixes issue where if the net inspector was open when a board was
loaded, the track data would not be updated until a board edit
action triggered an update.
2024-04-04 22:29:47 +00:00
JamesJ
951065390e
Add composite update callback to BOARD_LISTENER
...
Required for net inspector otherwise composite operations (such
as undo / redo, and length tuning) can result in multiple add /
remove events firing which results in inconsistent length state.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17527
(for 9.0)
2024-04-04 22:29:47 +00:00
Jeff Young
bf2b3b0b0f
Deconflict some LIB_TREE_ITEM APIs so they can remain non-const.
...
(The non-const is required by FOOTPRINT_INFO, which must load
footrpints to get some of the data.)
2024-04-04 13:18:55 +01:00
jean-pierre charras
59142a10d7
DIALOG_CREATE_ARRAY: better messages and better comments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17642
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17656
2024-04-04 09:54:47 +02:00
jean-pierre charras
3f24e0eb09
minor compil warning (unused var)
2024-04-04 09:52:28 +02:00
Mike Williams
2acf928723
PCB: fix net inspector assert on column show/hide menu
...
Also handle 0-width columns coming in from settings. GTK seems to have
an issue where these columns are impossible to resize even if they are
made visible.
2024-04-03 13:15:47 -04:00
Jon Evans
493ca7a0f5
Fix unhandled case warnings
2024-04-02 20:56:48 -04:00
Jon Evans
1dbe78c68b
Add QA tests and expand serialization for API
2024-04-02 19:51:18 -04:00
Jon Evans
6bd02cae6d
Refactor; add user control over API server
2024-04-02 19:51:18 -04:00
Jon Evans
a3b6ab48a4
Add a new plugin system for the new API
2024-04-02 19:51:16 -04:00
Jon Evans
f613cd1cb4
ADDED: A new IPC API based on protobuf and nng
...
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00
Jon Evans
e5d4f58d65
Fix parsing of legacy text hide token
...
(cherry picked from commit 53c2543474
)
2024-04-02 22:26:57 +00:00
Seth Hillbrand
2123e2ca9c
Add some corrections to IPC2581 export syntax
...
Outline fonts need lineDesc
Padstack def need the location for the pad relative to the padstack
2024-04-01 22:57:25 -07:00
Seth Hillbrand
d82e8ee41a
Map nets in pasted data
...
Add missing nets to the existing board and use any existing nets of the
same name.
Adds option to clear all nets in Paste Special
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17626
2024-04-01 16:56:44 -07:00
Ian McInerney
90ace0fcaf
Ensure model file output stream is valid before writing to it
...
Fixes KICAD-74V
2024-04-01 22:00:05 +01:00
Ian McInerney
87a8235831
Remove group from dummy track before deletion
...
The dummy track in the merge colinear segments is used to overwrite the
original segment with the changes at the end, so the group must be
removed before leaving the function, and can't be removed at creation.
Fixes KICAD-74M
2024-04-01 21:59:55 +01:00
Roberto Fernandez Bautista
6078bc52eb
PNS: Fix a few memory leaks
2024-03-31 18:21:02 +02:00
Jeff Young
43edc2eaf8
Don't start immediate mode when there's no event position.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17332
2024-03-31 12:59:52 +01:00
Thomas Pointhuber
7d1881b58a
altium: use std::unique_ptr instead of raw pointers where feasible
2024-03-31 00:03:03 +01:00
Seth Hillbrand
c841d0df6d
Handle small holes in DRC Connection width test
...
If there is a small hole (smaller than the conn width), we can loop
around in a circle checking all points and not move past the mimimum
distance.
To avoid this, if we detect a loop, we exit the substantial checker.
This should return with true because a large hole will return true and
we are only checking to see if there is a minimum amount of copper
between two open areas
2024-03-30 07:58:34 -07:00
JamesJ
79a3dd71e4
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.
2024-03-30 14:20:06 +00:00
Marek Roszko
fd501b4bc8
Fix DRC slowdown due to UI yields
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17434
2024-03-29 23:34:01 -04:00
Seth Hillbrand
37a3f52d81
Remove unused variable
2024-03-29 16:48:08 -07:00
Seth Hillbrand
e4756c811e
Utilize hash_combine to avoid hash collision
...
Most of our pointers will share the top 32 or more bits of their pointer
addresses, making cache collisions highly likely. This uses a hash
combiner to mix the bits more effectively
2024-03-29 15:39:57 -07:00
Seth Hillbrand
10c1072479
Remove duplicated clearanceEpsilon
...
We already get clearance epsilon in the clearance resolver. Don't
subtract it twice or we end up getting DRC errors
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16879
2024-03-29 15:39:57 -07:00
Seth Hillbrand
5e850911c5
When dragging a via, we need to get all obstacles
...
The clearance epsilon should not be used to limit which force elements
we return in the query. Otherwise, we can drag elements into a
DRC-violating space
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16293
2024-03-29 15:39:57 -07:00
Jeff Young
491adc6c6c
Formatting.
2024-03-29 16:04:32 +00:00
Jeff Young
2c21ef1ed0
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
2024-03-29 16:04:32 +00:00
Seth Hillbrand
c3a5b92ed0
Sort netnames in properties panel
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15590
2024-03-28 13:03:16 -07:00
Jeff Young
57b224d3f0
Cut/copy/paste for PCB tables.
2024-03-28 14:31:31 +00:00
Jeff Young
f9c5e48c57
Add missing PCB_TABLE_T, and a comment.
2024-03-28 14:31:31 +00:00
Jon Evans
e347300593
Work around SWIG problems
2024-03-27 18:42:46 -04:00
Mike Williams
48b3b4697a
PCB: update footprint field when changing footprints
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17598
2024-03-27 15:20:12 -04:00
Jon Evans
1acb1afa98
Fix build errors; warnings
...
(somehow, the previous version compiles on my machine...)
2024-03-26 19:38:28 -04:00
Jon Evans
5aa8af1abf
Add a cache for looking up board items by ID
2024-03-26 18:36:23 -04:00
Jon Evans
7b6afd290a
Remove non-const access to board-owned items
...
(with a few things const-casted for now)
2024-03-26 18:36:23 -04:00
JamesJ
54919e6854
Performance update for pcbnew net inspector
...
Forces full rebuild of nets list for bulk updates over a certain
size. This is more performant than iterating over all items in
a bulk update.
2024-03-24 20:29:15 +00:00
JamesJ
f51e775f26
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
2024-03-24 19:25:26 +00:00
Jeff Young
50567764b5
Allow no-net teardrops on no-net pads with no-net tracks.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17566
2024-03-24 19:22:25 +00:00
Jeff Young
a53bc9e026
Attempt to prevent KICAD-YP.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17560
2024-03-24 18:12:58 +00:00
Jeff Young
5d37a00759
Table plotting for PCBNew.
...
Also fixes some bugs with property exposure that (along with
other things) allowed you to put table cells on a different
layer than their parent table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17438
2024-03-24 16:49:33 +00:00
JamesJ
67d6e6afdf
Only update net inspector when panel is shown.
...
Pcbnew can hang for a long time when undoing operations involving
large numbers of board items. This provides an interim workaround
(and replicated the behaviour of the search panel) by only
computing track statistics updates incrementally if the inspector
is displayed.
Partially fixes https://gitlab.com/kicad/code/kicad/-/issues/17561
(if net inspector is not shown)
2024-03-24 12:11:36 +00:00
Jeff Young
fc572bfbc6
Make sure users don't run into min text size.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17543
2024-03-23 15:50:45 +00:00
Jon Evans
af18e06ea4
Remove the "insert chevron" function of the via placer
...
This behavior is generally undesirable and was only needed
because of past limitations. Now we only split a track
when the user places a via directly on top of it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16456
2024-03-23 14:28:21 +00:00
wh201906
806daecf85
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.
2024-03-23 21:24:13 +08:00
Jeff Young
88c1fa3e26
Ignore graphic shapes that implement netties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17223
2024-03-23 13:18:46 +00:00
Marek Roszko
ab759d21f2
Fix more build warnings
2024-03-23 08:53:11 -04:00
Jeff Young
7218d501d4
Better locality-of-reference for footprint chooser filters.
2024-03-23 12:48:52 +00:00
Marek Roszko
490dbfdf83
Fix build warnings
2024-03-23 08:34:59 -04:00
aris-kimi
d7abed2d60
Footprint Chooser dialog: Allow toggle buttons to work simultaneously
2024-03-23 09:48:15 +00:00
Seth Hillbrand
00d108498f
Avoid crashing on missing tracks in CADSTAR
...
We can't assume that the ignored connection exists when trying to set
the junction size. We use int_max for the default instead of 0 so that
later, we don't try to create a minor track with 0 width in loadNets()
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17523
2024-03-22 10:55:48 -07:00
jean-pierre charras
cb8ed07858
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 09:50:32 +01:00
JamesJ
de85b2217b
Re-centralise handling of sort column in net inspector list.
...
- Includes GTK crash fix from a5ef4f1b
- Additionally removes an unneccesary re-sort when rebuilding columns
- Correctly saves column state when using pcbnew standalone
2024-03-21 21:07:08 +00:00
jean-pierre charras
4f4ca9f383
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:19:48 +01:00
Marek Roszko
83ef5fd7d6
Move PGM_BASE to kicommon
2024-03-20 23:29:42 -04:00
Marek Roszko
e32b26ebeb
Move JSON_SETTINGS and PARAMS to kicommon
2024-03-20 23:29:42 -04:00
Mark Roszko
9947cc0359
Fix another build breakage
2024-03-21 03:23:29 +00:00
Jon Evans
a5ef4f1bef
Net inspector: fix crash when switching boards on GTK
...
Can't invalidate columns while they are the sorting key
2024-03-20 23:04:28 -04:00
Jon Evans
f00f47df13
wxWidgets 3.3 compatibility: explicit wxString conversion
2024-03-20 22:02:41 -04:00
Jeff Young
d0df8df7c7
Use a lighter touch keeping internal data structures in sync.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493
2024-03-20 21:35:43 +00:00
Jeff Young
82c851a4a7
Expose groups to property manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17496
2024-03-20 20:19:21 +00:00
Jeff Young
859f553c91
Keep internal data consistent when changing pad type.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493
2024-03-20 18:35:56 +00:00
jean-pierre charras
90eed8b4b6
Avoid using a nullptr.
2024-03-20 18:34:18 +01:00
Alex Shvartzkop
800ff9ffb1
STEP export: add location info to edge add failures.
2024-03-19 23:10:37 +03:00
Alex Shvartzkop
75037dd1d1
STEP export: handle small segments connecting two arcs better.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17499
2024-03-19 22:53:30 +03:00
jean-pierre charras
63dd4aed93
Step exporter: workaround to fix issue for boards with main round outline
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17446
2024-03-19 11:19:37 +01:00
JamesJ
a763d613e5
Move Net Inspector dialog to a widget panel in pcbnew
...
Introduces some updates to the inspector, and a number of bug fixes:
- Correctly handles changes in board stackup
- Correctly handles unit change events
- Correctly handles language change events
- All layout / panel settings are stored to the project settings
- Retains ability to create net report
- Simple filter searches on net name and net class name (stored in settings)
- Allows hide / show of columns (stored in settings)
- Grouping by netclass (stored in settings)
- Optional filtering by net name (stored in settings)
- Optional filtering by net class (stored in settings)
- Custom grouping by net name match
2024-03-19 01:02:01 +00:00
Jeff Young
4ed2a0674a
Minor cleanup.
2024-03-18 22:21:01 +00:00
jean-pierre charras
3b47fd1503
FOOTPRINT_CHOOSER_FRAME: add option to show the 3D in a separate viewer.
...
If a separate viewer frame is selected, the footprint chooser always shows
the footprint and the 3D shape is shown in a 3D viewer frame if the 3D view
is enabled.
2024-03-18 08:42:43 +01:00
Mark Roszko
72d83cd5de
Revert "Move JSON_SETTINGS and PARAMS to kicommon"
...
This reverts commit 81855aaaa6
2024-03-18 00:08:46 +00:00
Marek Roszko
81855aaaa6
Move JSON_SETTINGS and PARAMS to kicommon
2024-03-17 18:11:49 -04:00
Jeff Young
37b19c4df7
Handle table layer in undo.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17437
2024-03-17 20:39:46 +00:00
Jeff Young
0598ca0f90
Keep BOARD_DESIGN_SETTINGS DRC marker exclusions up-to-date.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17429
2024-03-17 16:29:24 +00:00
Jeff Young
d317b8da74
Pull modifications to cherry pick forward from 6.0.
2024-03-17 12:42:45 +00:00
Jeff Young
44c14b1935
Fix layer swapping for multi-layer items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
2024-03-17 12:14:21 +00:00
Jeff Young
a4062ade3d
Report location of FUTURE_FORMAT_ERRORs when reading footprints.
2024-03-16 11:06:12 +00:00
Jeff Young
d17151ac1b
Correctly handle locked token for PCB_TEXTBOX and PCB_TABLECELL.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17439
2024-03-15 21:42:47 +00:00
Jan Wichmann
91b850d8df
pcbnew: The checkbox 'Center on footprint' was not disabled when the actionButton was changed.
2024-03-14 22:24:30 +00:00
Wayne Stambaugh
cf97432833
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.
2024-03-14 17:00:27 -04:00
Jeff Young
e30b6398b7
ADDED: optional PDF metadata from AUTHOR and SUBJECT variables.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17289
2024-03-14 17:40:04 +00:00
Wayne Stambaugh
34ec57958d
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
2024-03-14 09:45:05 -04:00
Wayne Stambaugh
eddf4883b6
Minor dialog layout improvements.
2024-03-13 11:45:33 -04:00
Jeff Young
a091767551
Don't test non-overlapping non-through-hole vias.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17426
2024-03-13 15:19:28 +00:00
Jeff Young
91d949f59e
Splitter for 3D model page of Footprint Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15606
2024-03-13 15:03:55 +00:00
Alex Shvartzkop
b56ee20e22
Fix a crash in PNS zone sync when there's more outlines than triangulated polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17351
2024-03-13 03:09:21 +03:00
Jon Evans
ece8521e68
Add some safety to layer swapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
2024-03-12 19:32:40 -04:00
Jeff Young
4b6a1f4dbd
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
2024-03-12 22:29:03 +00:00
Jeff Young
1844bf1708
Make Edit Track & Via Sizes "specified sizes" dropdowns clearer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17216
2024-03-12 22:27:10 +00:00
Jeff Young
25e181db5c
Don't allow selection of footprint text in board editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17271
2024-03-12 21:30:12 +00:00
Alex Shvartzkop
44b970c8f2
Fix warning.
2024-03-12 08:54:21 +03:00
Seth Hillbrand
0f57d76ecd
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
2024-03-11 17:50:44 -07:00
Seth Hillbrand
6e591f5f91
Don't count removed zone layers
...
This does 3 things:
1) Removes unused zone layers on load
2) Does not save unused zone layers
3) Removes unused zone layers from connectivity calculation
(1) Prevents existing boards from using unused zone layers for any
connectivity or rendering. (2) Updates the contents of boards with
removed zone layers to prevent them from propagating. (3) updates the
connectivity while running pcbnew and removing a zone layer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17288
2024-03-11 23:38:10 +00:00
SubaruArai
d7173dd6d1
qr footprint wizard: add option for error correction level
...
QR codes allow 4 different levels of error correction. By increasing the level, larger numbers of data bytes can be corrupted without invalidating the code
2024-03-11 23:37:29 +00:00
Seth Hillbrand
3cc1617f5a
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
2024-03-11 16:32:24 -07:00
Seth Hillbrand
9648fafe11
Handle memberOfSheet for full footprints
...
Previously, we handled clearance for just components in the eval
function. We also checked the incorrect root sheetname.
2024-03-11 16:32:24 -07:00
Jeff Young
d083593177
Table bug fixes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17399
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17398
2024-03-11 22:58:12 +00:00
Jeff Young
5ccd11d426
Run disambiguation if there are multiple preferred items.
...
This didn't really come up before tables, but any cell selection
will also include its parent table.
2024-03-11 17:46:09 +00:00
Jeff Young
ccfefc3971
Table support for footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17333
2024-03-11 17:46:09 +00:00
Mark Roszko
d904535a15
Add missing text var override to cli gerbers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17283
2024-03-11 12:33:52 +00:00
Jeff Young
fbc433deaa
Make sure to initialize cell start location.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17379
2024-03-10 21:49:54 +00:00
Jeff Young
9602151d6c
Fix typo in SelectRows().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17378
2024-03-10 21:06:43 +00:00
Jeff Young
1bf24da385
Schematic editor Table Properties and commenting for QuasiModal usage.
2024-03-10 12:18:50 +00:00
Jeff Young
a12d79cd13
Performance improvements for multi-page dialogs.
2024-03-10 12:18:50 +00:00
jean-pierre charras
821063e5b1
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:04:39 +01:00
Jeff Young
f341ab9b00
Bug fixes for flipping tables.
...
Also adds support for tabbing between table cells in the
table editor dialog.
Also adds support for calling the table editor dialog from
edit properties on a table selection.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17337
2024-03-09 22:18:19 +00:00
Jeff Young
63b06095e6
Table selections for PCBNew.
2024-03-09 22:18:19 +00:00
Jeff Young
72ba31ba27
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
2024-03-09 15:01:59 +00:00
Alex Shvartzkop
4d66a8ebdb
Fix rendering/plotting of arcs with tiny angle and huge radius.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17343
2024-03-09 02:07:24 +03:00
Jeff Young
d1d9636598
Run Edge.Cuts & Margin clearance tests on zone layer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17292
2024-03-08 20:51:05 +00:00
Seth Hillbrand
686a62cbe6
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
2024-03-08 10:31:59 -08:00
Alex Shvartzkop
aa68a3817a
Fix zone cross-probing from DRC dialog.
2024-03-08 21:23:14 +03:00
Alex Shvartzkop
f6f0b9a661
ADDED: PCB 3D image raytracing rendering from CLI.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3691
2024-03-08 14:38:18 +00:00
Jeff Young
06a8517818
Further improvements to cache locking.
...
In particular, don't hold cache lock while doing computations.
2024-03-07 13:20:20 +00:00
Armin Schoisswohl
4dcec60bf4
add include <mutex> to fix compilation under linux
2024-03-07 13:20:16 +00:00
Armin Schoisswohl
bb9448edcb
change m_CachesMutex to shared_mutex and do shared locking for read access in zone BBox calculations
2024-03-07 13:20:13 +00:00
Armin Schoisswohl
991ff71f33
fix deadlock in DRC "Checking keeopouts & disallow constraints"
2024-03-07 13:20:10 +00:00
Armin Schoisswohl
4590455ab2
protect cache lookups in pcbnew/zone by locking the mutex before calling find, fix #17237
2024-03-07 13:20:06 +00:00
Yon Uriarte
7520a8b316
Avoid updating max clearance while in dtor
...
Max clearance is updated by IncrementTimeStamp(), which is called when in the FOOTPRINT dtor and ZONE dtor. This can cause issues when iterating over all footprints as the footprints may be delete-ed
Fixes https://gitlab.com/kicad/code/kicad/issues/17269
2024-03-06 18:48:49 +00:00
SubaruArai
8b3fc41ee5
Update QR footprint wizard
...
- Allows more than 62 bytes
- Adjusts size of code based on data or parameters
- Allows selection of ECC
2024-03-06 18:39:40 +00:00
Jeff Young
20efeef5ae
Apply anti-walk algorithm only to textboxes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16481
2024-03-06 13:51:27 +00:00
Yon Uriarte
4e8e14ae3a
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
2024-03-05 14:32:12 +00:00
Alex Shvartzkop
a4da829ccc
Fabmaster (CADENCE ASCII): import dimensions graphics.
...
See https://gitlab.com/kicad/code/kicad/-/issues/17239
2024-03-04 19:51:28 +03:00
Alex Shvartzkop
cb4ace5561
Fabmaster (CADENCE ASCII) import: fix position and orientation of footprint graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17239
2024-03-04 19:51:27 +03:00
Mike Williams
36331e259a
VRML: add options to exclude DNP/unspecified types like STEP exporter
2024-03-04 10:10:34 -05:00
Alex Shvartzkop
30573beb48
EasyEDA Std: fix importing footprints from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17264
2024-03-04 16:34:51 +03:00
Alex Shvartzkop
951c550c1e
EasyEDA Std PCB: fix crash when Name/Prefix type text is not in a footprint.
2024-03-04 15:09:31 +03:00
jean-pierre charras
4a945172db
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 #16282
https://gitlab.com/kicad/code/kicad/-/issues/16282
2024-03-04 11:46:45 +01:00
Seth Hillbrand
02cdb0c6b9
Mask aperture pads can have multiple layers
...
But as long as they don't have copper, we should treat them as mask
apertures
2024-03-03 20:56:39 +00:00
Alex Shvartzkop
85b1978408
Use 64-bit type to represent microseconds.
...
int and long are 32-bit on Windows, causing overflows.
2024-03-03 21:40:26 +03:00
Wayne Stambaugh
3eb5c52073
Improve zone manager dialog layout.
2024-03-03 12:09:01 -05:00
JamesJ
66b378087a
Remove close button from pcbnew search panel
...
For consistency with the other panels, removes the circular 'x' close
button from the search panel. Toggling visibility remains possible
through the View menu
2024-03-03 16:18:23 +00:00
Marek Roszko
0c8e08ed58
Move some language changes to a event on the frame
2024-03-03 11:02:26 -05:00
jean-pierre charras
0bde79bd6c
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:00:17 +01:00
Yon Uriarte
fe1c73ed7c
Performance: Cache BOARD::GetMaxClearanceValue
2024-03-03 13:54:46 +00:00
jean-pierre charras
f6cf78fd7c
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:56:41 +01:00
Jon Evans
ed18a9bcc2
Correctly handle footprint graphic knockouts for no-net case
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17223
2024-03-02 15:39:07 -05:00
Jon Evans
3a3ceb8ffc
Allow specifying a minimum for a via_count constraint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17234
2024-03-02 15:26:28 -05:00
Roberto Fernandez Bautista
a4929f9c27
Step exporter: handle circles correctly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17137
2024-03-02 19:09:33 +01:00
Roberto Fernandez Bautista
d458bcad16
kicad_cli fp ugrade: create directory with extension
2024-03-02 18:21:13 +01:00
jean-pierre charras
d81605f4ea
DIALOG_PAD_PROPERTIES: fix a incorrect test to show a warning.
2024-03-02 17:16:27 +01:00
Roberto Fernandez Bautista
4508512343
Sanitise filename before saving footprint library
2024-03-02 13:06:23 +01:00
Roberto Fernandez Bautista
a4a99e3aff
kicad_cli: Allow upgrade of legacy and non-kicad footprint libraries
2024-03-02 13:06:23 +01:00
Jeff Young
bd1d449cd3
Check for NETINFO_ITEM before dereferencing it.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17230
2024-03-02 11:37:22 +00:00
jean-pierre charras
1ee49cca5e
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 11:24:54 +01:00
Jan Wichmann
1297ddc88d
pcbnew: Added default master pad properties
...
CHANGED: Automatically selects the right pad type for the footprint type. Resets the pad properties if the master pad properties do not match the pad type.
https://gitlab.com/kicad/code/kicad/-/issues/16563
2024-03-02 00:13:39 +00:00
Seth Hillbrand
0129191ec0
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
2024-03-01 15:57:24 -08:00
Jeff Young
8dddd9cc2c
Separate "use board stackup colors" into separate checkbox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17085
2024-03-01 23:45:06 +00:00
Seth Hillbrand
14667e2033
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
2024-03-01 15:21:42 -08:00
Seth Hillbrand
d3334ed9f0
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
2024-03-01 13:04:19 -08:00
jean-pierre charras
005affd473
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 19:56:22 +01:00
Ethan Chien
8d19d27483
Fix zone manager crash when no board is loaded
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17187
2024-03-01 15:58:01 +00:00
Alex Shvartzkop
defcb49ac8
Support Altium Schematic ASCII import
2024-02-29 20:49:20 +00:00
aris-kimi
24529e5242
ADDED: library tree context menu option to open sym/fp library files from the defined text editor.
...
Short description:
Works for Symbol and Footprint Editor behind an advanced config option.
For Symbol Editor it is shown for a single item selection (library or symbol).
For Footprint Editor it is shown for a footprint selection.
(fp editor allows a single tree item selection only).
Option stays hidden if current frame has been modified.
Also small fix(?) for similar action to the project manager.
(Call for the Execution has moved inside the file loop.)
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15736
2024-02-29 19:01:59 +00:00
Jeff Young
c23550dc0b
Unflip when going to viewport which isn't flipped.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13773
2024-02-29 17:37:48 +00:00
Alex Shvartzkop
39a0a81832
EasyEDA Std import: support multiline text on PCB.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17171
(cherry picked from commit 0dab086f0c
)
2024-02-29 00:54:46 +00:00
JamesJ
b8748c4ef8
Add import netclass color menu items to PCB appearance widget
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16908
ADDED: Context menu item in PCB appearances widget to import netclass
color from schematic.
ADDED: Context menu item to reset PCB netclass color (replicating
same menu item from Nets inspector)
2024-02-28 23:13:15 +00:00
Jeff Young
141de7ac11
Even up spacing in dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16391
2024-02-28 22:18:27 +00:00
Seth Hillbrand
6a8d2a7eb3
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
(cherry picked from commit 7d1adff071
)
2024-02-28 13:27:38 -08:00
Jeff Young
27031dd2c5
Check env vars when testing for unresolved variables.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17174
2024-02-28 17:16:58 +00:00
Jon Evans
9e7b4b7f89
Avoid nullptr dereference when loading group info
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17154
2024-02-27 19:43:21 -05:00
Jon Evans
0df5cf7f75
Expose grid origin action in more places
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17007
2024-02-27 18:50:44 -05:00
Seth Hillbrand
a8880fb63e
Fix memory leak in net inspector dialog
2024-02-27 19:49:13 +00:00
Seth Hillbrand
b2a25cb59e
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
2024-02-27 19:49:13 +00:00
Jeff Young
e6a2f3b87a
Eagle text anchor points and alignment aren't linked.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 15:00:30 +00:00
Jeff Young
6e478f52f4
Fix wrong rotation centre.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 15:00:27 +00:00
jean-pierre charras
ed4a4ec8ec
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-27 10:17:00 +01:00
Jeff Young
43c45f3ee8
Fix copy pasta.
2024-02-26 12:39:01 +00:00
Jon Evans
2f6c9d1f3a
ADDED: Selection filter for schematic editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14988
2024-02-25 17:44:10 -05:00
Jeff Young
11774cc9fe
Fix some dialog layout issues.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16391
2024-02-25 22:10:51 +00:00
Jeff Young
9066e4b9d0
Reconcile solder_paste_ratio and solder_paste_margin_ratio.
2024-02-25 21:25:44 +00:00
Jeff Young
aef87b9796
Push thickness handling down into EDA_TEXT::SetBold().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17077
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14875
2024-02-25 17:28:52 +00:00
Jeff Young
be83f276c4
Add a couple more tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16391
2024-02-25 15:30:47 +00:00
Jeff Young
dba2fdb6d3
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
2024-02-25 12:28:19 +00:00
Jeff Young
4056428a08
Sigh. We use different tokens for FP and pad solder paste margin ratios.
...
Seriously? Afraid so: solder_paste_margin_ratio and solder_paste_ratio.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17108
2024-02-25 11:31:04 +00:00
Jeff Young
986dbfd235
Don't double-add pads to commit.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17087
2024-02-25 11:31:04 +00:00
Jeff Young
6bbac26fd3
Fix merge conflict.
2024-02-24 20:05:51 +00:00
Jeff Young
e27f859c11
Apply Pad Properties teardrop terminology to Via Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17050
2024-02-24 20:05:51 +00:00
Jeff Young
f77de66f4e
Generalize ERCItem inspections.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young
fa0ead98d8
Split out table editing and table cell editing.
2024-02-24 20:05:51 +00:00
Jeff Young
3282e4bb66
Formatting.
2024-02-24 20:05:51 +00:00
Jeff Young
c3496e4af6
Implement min skew checking.
2024-02-24 20:05:51 +00:00
Jeff Young
782af3a918
Clear text before replacing in ImportSettingsFrom.
2024-02-24 20:05:51 +00:00
Jeff Young
e760317af6
ADDED: Implement footprint link checking in ERC.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16842
2024-02-24 20:05:51 +00:00
Jeff Young
6dc60598da
Cleanup array dialog.
2024-02-24 20:05:51 +00:00
Jeff Young
d7e4a8cebd
ADDED: ERC/DRC exclusion comments.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16020
2024-02-24 20:05:51 +00:00
Jeff Young
833ec402a0
Generalize DRCItem inspections.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young
4eefbc7815
ADDED: textbox and tablecell margins.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10672
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6806
2024-02-24 20:05:51 +00:00
Jeff Young
e445249720
ADDED: PCB tables.
2024-02-24 20:05:51 +00:00
Jeff Young
48f983826d
Tooltip for "Prefer zone connections".
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16587
2024-02-24 20:05:51 +00:00
Jeff Young
67cd446e6d
Add textbox text to description.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16573
2024-02-24 20:05:51 +00:00
Jeff Young
ee3be0802c
Move PCBNew overrides to nullable properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5562
2024-02-24 20:05:51 +00:00
Jeff Young
4c5dbcd7f4
ADDED override locks checkbox for update from schematic.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16471
2024-02-24 20:05:50 +00:00
Jeff Young
4a9df1e18e
ADDED: actions for left-, center-, and right-justifying text items.
...
(For both PCBNew and EESchema.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12375
2024-02-24 20:05:50 +00:00
Stefan
ed6f900b70
adding No Layers to apprearance manger presets, fix #15625
2024-02-24 15:44:26 +00:00
Alex Shvartzkop
6347cb043e
Add bottom panel to have correct background in fp/sym chooser frames.
...
See https://gitlab.com/kicad/code/kicad/-/issues/15810
(cherry picked from commit 97ff48b426
)
2024-02-24 18:20:16 +03:00
Alex Shvartzkop
5578b2c954
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
(cherry picked from commit badc4e7411
)
2024-02-24 18:20:16 +03:00
Ethan Chien
d72491a4a5
ADDED: zone manager
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9636
2024-02-24 15:10:50 +00:00