Marek Roszko
0e42cb19f2
Realize we can just describe the dxf arb axis with our MATRIX3x3 class
2023-01-04 20:42:56 -05:00
Seth Hillbrand
20d7ffd5d3
Ensure we are not trying to sort on an invalid col
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13377
2023-01-04 13:56:25 -08:00
Seth Hillbrand
6271917682
Remove deprecated -py3 flag, use -O for swig
2023-01-04 11:32:15 -08:00
Seth Hillbrand
98d55ce82f
Avoid rebuilding with each commit
...
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h. Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Seth Hillbrand
14339aa786
Fix shadowing variable
...
Move check into switch block
2023-01-03 17:15:44 -08:00
Jon Evans
ac3ed02283
Rework bitmap cache and enable it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko
8ab9934143
Use our own cmake module path variable to avoid conflicting with the main ones listy functional
2023-01-03 19:18:16 -05:00
Jeff Young
375fdb7a49
Exact clearance is allowed; less than clearance is an error.
...
Also fixes a bug where the units weren't shown for extra precision
numbers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13262
2023-01-04 00:03:11 +00:00
Mike Williams
1ba9a6abe3
Rotate/Mirror: unbreak immediate mode actions
2023-01-03 16:05:52 -05:00
Marek Roszko
c2e7524cb6
Surpress the giant opencascade stats print unless we are tracing
...
Also catch Warn level messages to set a flag and print the relevant there were warning message
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8613
2023-01-02 18:34:32 -05:00
Jeff Young
056349e5ea
Units for footprint preview widgets.
2023-01-02 22:12:26 +00:00
Jeff Young
67e6603699
Move updateUnits functionality to where it can be shared.
...
Also call it when adding a footprint via the chooser.
Fixes https://gitlab.com/kicad/code/kicad/issues/13340
2023-01-02 22:12:26 +00:00
Jeff Young
f4bce6079c
Prevent round-off errors from drawing one spoke and not the other.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13316
2023-01-02 19:23:52 +00:00
jean-pierre charras
07b4f88e6b
Pcbnew: Fillet Lines tool does not set line width and layer.
...
When fillet a polygon or a rect, the resulting lines and arcs had incorrect
width and layer.
Fixes #13338
https://gitlab.com/kicad/code/kicad/issues/13338
2023-01-02 16:52:08 +01:00
Jeff Young
20f2232d4e
Adjust dimension units when placing footprints on board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13339
2023-01-02 12:39:35 +00:00
jean-pierre charras
e8114dc49a
Minor compil and Coverity warnings fixes.
2023-01-02 10:21:42 +01:00
jean-pierre charras
16fd586c41
Do not prune items/layers when copying the clipboard to the FP editor: all are allowed
...
(Some are disabled only for GUI)
Fixes #13334
https://gitlab.com/kicad/code/kicad/issues/13334
2023-01-01 13:35:05 +01:00
Gary Kim
8e8a3c7bdc
Do not translate name in version info
...
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
jean-pierre charras
9f56771611
Fix a typo
2022-12-31 11:41:04 +01:00
Jeff Young
53b6993d2b
Don't report errors in first pass of board outline generation.
...
Segments which aren't used to build holes in footprints can still
be used by the second pass to build the board outline.
Fixes https://gitlab.com/kicad/code/kicad/issues/13321
2022-12-30 22:32:08 +00:00
Alex
95f5d92fc6
Fix length overestimation when first/last line segment enters a pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13322
2022-12-30 16:27:59 +05:00
Alex
867a2e833d
router: Hotglue the debug graphics back to pcbnew.
2022-12-30 14:44:48 +05:00
Jeff Young
4c63b4e061
Class name <-> file name sync.
2022-12-29 18:05:57 +00:00
Tomasz Wlostowski
7d40bbdf38
router: mark the head trace (as opposed to the 'fixed tail') with fully saturated color
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11386
2022-12-29 17:54:59 +01:00
Tomasz Wlostowski
dfb1068358
router: improve heuristic to avoid segment drag 'flickery snapping'
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10113
2022-12-29 17:54:31 +01:00
Mike Williams
4bb1b4a3d2
Router: settings dialog fixes
...
Make keyboard activation of OK save settings instead of cancelling.
Also, fix the string for the shortcut so that it works (shortcut
unchanged).
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13303
2022-12-29 10:31:12 -05:00
Greg Davill
3b55f9e326
PCB Editor: Inform tools when selecting/unselecting net
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13308
2022-12-29 13:46:20 +00:00
lukas-heiligenbrunner
29e51cc198
fix quoting of layernames
2022-12-29 09:01:11 +00:00
Mike Williams
411efe6f3d
PCB Editor: Allow mouse drag of group-of-groups
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13076
2022-12-28 15:23:52 -05:00
Mike Williams
0c415a7190
PCB Editor: make rotate menu bar items conditional on selection items
2022-12-28 13:33:35 -05:00
Mike Williams
d62681f6db
PCB Editor: fix pad preview sketch mode not applying immediately
2022-12-28 12:27:57 -05:00
Jeff Young
e7300ffb5c
Improved column sizing in library setup dialogs.
2022-12-28 16:27:03 +00:00
Jeff Young
8d4694a83e
Iterator safety.
...
Move mergeSegments to a lambda so we can more easily break out of the
nested for-loops when we find a merge. We really need to start over
again at that point as we may have invalidated our connectivity items
iterator.
This also means we don't have to queue up all the track pointers, which
should get us a _little_ bit of the performance back.
Fixes https://gitlab.com/kicad/code/kicad/issues/13287
2022-12-27 20:14:13 +00:00
Mike Williams
741d1e043a
PCB Editor: make Mirror menu items conditional
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13230
2022-12-27 14:18:47 -05:00
Jeff Young
c85590a470
Correct is-inside logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13259
2022-12-27 14:34:35 +00:00
Jon Evans
ee0a41e3bc
Remove excess calls to SelectedItemsModified
...
We really don't want to post these events unless the *selected* items
were actually modified, since it results in a redraw of the properties
panel (which disturbs edit state and causes flicker on MSW).
Now the COMMIT system is responsible for sending this event iff the
commit touches items that are selected.
Side note: UpdateMsgPanel is useless on every app except pl_editor, so
it can probably be refactored/removed at some point.
2022-12-26 20:57:58 -05:00
Jon Evans
5eb3f5d3e7
Use correct translation macro for group names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13277
2022-12-26 20:11:20 -05:00
Jon Evans
dee5357d4d
Properties: give focus back to canvas after committing changes
...
Only needed on MSW, but safe to enable everywhere I think
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13275
2022-12-26 16:46:03 -05:00
Jeff Young
ab6aa08f33
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13263
2022-12-26 20:33:04 +00:00
Jeff Young
1f3727f548
Assigning a netclass has no meaning in fp editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13267
2022-12-26 20:33:04 +00:00
Jon Evans
f214f6f44c
Temporarily work around buggy zone refresh behavior
...
The actual problem is that EVENTS::SelectedItemsModified (via EDA_DRAW_FRAME::UpdateMsgPanel) is being called on every OnModify call, where it really should only be called if the *selected* items are modified. This problem will take longer to fix.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13279
2022-12-26 14:04:53 -05:00
Jeff Young
eb5a831a99
Fix typo.
2022-12-26 14:11:46 +00:00
Jeff Young
0094a0fc15
Treat teardrops as tracks not zones for disallow constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13264
2022-12-26 11:33:09 +00:00
Jon Evans
fbaf4af489
Properties: Allow dynamic update of read-only state
2022-12-25 20:35:44 -05:00
Jon Evans
b85fab9ab6
Support DXF ellipses and elliptical arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12563
2022-12-24 22:46:07 -05:00
Jeff Young
5dce8323e8
KIGFX::REPAINT is not enough if the item isn't in the view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11656
Fixes https://gitlab.com/kicad/code/kicad/issues/13217
2022-12-24 17:18:22 +00:00
Jeff Young
34e134c5e5
Don't allow clearanceEpsilon to force clearance < 0.
...
Also, a plated hole has the max clearance of hole_clearance and
copper_clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/13237
2022-12-24 12:56:41 +00:00
Marek Roszko
020f8f61db
Let's try fixing the doxygen-python again
2022-12-23 23:11:04 -05:00
jean-pierre charras
59f0e428fa
Fix a PnS router issue doesn't respect knockout texts.
...
Fixes #13251
https://gitlab.com/kicad/code/kicad/issues/13251
2022-12-23 18:17:44 +01:00
jean-pierre charras
eef47c2a79
DRC: ensure tracks are tested against holes, even if hole clearance is set to 0.
...
Even with clearance = 0, copper to hole must be tested because it cannot be
inside the hole
2022-12-23 14:06:10 +01:00
Marek Roszko
e152cf0a92
Undo one doxygen-python build change, remains broken
2022-12-22 21:35:21 -05:00
Jon Evans
e19fb101ef
Properties: Show basic marker props
2022-12-22 17:45:16 -05:00
Jon Evans
18788b03eb
Properties: Hide unsupported hyperlink property
2022-12-22 17:45:16 -05:00
Jon Evans
2b4cafe9f7
Properties: Fixes for arc tracks
2022-12-22 17:45:16 -05:00
Jon Evans
4a0588db7a
Properties: translation fixes
2022-12-22 17:45:16 -05:00
Jon Evans
cc2b107649
Footprint Viewer: resolve canvas type after menus are created
...
SaveSettings can't be called until the menus are in place
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13243
2022-12-22 12:14:55 -05:00
Marek Roszko
8bfec30761
Fix the pcbnew.py dependency causing the doxygen to fail
...
The doxygen-python target recreates pcbnew.py that got deleted by xml-to-docstrings
2022-12-21 23:49:23 -05:00
Marek Roszko
caeb579174
Fix the dependencies for the python doxygen build
...
DEPENDS was being used for targets which is invalid for add_custom_target...as confusing as that is.
It is files only.
2022-12-21 23:39:35 -05:00
Seth Hillbrand
1cc9792cdb
Fix snapping dist when disabling grid
...
The disable grid hotkey should allow the snap scale to be completely
determined by the snapSize and world scale. This prevents snapRange
from overriding in the case where grid is disabled.
Additionally, we disallow grid snapping when the grid scale is not
visible. This means that when zoomed out sufficiently to not show the
minor ticks, these minor ticks will not override a snap
Fixes https://gitlab.com/kicad/code/kicad/issues/12303
2022-12-21 17:47:45 -08:00
Jon Evans
1590e48ec1
Use translated strings for property display
2022-12-21 18:03:15 -05:00
Mike Williams
47dc2379d8
PCB: Fix issues with grab unconnected
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13232
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13233
2022-12-21 15:10:19 -05:00
Jeff Young
e28f6ecc00
Fetch a better location for keepout area collsions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13220
2022-12-21 18:22:15 +00:00
Alex
e8f755c665
router: Match segment endpoint calculation between dragger and the tool.
...
Prevents always picking point A when dragging short segments.
2022-12-21 20:55:49 +03:00
Alex
75053cfc57
Remove normally unused code from Move function.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13222
2022-12-21 19:06:32 +03:00
Mike Williams
5d94d2634e
PCB Editor: make locking menu items conditional
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5202
2022-12-21 10:34:54 -05:00
jean-pierre charras
44ab6876d9
fp editor: remove useless "Unroute Selected" from context menu.
...
Fixes #13229
https://gitlab.com/kicad/code/kicad/issues/13229
2022-12-21 13:11:51 +01:00
Tanay Gupta
b0cbab5c4b
Footprint Editor: Focus search field when window is first opened
...
The search field on the Symbol Editor is focused when its window
is first opened. Similar behavior has been implemented in the search
field of the Footprint Editor with this change.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13100
2022-12-20 19:54:02 +00:00
Mike Williams
bd24e85289
PCB: Add Copy With Reference to the Positioning Menu
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11947
2022-12-20 11:54:05 -05:00
jean-pierre charras
161a1e21f5
PnS router: NPTH can be on copper layers, depending of the pad size and the hole size.
...
Now: round NPTH with a round hole bigger than the pad are not on a copper layer.
Other pas shapes are seen on copper layers (far from ideal, but reasonable)
Fixes #13214
https://gitlab.com/kicad/code/kicad/issues/13214
2022-12-20 12:50:22 +01:00
Jan Mrázek
f601c87cea
Export UNITS_PROVIDE into SWIG
2022-12-19 17:30:37 +00:00
jean-pierre charras
abff7975f1
Python scripting: fix some issues when trying to create a DRC Report:
...
- avoid aborting the DRC report on a .dru issue without any error message.
- ensure the list of layer names is up to date (contains both canonical
and user layers names, that can be used in DRC tests.
Fixes #11410
https://gitlab.com/kicad/code/kicad/issues/11410
2022-12-19 12:39:20 +01:00
jean-pierre charras
6c73fe05e9
python scripting: better fix for commit 5a79821
(fix crash due to a null pointer):
...
Try to use a better error message for severity.
Fixes #13160
https://gitlab.com/kicad/code/kicad/issues/13160
2022-12-18 18:31:19 +01:00
Ian McInerney
639626fda4
Include the proper header instead of the entire lockfile function
2022-12-17 23:37:24 +00:00
Ian McInerney
82a11c71af
Clean up extra control creator logic in pcbnew save file dialog
2022-12-17 23:37:24 +00:00
Jon Evans
5abf73e3c9
Never call ReCreateMenuBar inside a menu event handler
...
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Jan Mrázek
90fb315113
Add missing text alignment types to SWIG export
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13174
2022-12-16 18:55:21 +00:00
Jan Mrázek
e699c25d98
Add operators for the SWIG wrapper of EDA_ANGLE
2022-12-16 18:55:21 +00:00
Jan Mrázek
66c2462c7e
Eliminate angle as double in SWIG wrapper
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13171
2022-12-16 18:55:21 +00:00
Seth Hillbrand
66e9d5c61c
Return reference rather than copy
...
No need to return a const copy by default in GetItems(). The const
reference will be faster. Thanks to @GyrosGeier for the suggestion
2022-12-16 10:52:57 -08:00
Jeff Young
12ea3e0822
Fix wxWidgets crankiness.
2022-12-16 00:53:53 +00:00
Jeff Young
7750d2e00e
Microvias always use separate uvia netclass properties.
...
There is no current microvia size/drill.
Fixes https://gitlab.com/kicad/code/kicad/issues/13176
2022-12-16 00:10:03 +00:00
Simon Richter
b5cb9eccbf
Generate dependency files from Swig
...
The wrapper is only rebuilt if one of the files that were parsed during
generation has changed.
2022-12-15 23:42:07 +00:00
Seth Hillbrand
e91c039ed3
Prevent event stackup when init pages
...
The paged book initialization (and others) can generate events,
re-laying out the whole dialog multiple times during initialization.
This halts events during the layout period
Fixes https://gitlab.com/kicad/code/kicad/issues/13158
2022-12-15 11:39:03 -08:00
Jeff Young
5327ea5823
Respect selectabiltiy when adding wholy-selected groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13092
2022-12-15 17:57:58 +00:00
Jeff Young
366cad1f01
Uniformly translate "<no net>" message.
2022-12-15 13:59:25 +00:00
jean-pierre charras
5a7982161d
python scripting: fix crash due to a null pointer use.
...
Fixes #13160
https://gitlab.com/kicad/code/kicad/issues/13160
2022-12-15 14:27:29 +01:00
Ian McInerney
034981ff9d
Add tooltip to add existing library button in pcbnew
2022-12-15 02:08:41 +00:00
Jeff Young
93879532f7
More wxTextCtrl minimum widths.
2022-12-14 23:23:41 +00:00
Seth Hillbrand
279edcefdc
Don't break tracks without snap
...
If the user asks to not snap to a track, we should also prevent the
track from snapping to the via
Fixes https://gitlab.com/kicad/code/kicad/issues/13142
2022-12-14 13:51:42 -08:00
Jeff Young
19a5a3ae16
Remove unused member variable.
2022-12-14 13:36:28 +00:00
Marek Roszko
2f8cc84551
Hotglue footprint to svg export
...
This needs additional work
2022-12-13 22:50:15 -05:00
Mike Williams
eb10d7d1d8
PCB Search: fix untranslated string
2022-12-13 16:35:15 -05:00
Mike Williams
5652eaea82
Search Pane: name net 0 as "No Net" with no class
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13148
2022-12-13 15:52:07 -05:00
Jeff Young
c0872364d4
Get rid of bloated bitmap buttons on wxWidgets 3.2.
2022-12-13 20:48:02 +00:00
jean-pierre charras
88038907fa
Pcbnew, graphic importer: do not import 0 length segments and smaller than 20 nm Bezier curves.
...
Degenerated Bezier curves (i.e. straight lines) are imported as segments.
They create issues in kicad because they are hard to edit and manage.
2022-12-13 20:23:40 +01:00
Jeff Young
d3228dbab2
Differentiate search panel font between Mac and others.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13145
2022-12-13 00:47:19 +00:00
Jeff Young
f24372bc18
Layout adjustments for wxWidgets 3.2.
2022-12-13 00:47:19 +00:00
Jeff Young
9d13e419c2
Reduce compiler warnings.
2022-12-13 00:47:19 +00:00
Seth Hillbrand
4fe35d0df1
More push/pop tool issues
...
We need to pop the move tool off when it doesn't find anything to act on
so that the pushed tools under it on the stack can re-activate
Fixes https://gitlab.com/kicad/code/kicad/issues/13114
2022-12-12 12:56:35 -08:00
Seth Hillbrand
2fd500e20b
Respect the "report all errors" checkbox
...
When we have objects spanning multiple layers, the user doesn't need to
see every layer/hole combination violation if they do not request it
(cherry picked from commit c07043e762
)
2022-12-12 11:14:38 -08:00
Jeff Young
6d73d9a08e
Split another couple of hairs in the never-ending "how big is a font".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
Fixes https://gitlab.com/kicad/code/kicad/issues/13115
2022-12-12 17:37:17 +00:00
jean-pierre charras
96a9ec4a0c
Enhance compatibility with V6.0 for Intersheetrefs fields associated to GLOBAL labels.
...
In V6.0, the identifier is "Intersheet References" and was not immediately
seen as Intersheetrefs field.
2022-12-12 16:38:04 +01:00
Jeff Young
45eae3e594
Don't Simplify() polys with arcs in them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13134
2022-12-12 12:54:34 +00:00
Alex
5e8227b54a
pcbnew: Support dragging arc center in "Keep endpoints" mode.
2022-12-12 13:00:44 +03:00
Alex
3eb31befed
Fix a delay when dragging arc endpoints in pcbnew.
2022-12-12 09:39:56 +03:00
Alex
da1e5a80a8
Restore removeCorner transition in PCB editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13133
2022-12-12 07:04:20 +03:00
Marek Roszko
7e53663d5d
Add a bulk gerber export that's a wee bit smarter
2022-12-11 20:13:26 -05:00
Jeff Young
65538ccad4
Rename files and classes to match dialog name.
...
Also a bit of formatting cleanup.
2022-12-11 18:42:57 +00:00
Jeff Young
d27fb35780
A few more adjustments to wx 3.2 layout issues.
2022-12-11 14:12:35 +00:00
Jeff Young
4e47b5c25f
Fix some layout and selection issues on Mac.
...
Some of these are due to moving to wxWidgets 3.2, but I'm not sure
all of them are. In particular, the need for CallAfter() in the
search pane's selection handler is probably just a wxWidgets bug on
Mac (the control lies about the current selection inside the event
handler).
Also sets better column widths in the search pane.
2022-12-11 00:56:46 +00:00
Jeff Young
a7df573748
Clear bounding box caches *before* reverting commit.
...
We're going to re-add items to the view assuming they will have their
current locations, which requires the bounding boxes to be refreshed.
Fixes https://gitlab.com/kicad/code/kicad/issues/13084
2022-12-11 00:56:46 +00:00
jean-pierre charras
75f1067642
GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned
...
eda_shape: small enhancement: when generating a polyline from the Bezier curve,
filter the last point if the last segment is shorter than the given min lenght
2022-12-10 18:19:09 +01:00
Jeff Young
492e6548ff
If item is on mask layer then we won't call it again on copper layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13075
2022-12-10 13:51:00 +00:00
Alex
b01d950071
Remove start pt when collinear with neighboring pts in zone/poly draw.
2022-12-10 06:21:54 +03:00
Alexander Dewing
02325130fa
Initial arm64 work
2022-12-09 23:48:31 +00:00
Yang sheng
aff5245041
Fix enum class DRILL_MARKS no export to python
2022-12-09 18:07:58 +00:00
Alex
b4b25a7009
Fix Pack & Move footprints when working with groups.
2022-12-09 20:42:35 +03:00
Alex
c1f82d0c80
Canceling Move cancels Pack too in Pack & Move footprints.
2022-12-09 20:41:56 +03:00
Alex
3d2b1aaf90
Improve H/V/45 deg mode when drawing zones and polygons.
2022-12-09 19:11:56 +03:00
Jon Evans
ad33515916
Properties: mask visibility for free text
2022-12-08 18:06:14 -05:00
Jon Evans
67df342255
Properties: mask irrelevant NPTH properties
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13087
2022-12-08 18:00:44 -05:00
Jon Evans
72939e8918
Properties: enable in PCB editor for everyone
...
Leaving the AC flag around for future use in the footprint editor etc
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2039
2022-12-08 17:38:36 -05:00
Mike Williams
0e75bf02fa
Selection: refactor modifier checking
2022-12-08 14:12:12 -05:00
Jon Evans
2b0d7f65d0
Properties: sync wxPGGlobalVars map state with editor global state
...
Thanks to @dsa-t for suggesting this
(maybe)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12297
2022-12-08 07:55:57 -05:00
Jon Evans
435651237c
Properties: Support overridden availability functions
2022-12-08 00:09:51 -05:00
Marek Roszko
2fc0cd68ed
Avoid crashing due to empty lib tables in cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13097
2022-12-07 23:56:03 -05:00
Jon Evans
33d76f63b0
Properties: save and restore splitter position
2022-12-07 21:38:33 -05:00
Alex
e03a91c9c7
Reduce static ratsnest opacity when moving items; tweak colors.
2022-12-07 21:01:56 +03:00
Alex
82874daf08
router: Limit the amount of move attempts in ROUTER::Finish
...
Otherwise auto-finish hangs in some cases.
2022-12-07 19:24:13 +03:00
Marek Roszko
aa537fe559
Change bezier curve iteration to be easier to read
...
Fix #https://gitlab.com/kicad/code/kicad/-/issues/11153 somewhat
2022-12-06 23:25:04 -05:00
qu1ck
25688eb75e
Include plotprint_opts.h in swig
2022-12-07 04:02:59 +00:00
Marek Roszko
24ca892afb
Update tinysplice to latest
...
A few years worth of bug fixes
2022-12-06 22:28:23 -05:00
Marek Roszko
61119fbf64
Poke a const to make gcc happy
2022-12-06 22:00:23 -05:00
Marek Roszko
c0b5fe58c3
Implement output targeting of symlib/fplib upgrade per request
2022-12-06 21:20:27 -05:00
jean-pierre charras
593dc9e8b6
Some fixes in Gerber job file:
...
- Ensure colors use a normalized value (normalized name or RnnGnnBnn notation).
- Better code.
2022-12-06 17:01:37 +01:00
Alex
008704fc6f
router: Allow highlighting both DP nets when routing.
2022-12-06 05:24:23 +03:00
Jon Evans
38a509e768
Properties: support bitmaps
2022-12-05 18:31:40 -05:00
Jeff Young
c771d866f5
Cleanup 3D caches before d'tors run.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-05 22:39:09 +00:00
Seth Hillbrand
d8f94962ff
Prevent halting the main GUI thread
2022-12-05 11:10:57 -08:00
Alex
0089df8ca4
Update comment in zone filler.
2022-12-05 21:48:12 +03:00
Alex
c4aed1d941
Make sure that threads are not running after zone filling.
2022-12-05 21:36:59 +03:00
Alex
6d513e7ecf
Expose changing arc edit mode in arc button context menu and Preferences
...
Ctrl+Space can still be used to cycle through modes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5412
2022-12-05 21:28:16 +03:00
jean-pierre charras
c3dddaf41f
panel_board_finish: mark board as modified when a finishing parameter is modified.
...
Fixes #13074
https://gitlab.com/kicad/code/kicad/issues/13074
2022-12-05 18:39:18 +01:00
Jeff Young
295ef6588d
Fix uninitialized variable.
2022-12-05 14:42:05 +00:00
Jeff Young
b7d41e0e56
Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
...
Also includes fixes for instance data and resolving of textvar
references.
Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.
Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Alex
4482e9f634
Minor UI fixes.
2022-12-05 00:37:25 +03:00
Seth Hillbrand
47e7cd2e90
Don't allocate/delete a PG_UNIT_EDITOR unless needed
...
We cannot actually delete the PG_UNIT_EDITOR without substantial issues
from the global variables in wx.
2022-12-04 10:27:38 -08:00
Alex
90ad4dcc05
router: Various bugfixes in length tuning meandering
...
- When fine-tuning, keep adjust to the original baseline length
- Enforce a minimum amplitude based on settings, DP gap and track width
- Use binary search to fine-tune amplitude if the length is not trivial
- Account for inequalities in balancing
- Don't add the meander if adding it with min. amplitude will make the
tuning worse
- Keep a distance after meandering end to prevent overlaps in DP
Fixes https://gitlab.com/kicad/code/kicad/issues/9267
Fixes https://gitlab.com/kicad/code/kicad/issues/1776
2022-12-04 16:30:00 +00:00
Graham Keeth
ef83d01455
Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology
2022-12-04 14:29:57 +00:00
Jeff Young
f6822120b3
Enable tab and return commit in property grid.
2022-12-04 11:51:44 +00:00
Jeff Young
f805fd267f
Divorce UNIT_BINDER from wxFrame.
...
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.
Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Jeff Young
8c97a7b8c6
If fps contain complete board-edge holes then exclude those edges from main calc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12921
2022-12-04 11:51:44 +00:00
Seth Hillbrand
92266635cc
Add an advanced config value for the minimum sliver
...
The hard coded value was too small for certain calculations. Better to
have a configurable value that is initially set to our error level to
allow for deviations that don't meet the visibility test for spikes.
These have become more apparent with Clipper2
2022-12-03 16:03:43 -08:00
Seth Hillbrand
b5bd633625
Strict-order points in connection_width
...
The connection width checker uses morton codes to order elements. The
sort should be primarily morton-based but needs to be stable in order to
ensure that nextZ/prevZ elements are properly placed as the actual
next/prev elements in the list. Otherwise, hitting a fracture point
might make us skip in the wrong direction
Fixes https://gitlab.com/kicad/code/kicad/issues/12831
2022-12-03 16:03:43 -08:00
jean-pierre charras
497b368006
Pcbnew menubar: View/Drawing Mode/Sketch Text Items and Skecth Graphic Items:
...
Handle the Checked/Unchecked bitmap symbols of these 2 submenus.
2022-12-03 11:03:14 +01:00
Jon Evans
4134db3c47
GCC fixes
2022-12-02 22:38:15 -05:00
Jon Evans
050d282c12
Properties: Hide some copper-only properties from non-copper zones
2022-12-02 21:59:17 -05:00
Jon Evans
a5f7ecbe00
Properties: support text knockout
2022-12-02 21:46:03 -05:00
Jon Evans
0bc06d506c
Properties: reselect after canceled move
2022-12-02 21:40:21 -05:00
Seth Hillbrand
f9a36b9c91
Update thread_pool to 3.3
...
Fixes an issue with `wait_for_tasks()` and adds a lower-overhead
`push_loop` helper. We replace our usage of `parallelize_loop` with
`push_loop` as we didn't use the multi-future vector return and don't
need the extra overhead.
2022-12-02 12:01:34 -08:00
jean-pierre charras
50d34e232b
pcbnew: fix a bug that crashes pcbnew on startup when running under gdb/msys2
2022-12-02 15:14:17 +01:00
Jeff Young
bba8a0826e
Clear caches before undo operation.
...
The undo will remove/re-add items to the view in order to update the
RTree. However, if we only clear caches at the end (in the OnModify
call), then the (stale) bbox caches are still used for the re-add
operation, and they end up at the wrong place in the RTree.
Fixes https://gitlab.com/kicad/code/kicad/issues/13048
2022-12-02 10:59:48 +00:00
jean-pierre charras
93c631af44
drawing_stackup_table_tool: fix incorrect color of dielectric sublayers.
...
when a dielectric has sublayers, the printed color was always the main layer color.
2022-12-02 10:41:20 +01:00
Jon Evans
73b3f28c25
Properties: mask layer property for items that can't set it
2022-12-01 22:22:29 -05:00
Jon Evans
ef3f2a8f1e
Properties: ignore shape props for textbox
2022-12-01 21:54:12 -05:00
Jon Evans
e0ff8ba09c
Fix normalize flags for wx3.1
2022-12-01 18:49:08 -05:00
Alex
e56064696b
router: Refactor m_padToDieLength out of meander placer base.
2022-12-02 01:03:34 +03:00
Jon Evans
3b25fdc212
Properties: Fix zones stomping on position props for other items
2022-12-01 16:55:12 -05:00
Jon Evans
6066ccdfd5
STEP: Normalize path to kicad-cli
...
Keeping the path relative messes up the logic that loads the DSO
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12728
2022-12-01 16:55:12 -05:00
Jeff Young
3501ad1b4d
Record layer for starved thermal exclusions.
2022-12-01 18:04:34 +00:00
Jeff Young
20791c99ac
Allow conversion of single track segments and vias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13047
2022-12-01 17:15:29 +00:00
Alex
1aa05c0e10
router: Fix up single meander side switching.
2022-12-01 18:39:19 +03:00
jean-pierre charras
d7368588db
stackup manager: fix incorrect handling of colors for multi-layer dielectrics
...
The dialog allows a color selection for each dielectric layer.
However for a "dielectric" defined by more than one layer, the color was handled
only for the first layer, and not for the other sub-layers.
2022-12-01 16:19:13 +01:00
jean-pierre charras
c378d01068
code cleaning.
2022-12-01 16:01:38 +01:00
Jeff Young
6befa1c57e
A bit of cleanup to recent convert tool changes.
2022-12-01 14:53:13 +00:00
Jeff Young
4d8e73a630
Allow tracks as input to bounding hull generation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13047
2022-12-01 14:53:13 +00:00
Jon Evans
757b73e50e
Hide some unusable zone properties
2022-11-30 23:36:53 -05:00
Alex
7dbdb68730
router: ADDED option to create single-sided meanders.
2022-11-30 20:39:02 +00:00
Seth Hillbrand
b31349b679
Get consistent point for gfx import
...
TopLeftItem() should always return same element for our import
Fixes https://gitlab.com/kicad/code/kicad/issues/13041
2022-11-30 12:25:34 -08:00
Seth Hillbrand
cf33f33899
Standardize placement tool modifiers
...
PlaceImage, PlaceImportedGraphics and PlaceText need to handle the grid
and hotpoint snapping as well as the modifiers to disable them
2022-11-30 10:57:42 -08:00
Jeff Young
3c4c4e5166
Remove shortened debug time from zone refill message.
...
Also adds a time-out for it.
2022-11-30 17:38:02 +00:00
Jeff Young
074c087c21
Allow disabling of grid snapping while placing imported image.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13040
2022-11-30 14:38:22 +00:00
Jeff Young
98ab078905
Remember conversion strategy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13043
2022-11-30 14:29:16 +00:00
Mike Williams
17bb57cc73
PCB: fix stale ratsnest between moves in Move Individually
2022-11-30 09:11:37 -05:00
Jeff Young
03f79f512c
Nullptr safety.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12966
2022-11-30 14:02:22 +00:00
jean-pierre charras
6dc1c9b0b7
Step exporter: filter very small segments when exporting them.
...
very small segments create issues in step export.
Add also more messages and more controls.
Fixes #13038
https://gitlab.com/kicad/code/kicad/issues/13038
Fixes #12905
2022-11-30 14:56:02 +01:00
Jeff Young
8dbd6fee00
Go back to smaller chaining epsilon.
...
Using a large epsilon here to allow for sloppy drawing can cause
the algorithm to miss very short segments in a converted bezier.
So use an epsilon only large enough to cover for rouding errors in
the conversion.
Fixes https://gitlab.com/kicad/code/kicad/issues/12951
2022-11-30 13:26:45 +00:00
Jeff Young
19eab62516
More safety around ratsnest state.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2022-11-30 13:00:21 +00:00
Jeff Young
9fa8b9e49f
Fix memory leak and re-code non-memory-leak so Coverity can understand it.
2022-11-30 13:00:20 +00:00
jean-pierre charras
ec4fd42bee
Pcbnew: force courtyard area shape rebuild afret rotation/flip.
...
Fixes #13039
https://gitlab.com/kicad/code/kicad/issues/13039
2022-11-30 09:07:32 +01:00
Alex
8c468dcffc
Use ecoords for distance comparison in PCB grid helper.
...
Fixes a bug where a cursor would jump to a far location while hovering
over some 45-degree tracks.
2022-11-30 08:18:19 +03:00
Seth Hillbrand
e4b7bc82be
Prevent UI events during footprint dialog ctor
...
Errors may get thrown when the 3d models are loaded for missing search
paths. This triggers the idle event that makes assumptions about the
state of the dialog. We halt event handling until the ctor finishes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12944
(cherry picked from commit be86e9f57f
)
2022-11-29 19:39:35 -08:00
Jon Evans
81ab8a0499
Properties: Move orientation to basic
2022-11-29 18:56:15 -05:00
Jon Evans
41ca2789a6
Get rid of shadowing warning
2022-11-29 18:12:39 -05:00
Seth Hillbrand
1a670f4673
Catch IO_ERROR thrown in timestamp gen
...
Missing nickname can throw when generating a timestamp, this should be
caught and prevent further work in the footprint loading (the entry does
not exist)
Fixes https://gitlab.com/kicad/code/kicad/issues/13029
2022-11-29 14:09:22 -08:00
Jeff Young
abd818a426
Update msgpanel after entering or exiting group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13031
2022-11-29 21:33:04 +00:00
Jeff Young
31eb91e9e5
Infobar for slow zone auto-refill.
2022-11-29 21:09:16 +00:00
Seth Hillbrand
0ee7f8e2bd
Fix 436f95e02e
...
NanoSVG does handle opacity (thanks Mark) but the check needs to be
unsigned if we are comparing the resulting down-shifted value against
zero
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 11:21:16 -08:00
Seth Hillbrand
436f95e02e
Don't look for alpha in nanosvg color
...
Nanosvg colors are only RGB, so we will never get an alpha value here.
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 10:44:03 -08:00
Jeff Young
b6bd74d822
Replace single zone fill under "draft" terminology.
...
Also sets Autofill Zones to default to on.
2022-11-29 18:13:36 +00:00
Seth Hillbrand
5fc5a2132b
Fix Properties panel to reference the correct frame
...
The properties editors are global but the frame that they reference is
not static, so we need to be able to update the frame reference when
restarting pcb editor from the main window. This updates the frame,
being careful to remove the signalling when closing pcbnew but keeping
the instance of the editor in place.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-29 09:24:41 -08:00
Mike Williams
ad6ef35c9f
PCB: Add skip action to Move Individually
2022-11-29 15:42:03 +00:00
Jeff Young
6d52601241
Update stale tooltip.
2022-11-29 15:21:20 +00:00
Jeff Young
b2177718a1
Tighten up refresh logic for net & netclass references.
...
Also tightens it up a bit for text variables which can reference things
like netnames and netclasses, but also board settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/13032
2022-11-29 15:18:36 +00:00
Jeff Young
8260f0ee13
Add support for unitless values to PCB_EXPR_EVALUATOR.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
2022-11-29 14:24:20 +00:00
Marek Roszko
25d5defc10
Add cli for "fp" upgrade
2022-11-28 20:48:14 -05:00
Seth Hillbrand
bd40684ecd
Handle polygons' triangulation
...
Graphic polygons may be invalid and so need to be explicitly simplified
before triangulation.
Also clean up hole handling in triangulation routine
2022-11-28 15:46:12 -08:00
Jeff Young
8165fc6c44
Give up trying to infer what kind of polygon the user wants.
...
In many instances there are 3 valid answers: mimic linewidths, use
centerlines, and build a bounding hull.
Fixes https://gitlab.com/kicad/code/kicad/issues/12950
2022-11-28 22:12:53 +00:00
Seth Hillbrand
137b4de1c2
Allow groups in groups
...
This was allowed in the qa test, so we allow it going forward
2022-11-28 11:28:31 -08:00
Mike Williams
4a4fab78a3
PCB: allow swap while moving
2022-11-28 14:16:08 -05:00
Mike Williams
3042633f4a
PCB: block unroute and move individually when already moving
2022-11-28 14:16:08 -05:00
Seth Hillbrand
259e41be2d
Don't add non-groupable items to the group
...
Things like markers and netinfo should never get added to the group,
even if we are inside the group while adding the items
Fixes https://gitlab.com/kicad/code/kicad/issues/13026
2022-11-28 09:11:20 -08:00
Seth Hillbrand
d232ade752
Remove cloned items from groups
...
When destroying, the group must be null and there's no group purpose in
the DRC checks
2022-11-28 09:11:20 -08:00
Jeff Young
eb19e32b40
Performance optimization for pad drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-28 13:20:12 +00:00
Jon Evans
b2b3f5752f
Properties: Add grouping and sorting by creation order
2022-11-27 22:40:23 -05:00
Jon Evans
64f315c649
Move properties panel to widgets with the other AUI panels
2022-11-27 22:40:23 -05:00
Seth Hillbrand
3460c50afa
Attempt to avoid double-free when shutting down on Windows
2022-11-27 16:21:06 -08:00
Jon Evans
5bbe21f540
Properties: don't rebuild the panel when closing an editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12984
2022-11-27 14:29:16 -05:00
Jeff Young
c0ab2258a4
Update LAYER_PAD_FR when F_Cu colour changes (and same for back).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13012
2022-11-27 18:55:00 +00:00
Jeff Young
ec9c6a8053
Separate creation of polygons for open and closed shapes.
...
This allows us to create a bounding hull from an open shape-line-chain,
which is useful for defining milled slots.
2022-11-27 18:29:41 +00:00
Jeff Young
740e193871
Increase bounding box of stroke text and the leader box of all text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
2022-11-27 15:27:30 +00:00
Jeff Young
1e3186b9cb
Allow pad-to-copper-graphic collisions in net-ties.
...
This is done under the same conditions as track-to-copper-graphic --
the pad or track must also collide with a net-tie pad, and the pad or
track to copper-graphic collision must be within the boundary of said
pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/13008
2022-11-26 15:04:33 +00:00
jean-pierre charras
3f50199dad
TEARDROP_MANAGER: fix a corner case that generate a invalid teardrop polygon.
...
Also add a better handling of connected tracks when searching for a track connected
to a too short track to create a teardrop, search was stopped to Y connections.
Now the selected track is the longest of these 2 candidates.
Fixes #13006
https://gitlab.com/kicad/code/kicad/issues/13006
2022-11-26 14:37:20 +01:00
Jeff Young
86d7638f10
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13005
2022-11-26 10:45:07 +00:00
jean-pierre charras
b3559ae12c
Minor fix: make DIALOG_EXPORT_STEP_PROCESS_BASE correctly re-sizable.
2022-11-26 07:40:48 +01:00
Jon Evans
74a2e4cad9
Properties: Add support for zone connection style
2022-11-25 18:44:02 -05:00
Jon Evans
96fe93618e
Properties: Stop sorting by name
...
It's more useful to have properties shown in add order,
since we can group them
2022-11-25 16:29:56 -05:00
Jon Evans
611c19016f
Properties: add support for string escaping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12975
2022-11-25 13:15:46 -05:00
Jon Evans
5061f0556f
Properties: implement ellipsization for name column
2022-11-25 12:37:47 -05:00
Jon Evans
220ef6fb44
Properties: Add some missing footprint properties; cleanup
...
Add concept of "internal" properties that will be accessible from
Python/DRC but not shown in the Properties Manager
2022-11-25 12:37:47 -05:00
Jeff Young
4aff5c7618
Keep courtyard caches alive during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-25 17:20:11 +00:00
Simon Richter
fbc321c4c1
Fix initialization order
...
This avoids a conditional branch on an uninitialized value in valgrind.
2022-11-25 16:00:23 +00:00
Jon Evans
8c7691fbc3
Harmonize on "Manager" for now, since we use that in the docs
2022-11-25 09:13:23 -05:00
Jon Evans
bbea5b3fbc
Save and restore properties and search panel sizes
2022-11-25 09:11:30 -05:00
Jon Evans
308576b78d
Properties: Use parent footprint references instead of UUIDs
...
Also remove redundant Net Name property (Net is used)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12334
2022-11-24 22:40:45 -05:00
Jon Evans
11e784cf10
Properties: specialize layer setting for footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12480
2022-11-24 22:11:26 -05:00
Jon Evans
88495e5be1
Properties: Fix masking of layers for non-copper items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12884
2022-11-24 20:34:40 -05:00
Jon Evans
7a9467b0d5
Get rid of some gcc warnings
2022-11-24 17:05:58 -05:00
Jeff Young
32836da14b
Don't show annular rings controls for vias that span only a single layer.
2022-11-24 18:05:37 +00:00
Jeff Young
d6ae915616
Pay attention to layers when sorting pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-11-24 15:47:10 +00:00
Seth Hillbrand
47d86e5d9e
Don't crash when canceling graphics import
...
Grouped graphics need to have their group removed from the preview
before deleting the elements to avoid reading freed memory when
redrawing
2022-11-23 16:21:06 -08:00
Jeff Young
16db0440ba
Fix logic that was accidentally flipped in earlier commit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12962
Fixes https://gitlab.com/kicad/code/kicad/issues/12969
2022-11-23 23:10:28 +00:00
Jeff Young
1aad2fb37b
Change via keep-start-end to be start/end, not top/bottom.
...
The implementation used to always check F_Cu and B_Cu, rather than
where the via started and ended (which will be different for blind/
buried vias and microvias).
2022-11-23 21:37:50 +00:00
Jeff Young
5de4bfde93
Move drilled NPTH holes to hole-clearance checking. Edge-clearance
...
checking is just for milled holes (slots).
Fixes https://gitlab.com/kicad/code/kicad/issues/12980
2022-11-23 13:31:51 +00:00
Jeff Young
e62463b52b
Don't store optimized anchors in CN_ITEMs.
...
It appears that multiple RN_NETs can refer to the same CN_ITEMs meaning
that we run into threading problems if we modify the CN_ITEM.
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-23 00:46:06 +00:00
Mike Williams
60d42a7b1e
Spelling: fix various suppress misspellings
2022-11-22 13:47:10 -05:00
Jeff Young
b42d5da07d
Check keepTopBottom when determining whether or not to flash a pad/via.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12961
2022-11-22 18:18:43 +00:00
Jeff Young
8b1ffca7fa
Better reporting of nets and netclasses.
2022-11-22 14:54:08 +00:00
Jeff Young
97fd99ec99
Re-resolve netclasses after assigning netclass to pattern.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12965
2022-11-22 14:54:08 +00:00
Seth Hillbrand
9403b5ce99
Unescape strings in search panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12963
2022-11-22 05:51:31 -08:00
Jeff Young
50089ce558
Fix errors in handling of std::shared_ptrs.
...
We can't reset to a pointer owned by another std::shared_ptr.
2022-11-22 13:14:00 +00:00
Jeff Young
226529235c
Mostly const safety, but also performance opt. by avoiding shared_ptr overhead.
2022-11-22 12:21:30 +00:00
Seth Hillbrand
740dbdf09a
De-initialize propertygrid when done
...
There doesn't appear to be a nice way to de-register wxPropertyGrids, so
we need to reach into the singleton and remove our registered editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-21 16:36:00 -08:00
Seth Hillbrand
0e818360c4
Unescape netnames in search panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12960
2022-11-21 15:47:14 -08:00
Seth Hillbrand
50ecb5b498
Remove errant printf
2022-11-21 15:19:45 -08:00
Jeff Young
11130bfd88
Backing out earlier fix in favour of fixing std::shared_ptr usage.
...
Assigning to a reference to a std::shared_ptr does not update the
reference to a different std::shared_ptr; it changes what the
std::shared_ptr points to.
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-21 21:56:17 +00:00
Jeff Young
106508f266
Split ratsnest optimization into separate parallel threads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-21 18:50:44 +00:00
Seth Hillbrand
3b31955d98
Get hit test in group members
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12957
2022-11-21 09:28:49 -08:00
Seth Hillbrand
01138a2e19
Fix fillet action for lines
...
Generalize fillet action behavior to all straight lines in pcbnew
Fixes https://gitlab.com/kicad/code/kicad/issues/4742
2022-11-21 07:01:14 -08:00
Jeff Young
c1510f07d8
Fix some issues with group bounding boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12958
2022-11-20 23:57:36 +00:00
Jeff Young
0120df014e
Give group the right parent when pasting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12954
2022-11-20 22:52:06 +00:00
Alex
12a55f20d3
Fix a mistake in grip margin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12952
2022-11-21 00:25:19 +05:00
Alex
dd2f19ca5f
Allow router cursor snapping to points on the arc.
...
Also don't disable grid snapping when holding Shift over arcs.
2022-11-20 16:56:25 +05:00
Alex
110bc6abd1
Fix router cursor glitching on H/V track segments.
...
Also don't disable grid snapping when holding Shift over tracks.
2022-11-20 16:56:25 +05:00
Kliment
c5fe265eb4
Take axis inversion into account when importing graphics. Fixes #9351 .
2022-11-19 17:25:27 +01:00
Jeff Young
9b2606018e
Fix shadowed variable.
2022-11-19 11:53:33 +00:00
Jeff Young
bab2b6c4b6
Don't assume a 1:1 map between Altium and Kicad nets.
...
We've found at least one Altium board which has duplicate netcodes
for the same net.
Fixes https://gitlab.com/kicad/code/kicad/issues/12909
2022-11-19 11:53:33 +00:00
Jeff Young
b82ec9595a
Allow board importing into project.
2022-11-19 11:53:33 +00:00
jean-pierre charras
035031d902
BOARD_CONNECTED_ITEM::GetShortNetname(): protect against nullptr.
...
m_netinfo was not tested against nullptr in this method, although it is
tested in all other places.
2022-11-19 11:16:47 +01:00
jean-pierre charras
9f0c03db94
Export STEP dialog: Fix outdated text (virtual components). Replaced by
...
"not mounted components" and added a tooltip.
No actual code change.
Fixes #12922
https://gitlab.com/kicad/code/kicad/issues/12922
2022-11-19 09:31:37 +01:00
Alex
126d224e44
array_creator: Transform item before adding, modify only the first one.
2022-11-19 04:07:35 +05:00
Jeff Young
11dddefd05
Implement GetEffectiveShape for groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12940
2022-11-18 21:13:23 +00:00
Alex
38fd1c9985
pcbnew: Improve performance when something is selected.
2022-11-19 01:53:30 +05:00
Jeff Young
c409646aad
Update message panel after rebuilding connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Tomasz Wlostowski
24c271d508
router: GetUpdatedItems() now returns an unique_ptr to the temporary NODE so that the items it owns do not get deleted upon return from the method
2022-11-18 15:14:33 +01:00
Tomasz Wlostowski
644c76b9c6
router: follow up via force propagation interface changes in the via DRAGGER
2022-11-18 15:14:09 +01:00
Tomasz Wlostowski
dcfb35f002
router: more resilient via force propagation
2022-11-18 15:14:09 +01:00
jean-pierre charras
3960f48b5d
Fix a fatal compil error on gcc.
2022-11-17 08:39:42 +01:00
Jeff Young
bba6d503d4
Don't keep value of user or grid anchors between invocations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12065
2022-11-17 00:51:52 +00:00
Alex
5e7c4b734c
Small optimizations in DRC and SHAPE_POLY_SET.
2022-11-17 02:10:22 +05:00
Alex
3dea146488
router: Clear rule resolver caches on routing/dragging start.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12907
2022-11-17 02:10:21 +05:00
Alex
3f790d9dae
Revert "router: Disable writing clearance cache for items in local variables."
...
This reverts commit 6d71f27500
.
Caused a performance drop in walkaround mode.
2022-11-17 02:10:20 +05:00
Jeff Young
cefc5268ab
Allow pads in selection and filter them for free-pads later.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12912
2022-11-16 18:37:40 +00:00
Alex
6d71f27500
router: Disable writing clearance cache for items in local variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12907
2022-11-16 21:19:56 +05:00
Jeff Young
1b3f03a800
Don't feed wxWidgets negative column widths.
2022-11-16 13:33:55 +00:00
Jeff Young
13f5c78e89
More tightening of group parent lifecycles.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12908
2022-11-16 00:42:38 +00:00
Tomasz Wlostowski
26a38797c7
router: log and replay the 'unfix' events too
2022-11-15 23:05:53 +01:00
Tomasz Wlostowski
b507c44d74
router: fix regression in Backspace (unfix/undo last segment) caused by redesign of the line placement algo
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12835
2022-11-15 23:05:53 +01:00
Alex
f9bfb8534f
Fix orientation of track netnames.
2022-11-16 00:43:06 +05:00
Jeff Young
5759a3a10a
Fix copy/pasta from previous commit.
2022-11-15 16:01:24 +00:00
jean-pierre charras
f13ffa8276
Step export: fix incorrect export of a pcb with multiple main outlines.
...
The code was existing but did not work fine with more than one outline
Fixes #6684
https://gitlab.com/kicad/code/kicad/issues/6684
2022-11-15 16:37:00 +01:00
Jeff Young
9724f6e736
Don't allow zone filling during other editing operations.
...
It's a very heavy op, and is likely to violate all manner of
assumptions the other ops make.
Fixes https://gitlab.com/kicad/code/kicad/issues/12736
2022-11-14 23:39:49 +00:00
Jeff Young
93c6d99a6d
Move saving preferences out of the destructor.
...
For other reasons we wrap the adapters in a wxDataObject, which has
delayed destruction semantics, but that means the settings stuff may
no longer be around when the d'tor executes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12371
2022-11-14 20:01:37 +00:00
Jeff Young
bc0a753238
Slight improvement to overly-wide checkbox columns.
2022-11-14 20:01:37 +00:00
Marek Roszko
e85a84b8a3
Fix the step export for now
...
Need to fix argparse to handle single quotes and double quotes better
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12899
2022-11-14 07:31:23 -05:00
jean-pierre charras
f51db4e093
Fix some Coverity and compil warnings.
2022-11-14 09:02:40 +01:00
Marek Roszko
50dcf258e6
Adjust the position file comment header
2022-11-13 18:43:49 -05:00
Marek Roszko
d3606cb4e4
Fix position export job not running
2022-11-13 18:42:23 -05:00
Jeff Young
f4944f0db3
Quiet clang getting its knickers in a knot over case fallthroughs.
2022-11-13 23:01:48 +00:00
Jeff Young
9d8fdd8d53
Fire selection events from SelectAll().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12896
2022-11-13 22:59:21 +00:00
Marek Roszko
cedef5912e
Link to zlib for pcbnew due to step
2022-11-13 17:58:41 -05:00
Alex
126914859a
Use correct pad to die lengths in DP length tuner.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12859
2022-11-13 21:07:09 +00:00
Marek Roszko
ea83449ef7
Change up the step export arg handling to single quote for now
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12890
2022-11-13 11:49:20 -05:00
Marek Roszko
0a8db3bb88
Fix forgotten handling of origin offsets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12889
2022-11-13 09:22:59 -05:00
Jeff Young
7089e99f4b
Integrate move individually into move algo so other commands don't choke.
...
Also adds commands to cancel and finish move individually.
Fixes https://gitlab.com/kicad/code/kicad/issues/12750
Fixes https://gitlab.com/kicad/code/kicad/issues/12749
2022-11-13 13:18:42 +00:00
Jeff Young
365674dfdf
Footprints in the footprint editor can't be in a group.
2022-11-13 13:18:42 +00:00
Jeff Young
6a9a1e6e65
Print hole walls if in colour (and printing real drill sizes).
2022-11-13 13:18:42 +00:00
jean-pierre charras
49ff3513e7
Add missing lib (libz) in lib list to link on msys2
2022-11-13 09:29:48 +01:00
jean-pierre charras
9c5fbdb040
Fix compatibility with OCC version 7.4 and older
2022-11-13 08:18:10 +01:00
Marek Roszko
066a609b39
Cleanup warnings in the step exporter
2022-11-12 21:52:54 -05:00
Marek Roszko
3dd2ae762d
Refactor step export to use our normal board processing routines
2022-11-12 21:27:10 -05:00
jean-pierre charras
248181e62d
Fix Coverity and compil warnings.
2022-11-12 16:02:24 +01:00
jean-pierre charras
90238dede8
PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option
...
Fixes #12880
https://gitlab.com/kicad/code/kicad/issues/12880
2022-11-12 16:02:24 +01:00
jean-pierre charras
31bad5baaa
Avoid duplicating similar options in print and plot headers
2022-11-12 16:02:24 +01:00
Alex
348c3d4216
Fix an incorrect calculation in length tuning tools.
...
MEANDER_PLACER_BASE::lineLength wasn't calculating the length correctly
when starting and ending pads were on different layers.
Naturally, now jointA corresponds to the start of the path, jointB to the end.
Fixes https://gitlab.com/kicad/code/kicad/issues/12881
2022-11-12 13:11:27 +00:00
Jeff Young
d9987e9569
Orig_items will have been invalidated by Revert.
...
Don't use it to rebuild the selection. Use the board_item flags instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/12882
2022-11-11 22:57:38 +00:00
Jeff Young
138f835672
Retire group bbox cache.
...
It's too hard to maintain when changes to other items (the groups
members) affect it.
2022-11-11 20:31:31 +00:00
Jeff Young
3fc727bb91
Clear selection before deleting objects during conversion.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12879
2022-11-11 17:53:01 +00:00
Jeff Young
03ba14c6d3
Tighten lifecycle management of parent group pointers.
...
Also adds some debugging to try to catch dangling pointers.
Also adds a cache for group bounding boxes (which will be expensive
to calculate for large groups).
Fixes https://gitlab.com/kicad/code/kicad/issues/12875
2022-11-11 17:27:28 +00:00
Alex
0b4fc8f50d
Fix bugs in PCB arc editing.
2022-11-11 15:00:36 +05:00
Alex
46d4861187
Use the 45-degree limit button to apply alternative constraint.
2022-11-11 15:00:36 +05:00
Alex
8b0f3f1ee7
Set keeping the center as the default arc editing mode.
2022-11-11 15:00:36 +05:00
Jeff Young
f846bc833b
Don't error out when enumeration of footprints fails.
...
We still want to load the ones that did enumerate.
Fixes https://gitlab.com/kicad/code/kicad/issues/12864
2022-11-10 13:48:04 +00:00
Jeff Young
36eb853570
Formatting.
2022-11-10 13:48:04 +00:00
Jeff Young
3e3ed0f3ee
Formatting and naming. (No functional changes.)
2022-11-09 16:31:29 +00:00
Jeff Young
da171b9665
0,0 origin isn't an option we give to the user.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12324
2022-11-09 16:20:52 +00:00
Jeff Young
3f63f9fc57
Don't prune inner layers of through-hole parts.
...
For historical reasons we've always included ALL inner layers in these
items and changing that has uncovered several latent bugs. Rather
than find all the rest this late in the game, I went back to storing
all inner layers, even those the board doesn't currently have.
Fixes https://gitlab.com/kicad/code/kicad/issues/12863
2022-11-09 15:58:14 +00:00
Jeff Young
63f937db85
Don't use drag origin for real drag events.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12763
2022-11-09 13:09:31 +00:00
Jeff Young
4066850f37
Use event point to determine if we're still in draggable item.
2022-11-09 13:09:01 +00:00
jean-pierre charras
85e44c2dae
pcbnew, SVG import: fix an issue for SVG files using a CR+LF end of file
...
The issue was in a validity test working only if CR+LF is not replaced by LF
Fixes #10096
https://gitlab.com/kicad/code/kicad/issues/10096
2022-11-09 09:33:51 +01:00
Seth Hillbrand
8b7d997a6d
Fix broken refactor
...
Don't trust the automatic refactor. It misses the strangest things
2022-11-08 20:30:30 -08:00
Seth Hillbrand
39774463db
Remove extra line
2022-11-08 16:35:03 -08:00
Jeff Young
2ada7db282
Update footprint editor's board with changed prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12678
2022-11-09 00:30:39 +00:00
Seth Hillbrand
056f45cd70
Fixup most intersecting polygon points
...
Remaining is the intersecting complex pad, so this keeps the error
message when drawing
Fixes https://gitlab.com/kicad/code/kicad/issues/12806
2022-11-08 16:05:04 -08:00
Jeff Young
2cfe78170c
Honour selection filter when picking move anchors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12773
2022-11-08 16:27:18 +00:00
Jeff Young
1d7c5dce70
Don't attempt to write zone-connection-layers to footprint library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12857
2022-11-08 12:13:15 +00:00
jean-pierre charras
9501f4303d
Rename CreateWindow to CreateKiWindow to avoid a collision name with a windows header
...
No code change, but it fix an issue specific to msys2 that bother me when
trying to fix issues with wx 3.0.x version
2022-11-08 12:31:07 +01:00
jean-pierre charras
cb3d215b6a
Fix compil and Coverity warnings.
2022-11-08 11:53:13 +01:00
Marek Roszko
d8e9436d92
Fix step export not resolving variables
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12754
2022-11-07 23:21:48 -05:00
Marek Roszko
cd30da179a
Round out the cli with position file export
2022-11-07 19:53:35 -05:00
Jeff Young
be8bbcaac3
Send Selected event even if the result is an empty selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12849
2022-11-07 19:47:51 +00:00
Jeff Young
b5f62da5d9
Respect synthetic layer visibility when selecting footprint texts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12850
2022-11-07 19:26:14 +00:00
Jeff Young
ae741b93e6
Resore push/pop-less PickerTool.
...
(Functionality was accidentallly lost when we removed the opt command
strings.)
2022-11-07 19:11:12 +00:00
dsa-t
0b3ecdd968
Revert "Fix handling of self-intersecting polygons"
...
This reverts commit ed309e20da
2022-11-07 09:41:56 +00:00
jean-pierre charras
dc6fcc262c
Pcbnew : allows overwriting viewport with same name in appearance manager.
...
Fixes #12765
https://gitlab.com/kicad/code/kicad/issues/12765
2022-11-07 09:11:49 +01:00
Jeff Young
be29ab2c76
Need to check enabled as well as visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12786
2022-11-06 19:53:57 +00:00
Jeff Young
396e220133
Non-visible layers are stored in the GPU so still have to be drawn.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12792
2022-11-06 17:37:29 +00:00
Jon Evans
dd94b2d3a7
Rename PROPERTIES to STRING_UTF8_MAP for clarity
...
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Jon Evans
68de92313e
Properties: move to custom editor for distances; refactoring
...
Also fix display of angle values since EDA_ANGLE was introduced
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12290
2022-11-06 11:40:45 -05:00
Jeff Young
90c5295a9f
Fix builds on non-Macs.
2022-11-06 15:07:38 +00:00
Jeff Young
f706ac06b8
Code cleanup.
2022-11-06 11:17:54 +00:00
Jeff Young
b385a4b60a
Implement DarkMode for the Appearances Palette.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11734
2022-11-06 00:34:45 +00:00
Jeff Young
a03799c61e
Don't mark collisions on dragged items, only things they collide with.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8965
2022-11-05 21:54:33 +00:00
Jeff Young
bb618f2d55
Update pointEditor after cancelled move.
2022-11-05 16:50:54 +00:00
Jeff Young
25f06eed8c
Move zone borders back to their "host" layer.
...
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
2022-11-05 16:50:54 +00:00
Jeff Young
0883c0ae64
Remove shadow member variable.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12830
2022-11-05 16:50:54 +00:00
Jeff Young
7b0535e63f
My build seems to want to check this in.
...
I thought the compiled files were outside of the tree?
2022-11-05 16:50:54 +00:00
Jon Evans
995a153f27
Update nlohmann::json to 3.11.2
...
Also update json_schema_validator to match new deprecations
2022-11-05 10:53:57 -04:00
Jeff Young
9fafd6feff
Add missing constraint type to help.
2022-11-05 10:23:12 +00:00
Seth Hillbrand
c1f2ca1d8d
Make multiple names of the net on a track
...
Rather than moving the netname around, we want to keep the correct
number of netnames on a track such that there is always at least one
displayed on long tracks even when panning.
This reduces calculation time while keeping the netnames visible
Fixes https://gitlab.com/kicad/code/kicad/issues/12436
2022-11-04 11:49:50 -07:00
Seth Hillbrand
c95bd3fc89
Cache LOD for netname redraw
...
When panning, we should only redraw the netnames when they come into
view or go out of view. Caching the LOD provides this preventing
unneeded redraws while still redrawing on zoom changes
Fixes https://gitlab.com/kicad/code/kicad/issues/12436
2022-11-03 13:50:12 -07:00
Seth Hillbrand
8bc9d456c3
Fix area selection calculation
...
area was a double value for comparison of large numbers. But the
promotion from int happened after the multiplication (and overflow) for
large images
Fixes https://gitlab.com/kicad/code/kicad/issues/12821
2022-11-03 11:46:40 -07:00
Jeff Young
d8ddeea14a
Update errors count when errors are logged.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12800
2022-11-03 17:19:59 +00:00
Jeff Young
e33c611488
Replace collision calls with ones that work.
...
I'm not sure why the old calls didn't work, but they reported "no
collision" between two overlapping zones.
2022-11-03 17:19:59 +00:00
Jeff Young
13b097396b
More explicit error message for unnumbered pins.
2022-11-03 17:19:59 +00:00
Marek Roszko
bc45ae1b72
Move a dialog that was hiding in the filetree
2022-11-02 22:30:46 -04:00
Sylwester Kocjan
a234d5a2c8
common,eeschema,pcbnew: path cleanup
2022-11-02 13:29:52 +00:00
Jeff Young
619c340d92
Handle holes when building outlines for copper sliver checker.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12797
2022-11-01 23:33:44 +00:00
Jeff Young
1f4e51b008
Be careful of interveneing priority zones when doing divot prevention.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12797
2022-11-01 23:33:44 +00:00
Seth Hillbrand
ed309e20da
Fix handling of self-intersecting polygons
...
We allow temporary self-intersection but before committing, we reduce
the polygon to a single outline (optionally with holes)
Fixes https://gitlab.com/kicad/code/kicad/issues/12806
2022-11-01 13:09:11 -07:00
Jon Evans
a5d685ff5c
Handle coordinate transforms in properties system
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12320
2022-10-31 23:01:52 -04:00
Seth Hillbrand
c7c4439027
Allow bezier->line/poly conversion
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12778
2022-10-31 12:48:53 -07:00
Tomasz Wlostowski
a0105efc0c
router: major rewrite of shove/walkaround single line placement. An attempt to fix most router blockages/non-45 stray segments and simplar stuff. Also adds a ton of debug geometry cruft.
...
fixes: 12258
fixes: 12067
fixes: 10807
fixes: 10632
2022-10-31 11:38:31 +01:00
Tomasz Wlostowski
70bca1b2d5
router: allow caller to override the 'safety' length limit in WALKAROUND
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
363d606503
router: improved heuristics in via force propagation algorithm
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
1ddabd4eaf
router: some extra debug geometry dumps in SHOVE
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
165b5257e8
router: temporaily disable upper corner count limit constraint in the OPTIMIZER which prevents almost any optimization of shoved lines
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
e80bdf934a
router: add via force propagation iteration limit as a user-controllable parameter in ROUTING_SETTINGS
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
247922ca2d
router: LINE::SetShape() should update the attached via position with the last point of the new line shape
2022-10-31 11:17:32 +01:00
Tomasz Wlostowski
3e67b42efd
router: fix another corner case in LINE::Walkaround
2022-10-31 11:17:31 +01:00
Tomasz Wlostowski
65507e7186
router: extend dump format to support automatic regressions tests of interactive routing scenarios
2022-10-31 11:17:31 +01:00
jean-pierre charras
d289130627
fix memory leak and missing switch to "C" locale in some handlers
...
PCBNEW_JOBS_HANDLER::JobExportGerber(): disable plot pad holes.
2022-10-31 10:04:01 +01:00
Jon Evans
ed4a40ee4f
Save state of appearance panel panes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9087
2022-10-30 19:46:15 -04:00
Marek Roszko
0a134788d0
Implement cli for gerber, drill, pdf export of pcb
2022-10-29 11:56:10 -04:00
jean-pierre charras
8d44c770a8
board_commit.cpp: Avoid generating a wxAssert message in QA test.
...
In QA test, frame and selTool are nullptr.
So we cannot use wxCHECK( frame && selTool,...) because it breaks the QA test.
We just test frame and selTool when needed.
2022-10-29 16:28:57 +02:00
Seth Hillbrand
aca3329469
Remove superfluous Simplify call
2022-10-28 17:01:36 -07:00
Jeff Young
01b4c20c94
Router only owns message panel when routing.
...
Also fixes a pair of copy/paste error not caught earlier.
Fixes https://gitlab.com/kicad/code/kicad/issues/12780
2022-10-28 22:51:43 +01:00
Wayne Stambaugh
e1af4c5cf6
Pcbnew move item dialog layout improvements.
...
Don't use wxBU_EXACTFIT to define the reset buttons. On GTK, there is no
border around the button text which does looks cramped and inconsistent
with the other buttons.
2022-10-28 14:27:35 -04:00
Jeff Young
3b3e6de515
Disable mirror commands when a single footprint is selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12752
2022-10-28 19:20:24 +01:00
Seth Hillbrand
7a874255c5
Be smarter about canceling fills
...
Handles cancellation in main fill loop. Allows loops to finish without
restarting new ones. Further enhancement might allow breaking threads
cleanly but this gets 90% of the cases
Fixes https://gitlab.com/kicad/code/kicad/issues/12693
2022-10-28 10:17:58 -07:00
Jeff Young
24f8bf2adf
Clear Editing Board Footprint message when loading new footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12783
2022-10-28 15:59:03 +01:00
Jeff Young
78db69bb48
Don't append '+' when modifier used on its own.
2022-10-27 18:03:07 +01:00
Jeff Young
f6c441c434
Viewport switcher keys are platform-specific.
...
Also fixes a regression where ctrl-tab doesn't get recognized.
Fixes https://gitlab.com/kicad/code/kicad/issues/11778
Fixes https://gitlab.com/kicad/code/kicad/issues/10127
2022-10-27 14:28:11 +01:00
Jeff Young
ef17ee3384
Tooltips for layer & viewer presets.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11778
2022-10-27 14:27:19 +01:00
Wayne Stambaugh
6a0db3e7e2
Fix Coverity warnings.
2022-10-26 14:39:44 -04:00
Marek Roszko
a7e1f668a7
Some cleanup of the cli functions
2022-10-25 23:26:23 -04:00
Marek Roszko
2b8a29b662
Try and make the svg command handling warn a little, also default the output
2022-10-25 20:17:25 -04:00
Jon Evans
5f0ebfbfbd
Expose black&white setting for PDF plotting also
...
Also fix an issue plotting tech layers for pads in color
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12740
2022-10-25 19:06:19 -04:00
Jeff Young
9380b9a451
Trim pad layers to current board before comparing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12758
2022-10-25 23:53:10 +01:00
Jeff Young
c026c3af7b
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12753
2022-10-25 18:28:31 +01:00
Jeff Young
5fe5534822
Clean up layer handling and normalize to remove magic numbers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12747
2022-10-25 12:31:47 +01:00
Jeff Young
f480cbf93f
Treat internal copper layers as side-specific.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-25 12:08:57 +01:00
Fabien Corona
20b63f305e
Sim: Ibis improvements and fixes
...
Follow-up after the KIBIS and KIBIS GUI merge requests.
- Move KIBIS from Pcbnew to Eeschema space,
- Make KIBIS obtain the Ku/Kd coefficients via the `SPICE_SIMULATOR` class instead of calling the `ngspice` executable via `system()`,
- Allow to toggle between differential and single-ended model in the GUI,
- Various GUI fixes and improvements.
2022-10-25 09:45:40 +00:00
Marek Roszko
b058ef2d87
Add the missing black and white setting to Plot -> SVG
2022-10-24 22:46:01 -04:00
Jon Evans
960c92634f
Improve logic of Position Relative tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12672
(cherry picked from commit 2d2912c23d
)
2022-10-24 18:47:38 -04:00
Jeff Young
d6fca11419
Finish up work on PlaceFile settings persistence.
...
We were missing several flags, and using the Plot output directory
instead of saving our own.
Fixes https://gitlab.com/kicad/code/kicad/issues/12715
Fixes https://gitlab.com/kicad/code/kicad/issues/12714
2022-10-24 22:23:11 +01:00
Jeff Young
fa2a36b74e
Add SMD and TH settings to config, and get rid of intermediate vars.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12715
2022-10-24 19:50:59 +01:00
Jeff Young
4778122aa0
Flip anything on a side-specific layer, rather than physical layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12726
2022-10-24 16:54:33 +01:00
Marek Roszko
d06155f6af
Allow the search pane to highlight nets
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/12551
2022-10-23 19:54:12 -04:00
Jeff Young
2dec37f806
We must check clearance on all layers of multi-layer items.
...
(One layer may have a custom rule.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12733
2022-10-24 00:14:12 +01:00
Jeff Young
cef7cd8f7c
Move default font to RENDER_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12723
2022-10-22 21:32:42 +01:00
Wayne Stambaugh
d78b41969f
Fix broken autosave when board is modified.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12700
2022-10-22 15:49:03 -04:00
jean-pierre charras
63002cec57
Do not add a title/comment in mandatory field strings when writting netlists.
...
This is mainly for "Sheetfile" property because current it is the only one
that has a title when plotting/drawing it.
2022-10-22 12:50:26 +02:00
Jeff Young
ce2dbdec75
Formatting and a bit of cleanup.
2022-10-21 18:41:39 +01:00
Jeff Young
d16b23d16e
Name shortening and line-break reduction.
2022-10-21 18:41:39 +01:00
Seth Hillbrand
d1bf889e71
Resolve embedded text vars
...
Title Block text variables are embedded into the pcb file and should
be used for resolving when the project file is missing
2022-10-21 08:37:37 -07:00
Alex
67985510a8
Fix selecting pads of footprints in groups.
2022-10-21 17:13:24 +03:00
Jeff Young
585fac19c6
Copy connected-only and keep-top-bottom properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12691
2022-10-21 00:05:11 +01:00
Jeff Young
6fd195c389
Use comma to separate diff pair nets/netclassse rather than /.
...
("/" is problematic because it's more likely to appear in netnames.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
2022-10-21 00:05:11 +01:00
Jeff Young
3451506d25
Slight performance improvement.
2022-10-20 18:37:48 +01:00
Jeff Young
323c04af2c
Fix order-of-ops issue with calling collide before tesselating.
2022-10-20 18:37:48 +01:00
jean-pierre charras
6aa515e2f8
board_stackup_manager: fix incorrect behavior when adding a new dielectric layer.
...
Fixes #12680
https://gitlab.com/kicad/code/kicad/issues/12680
2022-10-20 11:27:35 +02:00
Jeff Young
e3842514e7
Move courtyard collision setting to preferences.
...
Also cleans up PCBNew/FPEditor edit options panel to be more in sync
with each other.
2022-10-19 11:33:11 +01:00
Jeff Young
403cc50e7c
Don't exit group when the cancel went to another tool.
...
Also fixes a bug where the group border didn't get updated immediately
on enter/exit.
Fixes https://gitlab.com/kicad/code/kicad/issues/12669
2022-10-18 17:53:06 +01:00
Jeff Young
8d40bf25d6
Need to setup outline mode stuff if it's turned on late.
2022-10-18 14:41:27 +01:00
Jeff Young
1f0fa3ef63
Fix bug in new optionally-flashed via/pad zone fill logic.
2022-10-18 14:02:47 +01:00
Jeff Young
4633d251a5
Remove single-zone-fill and unfill.
...
These are incompatible with our zone-priority-based algorithms.
2022-10-18 13:45:28 +01:00
Jeff Young
437d2c4589
Overhaul of remove-unconnected's zone filling and drawing strategies.
...
1) The highest priority zone that a via/pad collides with "owns" its
connectivity state. Once set, lower priority zones cannot change it --
and in fact, if they would have connected to it are forced not to.
2) The connectivity state goes with the zone fill state, and therefore
must be saved in the file.
3) Display of remove-unconnected's pads is no longer done in GetViewLOD()
(which isn't called for selected items), and is instead done in PCB_PAINTER.
This allows us to draw the full pad in outline mode when a via/pad is
selected which would otherwise only show the hole.
4) Note that in some cases this will still generate DRC errors -- in
particular when a via nearly collides with a higher priority zone it
won't get "owned" by that zone and may therefore have insufficient
clearance if said zone concludes it's unconnected and a subsequent
(lower priority) zone connects to it (causing it to now become flashed).
Fixes https://gitlab.com/kicad/code/kicad/issues/11299
2022-10-18 13:05:42 +01:00
Wayne Stambaugh
598b09821a
Coverity fixes.
2022-10-17 15:30:20 -04:00
Jeff Young
92f1ee556f
Don't fill drawing sheet rects with transparent fill.
...
It might make sense to do that with board and/or schematic items for
hit-testing or something, but it definitely doesn't make any sense for
the drawing sheet border.
Also, when reading in items with a transparent fill, treat them as
unfilled (otherwise we get filled with layer colour in at least PCBNew).
2022-10-17 17:51:11 +01:00
Jeff Young
413fd82813
Re-entrancy guard for router tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12604
2022-10-17 13:21:07 +01:00
Jeff Young
46752499df
We need both a tool-oriented delete and one that doesn't push/pop, etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12600
2022-10-17 13:21:07 +01:00
jean-pierre charras
f3bb34779a
TransformTextShapeWithClearanceToPolygon() add optimization for 3D viewer.
...
This function convert a text shape to a set of polygons for the 3D viewer.
Texts shapes are a bit special and can generate a lot of small overlapping polygons.
These polygons are now merged before being added to the list of polygons handled
by the 3D viewer draw functions.
Locally merging polygons is usually not efficient but in this case it can speedup
the 3D viewer (up to 10x).
Mainly noticeable for silkscreen layers when the "copper" thickness is shown
2022-10-17 07:32:30 +02:00
Jeff Young
3e53426b6c
Use same ratsnest colours in the router as the rest of KiCad.
2022-10-16 22:21:14 +01:00
Jeff Young
e9f8454a67
No DRC engine in footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12658
2022-10-16 18:39:37 +01:00
Jeff Young
631980b0ab
We were saving the old board pointer, but not updating the current one.
...
This also makes a few other adjustments to order and to where we look
for the enabled layers which should make it more robust.
Fixes https://gitlab.com/kicad/code/kicad/issues/10925
2022-10-16 18:39:37 +01:00
Jeff Young
73e1676bdb
Fix const-reference property access.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12639
2022-10-15 20:22:38 +01:00
Jeff Young
d1fb32f26c
Formatting.
2022-10-15 19:09:25 +01:00
Jeff Young
4af98827fd
Revert change for 11299, and update removed-pad items after zone fills.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12645
2022-10-15 16:06:57 +01:00
Jeff Young
b012cc1ac3
Don't resolve footprint text variables in footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12658
2022-10-15 16:05:22 +01:00
Jeff Young
0d7185c2ff
Fix mismatch between PCB_VIA defaults and file format defaults.
2022-10-15 11:17:58 +01:00
jean-pierre charras
a855c9a40c
Fix not handled exceptions.
2022-10-15 10:27:00 +02:00
jean-pierre charras
8098db2a20
BuildBoardPolygonOutlines: enable multiple main outlines: it works fine in 3D viewer.
2022-10-15 09:33:27 +02:00
Seth Hillbrand
697056fa7e
Correctly sort positions for default align
...
When not aligning under mouse cursor, choose the X-most element where X
is top/bottom/left/right. Previous sorting was not correct for two
directions
Fixes https://gitlab.com/kicad/code/kicad/issues/12627
2022-10-14 16:15:06 -07:00
Jeff Young
7ffdfb1067
Clear Scintilla undo history after setting initial text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12650
2022-10-14 22:01:20 +01:00
Jeff Young
6f9bc0980b
Refactor poly outline generator to handle multiple outlines.
...
Note: disjoint outlines are handled in footprint courtyards, but not
for board outlines.
Fixes https://gitlab.com/kicad/code/kicad/issues/7660
2022-10-14 20:32:04 +01:00
Jeff Young
6357c83a8c
Debug code to try and catch Undo/SyncWorld mismatch.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12640
2022-10-14 13:25:25 +01:00
Jeff Young
07d9671126
Repair unbalanced UndoRedoBlock call.
2022-10-14 11:44:04 +01:00
Jeff Young
b01bf081d8
Cleanup.
2022-10-14 11:12:25 +01:00
Jeff Young
de5980b92e
Share more of the courtyard collision highlighting code.
2022-10-14 10:42:07 +01:00
Jeff Young
11dc5424cb
Pull interactive courtyard checker out of move tool to share with router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12594
2022-10-14 00:48:37 +01:00
Jeff Young
8f1b4a9c03
Include cleanup.
2022-10-13 23:15:41 +01:00
Jeff Young
3090363cd5
Copy via flags down to the level the router consumes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12591
2022-10-13 17:41:42 +01:00
Jeff Young
46a41e2e34
Pin 0-sized pads at 1um rather than throwing them out.
...
(See bug report for more commentary.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12617
2022-10-13 14:47:50 +01:00
Jeff Young
08260661b8
Force flashing when generating SOLIDs.
...
We only have a single SOLID per pad, so the solid's shape must always
be the flashed shape and then we can do layer-specific flashing tests
internally.
Fixes https://gitlab.com/kicad/code/kicad/issues/12458
2022-10-13 13:05:51 +01:00
Jeff Young
d1450e1802
Commenting.
2022-10-13 13:05:51 +01:00
Jeff Young
8b9cbd5805
Don't reset editPad if it still exists after model reset.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12630
2022-10-13 00:07:30 +01:00
Jeff Young
efa14e501c
Cleanup.
2022-10-12 16:36:54 +01:00
jean-pierre charras
d0d625dcb5
BOARD_INSPECTION_TOOL::LocalRatsnestTool(): set a suitable cursor when activated.
2022-10-12 15:56:41 +02:00
Jeff Young
bd1114d94d
Move footprint properties dialogs to symbol properties grid resizing strategy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9883
2022-10-12 00:38:44 +01:00
Jeff Young
e02c05d38f
Add unit and eval support to WX_GRIDs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1871
Fixes https://gitlab.com/kicad/code/kicad/issues/4285
2022-10-11 23:40:58 +01:00
Seth Hillbrand
c9f11827a7
Don't connect disparate nets
...
Only some elements get their nets assigned based on connectivity. Other
elements should be keps in different clusters for connection
Fixes https://gitlab.com/kicad/code/kicad/issues/12622
2022-10-11 15:03:51 -07:00
Jeff Young
57a6aeb86a
Redraw ratsnest after removing teardrops.
...
No, I don't know why this is needed. But after a couple of hours trying
to chase it down, return-on-investment is fading....
Fixes https://gitlab.com/kicad/code/kicad/issues/12420
2022-10-10 21:07:18 +01:00
Jeff Young
83310659fd
Basic geometry: R != D.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12601
2022-10-10 19:18:37 +01:00
Jeff Young
8470b178cd
Use actual pad shapes or built outline instead of effective shpaes for anchors.
...
The effective shapes don't work very well in the custom pad or rounded
rectangle cases, and they're somewhat slower in some of the other cases.
Fixes https://gitlab.com/kicad/code/kicad/issues/12601
2022-10-10 18:11:32 +01:00
Jeff Young
3221877fe8
Push autosave-require down in to EDA_BASE_FRAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11790
2022-10-10 14:03:52 +01:00
Jeff Young
be6f08deca
Code clarity. (No functional changes.)
2022-10-10 14:03:52 +01:00
Jeff Young
b2f05c758b
We don't always have a line when dragging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12612
2022-10-10 11:44:17 +01:00
Jeff Young
ea6fb84351
Formatting.
2022-10-10 11:44:17 +01:00
aris-kimi
6bc00eabaf
dialog_dxf_import dialog minor UI fixes
2022-10-10 02:51:24 +00:00
Jeff Young
35a14b8e5d
Better error messages (and make an empty pad an error, not a warning).
2022-10-09 20:28:54 +01:00
Jeff Young
e866dfe137
Avoid trying to draw empty pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12605
2022-10-09 20:28:54 +01:00
Jeff Young
4a66203493
Update zone layers for all layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12128
2022-10-08 23:27:59 +01:00
Marek Roszko
3b63ce8a48
Don't use the 3d resolver config anymore
2022-10-08 14:27:10 -04:00
jean-pierre charras
27f8abd8a1
Fix compatibility with wxWidgets 3.0
...
change wxOVERRIDE -> override
2022-10-08 17:34:37 +02:00
jean-pierre charras
faae4f9eea
kicad2step: force immediate printing of messages (mingw issue: we need to flush the stdout buffer)
2022-10-08 16:43:14 +02:00
Marek Roszko
aaa1d166a7
Redirect step export output to a pretty window
2022-10-08 09:48:00 -04:00
Jeff Young
51c20da93e
Areas might have layers defined in area as well as rule.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12584
2022-10-07 23:52:47 +01:00
Jeff Young
79dabdd484
Fix typo.
2022-10-07 23:52:47 +01:00
Alex
2577ebb94d
Increase dynamic ratsnest opacity for better visibility.
2022-10-07 21:50:12 +00:00
Jeff Young
04fec5016b
Add keepout zones set to keepout footprints to footprint courtyard checker.
...
(This is for the move tool, not DRC. DRC uses more sophisticated keepout
processing which is too slow for the move tool, and doesn't let us know which
keepout area collided for collision highlighting.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12594
2022-10-07 22:23:37 +01:00
Jeff Young
d6f1d5da76
Start-routing list needs to be a white list, not a black list.
...
We check the collisions later in the same routine, which is where all
the black-listed objects come in.
Fixes https://gitlab.com/kicad/code/kicad/issues/12595
2022-10-07 18:18:02 +01:00
jean-pierre charras
b8dfbe02ad
Fix some issues in STEP exporter
2022-10-07 18:53:31 +02:00
Jeff Young
bc58480e24
Missed some other uses of m_startItem in previous commit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
2022-10-07 14:01:46 +01:00
Jeff Young
cbb997a3b5
Use GetCurrentNets(), not m_startItem for message panel updates.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
2022-10-07 10:34:11 +01:00
jean-pierre charras
01a1d148e6
Make a sentence understandable and translatable.
...
Fix a minor compil warning
2022-10-07 10:11:02 +02:00
Alex
165654f114
Expose Switch Arc Posture in context menu.
2022-10-07 08:28:13 +03:00
Alex
d26b59a0bf
Improve arc construction using angles from arc geometry manager.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11713
2022-10-07 06:51:00 +03:00
Alex
2741d0eb4b
Fix crash on Specctra import.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12583
2022-10-07 03:03:34 +03:00
Alex
22917860ef
Move Enter Group for easier access.
2022-10-07 03:03:33 +03:00
Jeff Young
098e96f1c7
Use more precise formatting in DRC messages when less precise values are identical.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
2022-10-06 22:18:53 +01:00
Jeff Young
9119b5072a
Respect DRCEpsilon in diff-pair coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
2022-10-06 22:18:53 +01:00
Jeff Young
d6c7f46842
Formatting.
2022-10-06 22:18:53 +01:00
Alex
0fea6f5ac3
Fix selection and entering in nested groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12586
2022-10-06 21:02:36 +03:00
aris-kimi
f818f3a445
Fix footprint rule and zone area anchors
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12575
2022-10-06 15:29:18 +00:00
Jeff Young
40ad5b6de3
Broaden reset-sizes-after-layer-switch algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12576
2022-10-06 15:50:22 +01:00
Jeff Young
6927e75eae
Handle keepout areas with holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12581
2022-10-06 15:08:56 +01:00
Jeff Young
19d270fe74
Text size sanity checking for TEXT_ITEMS_GRID.
...
Oh dear, there was a bunch going on here. Firstly the move from int
to long long int for ValueFromString() means that we were no longer
catching overflows (as we were C-style casting it back to int in many
places). But even when the overflow is caught, it would run in to
wxWidgets' empty string bug while trying to log it.
Fixes https://gitlab.com/kicad/code/kicad/issues/12577
2022-10-06 13:19:08 +01:00
Jeff Young
d8a3ba7917
Update router sizes when switching layers.
...
We may have layer-specific rules involved. Note that at some point
we also need to do something similar on every "fix route" step to
handle area-specific rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/12576
2022-10-05 16:45:42 +01:00
Mark Roszko
6ddc5c1a6e
Fix run from build dir for step
2022-10-05 03:53:56 +00:00
Marek Roszko
3fe004fd1b
New kicad-cli will now be the cli interface
2022-10-04 22:24:13 -04:00
Seth Hillbrand
87171f53c7
Speedup dynamic ratsnest
...
Removes some unneeded calculations and threads the remaining.
Threading was previously removed to avoid overhead issues with small
boards. This is no longer needed with the thread pool implementation
Fixes https://gitlab.com/kicad/code/kicad/issues/12131
2022-10-04 17:06:45 -07:00
Seth Hillbrand
a0865082fb
Fix compile warnings
2022-10-04 17:06:45 -07:00
jean-pierre charras
0c7b6c3cbc
fix minor compil warnings
2022-10-04 19:51:51 +02:00
Seth Hillbrand
b4f3390626
Drill size is absolute
...
Use hole plating size for visibility only, not zone filling, routing or
DRC
2022-10-04 09:52:40 -07:00
Jeff Young
436d75e7f9
Try to reconcile SELECTION and BRIGHTENED use of overlay.
...
For some reason the overlay doesn't get redrawn during the PCBNew
selection disambiguation menu, so we need to not hide BRIGHTENED
items.
Fixes https://gitlab.com/kicad/code/kicad/issues/12547
2022-10-04 17:01:56 +01:00
Jeff Young
524a43f95e
Don't select footprints on the wrong side if not visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12483
2022-10-04 13:22:06 +01:00
Mark Roszko
fb8a4c10f7
Shove kicad2step into pcbnew itself with a new cli
2022-10-04 01:53:37 +00:00
Seth Hillbrand
b716afd6f1
Clarify various uses of "Center"
...
Distinguish between the english verb "Center" and the noun "Center",
which may be translated differently
Fixes https://gitlab.com/kicad/code/kicad/issues/11109
2022-10-03 12:48:57 -07:00
Seth Hillbrand
15d52c91e4
Clear ratsnest when removing nets
...
While we can keep the vector for nets, we need to ensure that the data
are cleared to prevent stale pointer access
Fixes https://gitlab.com/kicad/code/kicad/issues/12564
2022-10-03 09:33:31 -07:00
Jeff Young
97d4df4154
Better thread safety for zone boundingbox caches.
2022-10-02 19:30:43 +01:00
Jeff Young
adbbceacda
Make footprint type check more narrow, and set default to ignore.
2022-10-02 18:19:43 +01:00
Jeff Young
1fc5ecae6e
Minor dialog layout improvements.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12497
2022-10-02 11:45:30 +01:00
jean-pierre charras
a7775bab26
Manage the Search panel visibility state in view menu.
...
Fixes #12533
https://gitlab.com/kicad/code/kicad/issues/12533
2022-10-02 10:20:26 +02:00
Jon Evans
7059ef9b89
Store netclass visibility separately from nets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10290
2022-10-01 19:54:13 -04:00
Jeff Young
e49de68a59
Implement a more durable zone bounding box caching strategy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
2022-10-01 22:10:43 +01:00
Seth Hillbrand
6d298b661a
Minor speedup for some dynamic ratsnest cases
2022-10-01 13:43:57 -07:00
Jeff Young
d776e908d0
Fix an edge-case in the spoke genration logic for non-cardinal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12549
2022-10-01 19:31:47 +01:00
Jeff Young
7be05e9eb1
Make sure we have nets before grabbing the first.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12554
2022-10-01 13:50:26 +01:00
Jeff Young
ba630971af
Possible fix for move/esc/esc crash.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12553
2022-09-30 23:05:55 +01:00
Jeff Young
c0a666507c
Work around more instances of the wxWidgets color string locale bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
2022-09-30 20:56:25 +01:00
Jeff Young
f095453d3e
Optimize ratsnest line endings for zones.
2022-09-30 19:04:54 +00:00
jean-pierre charras
a2a442a9f7
Plot Gerber, StartPlotBoard(): display a error message if the layer is not valid.
...
It can happens in Python scripts, when the layer is not set when starting plot,
and therefore the Gerber file header is incorrect.
2022-09-30 18:16:11 +02:00
Jeff Young
6a6ef9b1f4
Bring adding-to-group and hiding in sync.
2022-09-30 16:45:00 +01:00
Jeff Young
c87a5ff0ab
Remove elipsis from Remove Teardrops.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12550
2022-09-30 13:04:58 +01:00
Jeff Young
2372f24cb0
Don't include hidden text in group boundingbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12541
2022-09-30 13:02:08 +01:00
Mike Williams
c1da59b560
Swap: disallow swapping tracks / wires
...
Also fix missed shortcut change for S -> Shift-S
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12538
2022-09-29 17:04:43 -04:00
Jeff Young
b6efb88ee9
Fix logic error when filling zones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12542
2022-09-29 17:46:24 +01:00
Jeff Young
d67437a2aa
Move ratsnest exclusion processing to a post-pass.
...
Also fixes a few cases where we were unnecessarily rebuilding
connectivity more than once for an operation.
2022-09-29 17:08:49 +01:00
jean-pierre charras
b5dfa4e2fb
Fix not handled exception, creating a crash.
...
Fixes #12536
https://gitlab.com/kicad/code/kicad/issues/12536
2022-09-29 13:08:23 +02:00
Fabien Corona
7e486327d9
Ibis differential and PRBS models
2022-09-29 08:35:01 +00:00
Seth Hillbrand
9894acea76
Spelling
2022-09-28 17:09:43 -07:00
Alex
4095172259
ADDED: Pack and Move Footprints, improved footprint spread algorithm.
2022-09-28 13:37:23 +00:00
Alex
b6eb5f721a
Remove old rect placement algorithm.
2022-09-28 13:37:23 +00:00
Mike Williams
ba6afafc86
Router Tool: get rid of getNearestRatnestAnchor
...
Unused now that the PNS Router handles the actions that needed it.
2022-09-28 13:29:52 +00:00
Mike Williams
6252840abd
PNS/Router Tool: Refactor Continue From End
2022-09-28 13:29:52 +00:00
Mike Williams
1be0deb58f
PNS/Router Tool: Refactor Finish Route
2022-09-28 13:29:52 +00:00
Mike Williams
b1f2273bc6
PNS: Add CurrentStart() to placers.
2022-09-28 13:29:52 +00:00
jean-pierre charras
dcc325b3b2
More about fix compil issues and warnings, especially in ibis code.
...
A few are msys2 specific and due to include files order.
2022-09-28 11:26:07 +02:00
jean-pierre charras
7d20418d6f
Fix compil issues and warnings, especially in ibis code.
2022-09-28 09:55:00 +02:00
Scott Hanson
5b9fcc0ba0
Cvpcb: Reload footprint libraries in CVPCB
...
CHANGED: Reload footprint libraries in CVPCB when footprint library table(fp-lib-table) is updated
2022-09-27 22:58:03 +00:00
Jeff Young
3a7068b346
Iterate on a copy of the selection since we're going to delete from it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12484
2022-09-27 23:54:19 +01:00
Jonathan Haas
6b15231f4b
Add code to set better default layer widths.
...
This affects both the layer count dropdown and the "Adjust dielectric thickness" button. Changing layer widths will now maintain the same total board width and set layer widths to common manufacturer values. Layer widths can be locked (as before) to keep any manually defined values.
2022-09-27 21:24:48 +00:00
Fabien Corona
528fe4d371
Add Ibis to spice model editor
...
ADDED: IBIS models are now supported in Sim Model Editor
2022-09-27 20:47:00 +00:00
Jeff Young
1a812727cb
Fix some logic errors in importing SVG polygons with holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11479
2022-09-27 17:45:21 +01:00
Alex
dc07ab9df1
Replace PROF_COUNTER with PROF_TIMER in some conditional places.
2022-09-27 14:07:47 +00:00
Jeff Young
b70ffddb04
Terminology and coding style.
2022-09-27 12:23:38 +01:00
Jeff Young
9e580b3116
Other -> Unspecified and a couple of other terminology improvements.
2022-09-27 12:15:18 +01:00
Jeff Young
57a79f3020
Coding standards.
2022-09-27 11:50:14 +01:00
Mike Williams
700edb95e3
PCB Actions: Grab Unconnected
...
Grabs the nearest unconnected item for each selected footprint/pad.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1986
2022-09-26 16:17:41 -04:00
Mike Williams
f4a3062684
PCB: Select Unconnected
...
Selects the all unconnected items for each selected routable item.
2022-09-26 16:17:41 -04:00
Mike Williams
e66393c4dd
PCB Tools: Move Individually
...
Allows moving a selection of components one by one.
2022-09-26 16:17:41 -04:00
Marek Roszko
cfa26fb706
Fix footprint relative path resolution for idf/vrml export
2022-09-25 23:40:25 -04:00
Marek Roszko
707a598e5d
Prevent a crash due to the 3d preview dummy board stealing setting ownership
2022-09-25 23:04:13 -04:00
Marek Roszko
c50b4fb04f
Add relative to footprint 3d model path resolution
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2073
2022-09-25 22:56:16 -04:00
Marek Roszko
8e96751af2
Strip out and migrate 3d search paths in favor of env vars
...
This mainly stops reading/writing 3dresolver.cfg
We still keep some sillyness for kicad2step for now
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9164
2022-09-25 21:29:52 -04:00
Jeff Young
16d5c43c14
Fix shadowed variable.
2022-09-25 22:04:56 +01:00
Jeff Young
b4701593fb
Restore parent group pointers on undo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11914
2022-09-25 21:45:29 +01:00
Jeff Young
503385f52e
Don't use FindNamedPad for net-tie logic. It only reutrns the *first*
...
pad of a given number.
Also improves other DRC logic to tighten up the net-tie rules now that
we know which pads are allowed to short with which other pads.
Also removes the "Overlapping pads" DRC violation now that we know
whether or not overlapping pads in a net-tie footprint constitute a
short.
Fixes https://gitlab.com/kicad/code/kicad/issues/12506
2022-09-25 17:38:31 +01:00
Marek Roszko
05a8650158
Add forgotten save of setting
2022-09-25 12:03:45 -04:00
Marek Roszko
2490ad1458
Fix search panel not remembering visibility
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12494
2022-09-25 11:56:41 -04:00
Marek Roszko
59d62f7df1
Untangle some includes
2022-09-25 11:37:06 -04:00
Ian McInerney
40ff7cb9bd
Fix some UI element spacing in settings panels
2022-09-25 15:41:39 +01:00
Ian McInerney
ea259fd093
Remove extra creation of an outline for the soldermask zone
...
The zone class initializes the outline with an empty SHAPE_POLY_SET, so
adding a new SHAPE_POLY_SET outline in the BOARD constructor causes a
leak of the original.
2022-09-25 15:41:39 +01:00
Marek Roszko
a381a0acb2
Generalize bookmarks to support additional groups and names
2022-09-24 22:35:20 -04:00
Marek Roszko
6f8205235f
ADDED: Add outline support to schematic PDF and PCB plot
2022-09-24 21:45:48 -04:00
Ian McInerney
1683e552f7
Add/fix some variable initializations
2022-09-25 00:48:38 +01:00
Jeff Young
f6d0fb8eed
Fix copy/paste error.
2022-09-24 20:00:01 +01:00
Jeff Young
7e71dc084c
Implement Mirror H/V for tracks and vias.
...
While not that often useful, it's really annoying that it doesn't work
when you *do* find a use-case for it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6853
2022-09-24 19:55:48 +01:00
Jeff Young
328cc27020
Add pad-recombining to FPEditor's Cleanup Graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12487
2022-09-24 19:34:06 +01:00
Ian McInerney
fdb97a46c1
Don't copy items in for loops when not needed
2022-09-24 03:46:06 +01:00
jean-pierre charras
28f836ab5c
Fix overzealous string replacement
2022-09-23 10:56:58 +02:00
Alex
58b03b0a1c
Small optimizations.
2022-09-22 17:22:04 +00:00
Jeff Young
897135a4f0
Support mirroring on the board too.
...
Also fixes a few bugs in FP item mirroring.
Fixes https://gitlab.com/kicad/code/kicad/issues/2168
2022-09-22 15:05:58 +01:00
Alex
f75266d130
Keep selection order in SCH->PCB cross-selection.
2022-09-22 11:43:37 +00:00
Jeff Young
839d31d427
Only update properties from a "real" project.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6268
2022-09-22 10:14:08 +01:00
jean-pierre charras
c44e54756a
search panel: fix a crash and a refresh issue after selecting a second item
...
at least on W10/msys2
2022-09-21 19:36:35 +02:00
Jeff Young
8eb68ee472
Add pin/unpin context menu to Symbol Chooser and Footprint Chooser.
...
Also moves some more code down into common so it can be shared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12384
2022-09-21 14:45:12 +01:00
jean-pierre charras
25f1f7b0df
Fix a compil issue on GCC
2022-09-21 09:04:31 +02:00
Marek Roszko
5af00486c3
Set a default floating size for the search pane
...
aui panes unforunately get a default of 0,0 and no attempts to detect a size
2022-09-21 00:06:45 -04:00
Marek Roszko
ec25463fed
Allow multi-selecting from the search pane
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/12476
2022-09-20 23:58:49 -04:00
Marek Roszko
dc9909f83f
Show all on empty searches
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12478
2022-09-20 23:44:42 -04:00
Marek Roszko
30dbcbbcf5
Only search the current tab on events
2022-09-20 23:38:06 -04:00
Marek Roszko
1b962a1660
Expand zone info a little
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12479
2022-09-20 22:16:50 -04:00
Marek Roszko
35201eac52
Add textboxes to Text tab of search
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12477
2022-09-20 22:16:50 -04:00
Jon Evans
728ef8a61c
Hide properties panel menu entry if flag isn't set
2022-09-20 21:48:38 -04:00
Jeff Young
513fc872bb
Support both X and Y mirroring in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12409
2022-09-21 00:16:27 +01:00
Seth Hillbrand
0150655ed3
Fix missing DRC check with via
...
When the via is first and not second in our ordering, the hole-copper
clearance was not checked as the track did not have a hole.
We also calculated the NPTH-via clearance incorrectly in the inspector
2022-09-20 13:43:01 -07:00
Jeff Young
7f34586c7e
Allow text variable resolution through properties in drawing sheet text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12473
2022-09-20 15:28:05 +01:00
Jeff Young
cf1a411a19
Allow net to be selected with mixed track & via selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12412
2022-09-20 11:37:13 +01:00
Seth Hillbrand
9b4eb91f12
Zone Fill performance enhancement
...
Don't wait until all zones are filled before tesselating fills.
Tesselation happens on a layer-by-layer basis, so once the zones' layers
are filled, we can tesselate them in parallel with the remaining fill
work
2022-09-19 11:53:50 -07:00
Seth Hillbrand
0295090135
Zone Fill performance for overlapping zones
...
When multiple zones overlap each other, we need to synchronize the
filling. This should not wait for all zones to try to fill before
restarting. Instead, zones that cannot be filled because the depend on
another zone finishing are immediately re-inserted into the fill queue.
2022-09-19 10:11:06 -07:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
jean-pierre charras
5990595619
When adding a bitmap, do not clone it during moving.
...
Cloning is not necessary, and is memory consuming.
2022-09-19 17:41:47 +02:00
Mike Williams
ca0c9f12e0
PCB Editor: Unroute Footprint
...
Also works on selected pads.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1955
2022-09-19 10:37:10 -04:00
Mike Williams
9304607624
TOOL_EVENT: make command string non-optional
...
We're getting segfaults in places where this isn't checked. Also, add
some asserts so we can catch bad tool push/pop.
Removes all uses of GetCommandStr() and makes it private.
2022-09-19 10:23:09 -04:00
Jeff Young
45d6b4a9fc
Readability improvements.
2022-09-19 11:18:20 +01:00
Jeff Young
1566bd8b14
Make sure a collector has a guide before handing it to a client filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12460
2022-09-18 18:14:47 +01:00
Marek Roszko
57f8a248a5
Remove unused settings
2022-09-17 18:03:43 -04:00