Jeff Young
a1c8e36c99
Scale markers somewhat proportionally to zoom.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10048
2021-12-23 16:54:03 +00:00
Seth Hillbrand
bd0fbea044
Handle 360° arcs on import as circles
...
KiCad breaks a bit when dealing with 360° arcs, so convert them to
circles on import. The break happens when converting to polygons for
viewing, the arc is passed from start->mid->end format to
center->start->angle format. At 360°, the angle is normalized to 0
2021-12-18 18:44:20 +00:00
Jeff Young
a17a58203b
Preserve legacy dimension information.
2021-12-17 23:31:37 +00:00
Jeff Young
699ba78b74
Fix legacy (pre-sexpr) board importer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10025
2021-12-17 17:21:31 +00:00
Jon Evans
1610195a09
Coverity fix
2021-12-15 23:17:04 -05:00
Tomasz Wlostowski
57af990066
router: fix layer switch issue when starting a track on via without fixed segments
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9915
2021-12-16 00:55:17 +01:00
Jeff Young
20dcf43fdd
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10009
2021-12-15 23:39:24 +00:00
Mike Williams
956ac871c3
PCB Editor: changes to track width overrides starting track width
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8797
2021-12-15 23:32:48 +00:00
Tomasz Wlostowski
97c2627de6
router: added missing case items (fixes regression in component dragging)
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10010
2021-12-15 23:18:55 +01:00
Seth Hillbrand
24fe5bc2a8
Fix DRC thread locking
2021-12-15 06:05:40 -08:00
Roberto Fernandez Bautista
dadaf26ff1
Board Setup: Ensure board editor layers page always gets updated
...
We need to update it even if we move to a different page, as when moving
back to the physical stackup page it will reset the layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9991
2021-12-15 10:39:44 +00:00
Seth Hillbrand
40d44c94cd
Fix single-threaded loads/connectivity
...
We cannot set thread counts to hardware_concurrency()-1 without
considering that single core machines will get a thread count of 0.
2021-12-14 17:18:46 -08:00
Tomasz Wlostowski
965ab42938
router: when dragging segments, don't snap to other segments on the same layer. Fixes drag flickering for short segments.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9720
2021-12-15 01:48:04 +01:00
Tomasz Wlostowski
2ae3a83b54
router: fix use-after-free crash in single trace shove routing when m_endItem's owning NODE is erased by the springback algorithm.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9994
2021-12-15 01:33:05 +01:00
Seth Hillbrand
401de24274
Recalculate ratsnest after zone fill
...
Push the mutex down into the ZONE::Fill() routine and set the
connectivity update to run after zone fills. The connectivity update
cannot run while the mutex is locked for zone fills.
Fixes https://gitlab.com/kicad/code/kicad/issues/9993
2021-12-14 13:37:15 -08:00
Roberto Fernandez Bautista
aa64b739eb
Board stackup: Ensure that m_choiceCopperLayers is updated
...
Need to do a full synchronisation with the board to ensure that the
drop down and other UI elements are reset
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9991
2021-12-14 18:00:07 +00:00
Seth Hillbrand
78ff9a857a
Jerry-rig HTML-format alpha parsing
...
On wx3.0, the HTML format #RRGGBBAA cannot handle the alpha channel.
Instead, we route this through a COLOR4D routine when we need to use
these colors
Fixes https://gitlab.com/kicad/code/kicad/issues/9963
2021-12-13 16:04:40 -08:00
Wayne Stambaugh
348c2bc612
Fix another wxUpdateUIEvent retrigger loop.
2021-12-13 18:43:30 -05:00
Wayne Stambaugh
755607b8f8
Fix a few wxUpdateUIEvent retrigger loops.
2021-12-13 15:46:13 -05:00
Jeff Young
4c565fd222
Top layers includes a whole bunch of layers...
...
... and the first isn't particularly meaningful. Use GetActiveLayer
instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/9972
2021-12-13 18:23:18 +00:00
Simon Schaak
8e5f929724
Fix default reference text copy for new footprints
2021-12-13 14:42:14 +00:00
Jon Evans
b291d6c810
Fix success conditions in DP placer
...
The placer can sometimes generate segments that are not quite parallel.
Use a different tolerance for ApproxParallel to account for this.
Also set a minimum score for placement judging so that any placement
that doesn't violate DRC can be placed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9948
2021-12-12 13:05:38 -05:00
Jeff Young
88fc6d25a7
Correctly handle deleting multiple selections in some grids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9952
2021-12-12 17:28:17 +00:00
Seth Hillbrand
779629ad33
Fix deadlock
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9959
2021-12-12 07:20:03 -08:00
jean-pierre charras
c360bbba20
Browse footprint libraries now remember window-size and position
...
(resolveCanvasType() saves the settings, so it must come after they are loaded)
Fixes #9935
https://gitlab.com/kicad/code/kicad/issues/9935
2021-12-12 09:02:15 +01:00
dsa-t
f2639e2928
Reverse sort order for net id in inspector
2021-12-11 23:12:47 +00:00
Seth Hillbrand
758ce43d9c
Lock Connectivity Data when resetting
...
When we reset m_connAlgo, we need to lock the data mutex otherwise,
yields to the system may sometimes issue calls back to invalid data
until m_connAlgo has finished rebuilding
Fixes https://gitlab.com/kicad/code/kicad/issues/9922
2021-12-11 15:11:10 -08:00
jean-pierre charras
6d0d4e0db9
Pcbnew, router tool: ensure switching layer by + or - works when starting routing.
...
Fixes #9936
https://gitlab.com/kicad/code/kicad/issues/9936
2021-12-11 09:54:03 +01:00
Jeff Young
84e0feeee6
LibTree selection should follow footprint after Save As.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:45:21 +00:00
Jeff Young
4f60d7ac78
Don't use lib tree target if lib tree isn't shown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9913
2021-12-10 00:34:22 +00:00
Jon Evans
62e6f542ed
Init zone type when creating in convert tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9918
2021-12-09 18:20:30 -05:00
Jon Evans
196571d004
Fix edge case in re-enabling auto track width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9887
2021-12-09 18:07:05 -05:00
Seth Hillbrand
9884f40952
Update call signature for SwitchLayer
...
We don't use DC anymore
2021-12-09 10:14:11 -08:00
Seth Hillbrand
77fbb495f2
Highlight net during inline drag
...
Keep consistent UX between inline drag and drag started in the router
tool itself by highlighting the net being dragged
Fixes https://gitlab.com/kicad/code/kicad/issues/9919
2021-12-09 09:28:43 -08:00
jean-pierre charras
f2d6251979
PCB_EDIT_FRAME: very minor fix: make the frame title translatable in stand alone mode
2021-12-09 14:39:27 +01:00
Jon Evans
48e95dcf7e
Disable custom track/via width when re-enabling connected width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9887
2021-12-08 21:13:34 -05:00
Jon Evans
a9168860e0
Reduce excessive epsilon in polygon search algo
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9903
2021-12-08 21:04:23 -05:00
Jon Evans
622d0fc896
Re-add code to refresh plugins at each frame load
...
Should now be safe
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-12-08 20:48:35 -05:00
Jon Evans
587ee890d9
Move where flag is cleared to catch more cases
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:46:53 -05:00
Jon Evans
44e01dcd0a
Skip newly-added footprints in connectivity
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9892
2021-12-08 20:39:12 -05:00
Jeff Young
e9847cf2bd
Exclude vias from first 'U' step.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9902
2021-12-08 23:16:33 +00:00
Jeff Young
1f9e75f676
Pad with hole same size or larger than pad isn't flashed.
...
... even if it's marked as being on copper layers.
Also changes the default hole clearance to 0.25mm.
Fixes https://gitlab.com/kicad/code/kicad/issues/9901
2021-12-08 23:16:33 +00:00
Jeff Young
df1e74d418
Clean up dead code from last commit.
2021-12-08 23:16:33 +00:00
Jeff Young
7ffd43a6f4
Regularize the promotion of pads to footprints in non-free-pad mode.
...
Also regularizes some of the other selection filtering options.
This also fixes an invalidated iterator (and subsequent segfault) in
the old code.
Fixes https://gitlab.com/kicad/code/kicad/issues/9896
2021-12-08 13:08:54 +00:00
Seth Hillbrand
1160bd94b0
Scale vertex lineweights in DXF import
...
DXF lineweights are always in 100th of mm, so scale the set weights on
import
Fixes https://gitlab.com/kicad/code/kicad/issues/9854
2021-12-07 16:23:44 -08:00
Jon Evans
63f67b7e5b
Fix loading netclasses from legacy boards via Python
2021-12-07 18:55:08 -05:00
dsa-t
9c619d8f4e
Allow some navigation tools when selecting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9565
2021-12-07 23:00:39 +00:00
dsa-t
a7193e0932
Do not warp cursor to last location when footprint/text placement is activated from toolbar/menu.
...
Also makes the footprint appear instantly after closing the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9840
2021-12-07 22:48:56 +00:00
Seth Hillbrand
fbdb2bd91f
Fix broken refactor from 0e65fe5
...
'auto' here was utilizing a copy constructor to avoid assigning a new
value to the underlying shared pointer
2021-12-07 12:38:05 -08:00
Seth Hillbrand
c613f5e2f1
Convert DXF arcs in fp space
...
Once the arcs are set in pcbnew, they have integer representation and
can accumulate rounding errors. So we convert the start/end points in
the importer to ensure that the connected points in a DXF remain
connected
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-12-07 10:53:35 -08:00
Seth Hillbrand
84cdc9701f
Partially reverts d877f041
...
Based on discussion in https://gitlab.com/kicad/code/kicad/-/merge_requests/1029
we will keep the original behavior. The new routines to get stock paths
are still useful (possibly in scripting) and are kept
2021-12-06 16:14:40 -08:00
Jeff Young
73b39e836d
Set modify bit when editing page layout.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9891
2021-12-06 23:08:33 +00:00
Jeff Young
2446844cd3
Fix bugs in free-pad logic.
...
Don't promote pads to parent footprint selection when NOT in free
pad mode during move.
Implement move algorithm in rotate.
Fixes https://gitlab.com/kicad/code/kicad/issues/9893
2021-12-06 22:53:45 +00:00
Konstantin Baranovskiy
d00810c0fb
Pcbnew: make search field focused by default in Find dialog
2021-12-06 19:08:23 +00:00
Jonathan Haas
04b0435c45
Snap to pads when placing via
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9873
2021-12-06 15:54:49 +00:00
Jeff Young
95087c6de5
Fix clearance outlines for router head.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9885
2021-12-06 15:51:53 +00:00
Roberto Fernandez Bautista
34a0d1947a
pcbnew Flip: Filter selection for free pads, select footprint instead
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9875
2021-12-06 14:34:26 +00:00
Mikolaj Wielgus
18ba6b4de8
Fix PCB_TEXT hit test, take two
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9866
2021-12-06 01:05:37 +01:00
Mikolaj Wielgus
d0e9d4868c
Fix PCB_TEXT hit test when bounding box is rotated
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9866
2021-12-06 00:52:07 +01:00
Jon Evans
014bad7b28
Add profile counters for PCB mouse and paint events
2021-12-05 15:16:08 -05:00
Jon Evans
5ba215c8ea
Use actual width when previewing PNS lines
2021-12-05 13:41:39 -05:00
Jon Evans
7de9e48b57
PNS: Fix tuning calculations through locked segments
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9727
2021-12-05 13:35:28 -05:00
Roberto Fernandez Bautista
8caf62803d
Avoid unnecessary newlines and extra spaces when saving polygon shapes
...
Also minor formatting / code style fixes.
2021-12-03 22:04:55 +00:00
jean-pierre charras
c186d1f319
Force refresh AUI manager after reloading python scripts.
...
Because the tools in the Htoolbar can have changed, the AUI manager need refresh.
2021-12-03 09:30:24 +01:00
jean-pierre charras
01eebd0b9d
Do not call callLoadPlugins() every time a SCRIPTING_TOOL is created.
...
(i.e. from board editor and from fp editor)
Once is enough.
Once plugins are loaded, calling LoadPlugins() from fpeditor disable plugins
in board editor
Fixes #9846
https://gitlab.com/kicad/code/kicad/issues/9846
2021-12-03 08:12:06 +01:00
Ian McInerney
65c0e0cd18
resolveCanvasType saves the settings, so it must come after they are loaded
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9799
2021-12-03 01:43:53 +00:00
Franck Bourdonnec
d877f04198
fixe paths
2021-12-02 20:23:00 +00:00
Jeff Young
f8d61d689b
Fix annoying wxWidgets assert.
2021-12-02 16:56:47 +00:00
Mikolaj Wielgus
46a8d23378
Remove narrowing implicit cast
2021-12-02 16:35:35 +01:00
Jeff Young
5cb2641142
Fix nullptr dereference in router.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9844
2021-12-02 13:20:44 +00:00
Jeff Young
0e65fe5d8d
Coding standards and commenting.
2021-12-01 23:15:37 +00:00
Jeff Young
a596a1f2e2
ROUTER_TOOL needs to handle pads not handled by router itself.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9839
2021-12-01 22:25:02 +00:00
Jeff Young
3c0b10b022
Don't use approximated shapes for router hulls.
...
We only do 45-degree routing anyway so we might as well build an
octagonal-based hull from the get-go.
Fixes https://gitlab.com/kicad/code/kicad/issues/7672
Fixes https://gitlab.com/kicad/code/kicad/issues/9544
Fixes https://gitlab.com/kicad/code/kicad/issues/9833
2021-12-01 19:44:30 +00:00
Jeff Young
09ed60feb3
Don't make inferences about object type based on shape.
2021-12-01 19:44:30 +00:00
Jeff Young
58189dca7a
Always focus on center of small things.
2021-12-01 19:44:30 +00:00
Ian McInerney
63560ecd7b
Remove RM_Smart state from router tool
...
It was never fully implemented and there was no way to switch into this
route mode.
2021-12-01 09:52:37 +00:00
Seth Hillbrand
c4a6a61743
Don't truncate values on import
...
Leads to off-by-one errors when converting to internal values
Fixes https://gitlab.com/kicad/code/kicad/issues/9827
2021-11-30 16:10:56 -08:00
Mikolaj Wielgus
515aed7408
Make Clone functions for NETINFO_ITEM and PCB_MARKER
2021-12-01 00:47:22 +01:00
Seth Hillbrand
5dcd6f89d3
Don't register DRC error on internal approximation
...
Users can set the internal approximation of curves, which will create
small errors off of ideal locations. This will cause DRC errors on some
items such as rounded rect pads when elements are routed at the minimum
ideal distance. Users could already tune this value using the Advanced
Config values but we'd rather the user not depend on that.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9833
2021-11-30 15:28:20 -08:00
Jeff Young
3af65936c1
Don't consider heatsink, castellated or fiducial pads for THT vs SMD.
...
Also fixes a bug where the Footprint Checker's marker list wasn't cleared
correctly from the last run.
Fixes https://gitlab.com/kicad/code/kicad/issues/9821
2021-11-29 16:45:42 +00:00
Jon Evans
3218665861
Revert "Sync action plugins every time PCB frame is created"
...
This reverts commit 69566b25b1
.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9798
2021-11-28 16:16:14 -05:00
jean-pierre charras
3886e681ae
PAD Copy CTOR: fix missing copy of m_pinType member.
2021-11-28 14:34:26 +01:00
jean-pierre charras
f5246acf37
PCB_PAINTER: draw PAD do not always replace netname by "x".
...
When a pad net is edited inside the board editor, its netname is no longer
its corresponding pin netname.
Fixes #9795
https://gitlab.com/kicad/code/kicad/issues/9795
2021-11-28 14:34:26 +01:00
Jon Evans
a746d31038
PNS: Fix loop removal outside shove mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9680
2021-11-27 15:21:47 -05:00
Jon Evans
8a0f8c329f
PNS: Fix DP gateway generation when pad distance < gap
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9306
2021-11-27 14:03:19 -05:00
Seth Hillbrand
4b226b8172
Unify our breakTracks routines
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9793
2021-11-27 06:34:47 -08:00
Jeff Young
b0d7c1a810
Don't leave orphaned nets in pads after editing in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9789
2021-11-27 12:34:41 +00:00
jean-pierre charras
b8b8c0d34c
dialog text properties: fix a focus issue.
...
Fixes #9792
https://gitlab.com/kicad/code/kicad/issues/9792
2021-11-27 10:08:30 +01:00
Jeff Young
6652e5acf4
Draw pad holes when dragging.
...
Most of the time they're under the pad, but the provide needed
info when the hole is larger than the pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:09 +00:00
Jeff Young
9547c72e73
Teach router about different keepout rules.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9786
2021-11-27 00:55:04 +00:00
Jeff Young
6f0a4ccdee
Formatting.
2021-11-26 18:14:29 +00:00
Jon Evans
69566b25b1
Sync action plugins every time PCB frame is created
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9781
2021-11-26 09:58:48 -05:00
Jeff Young
99ec2b1801
Don't hide original object when highlight is only part of it.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9772
2021-11-25 23:42:13 +00:00
Jon Evans
da458535c4
PNS: Avoid flickering clearances on new items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:38:04 -05:00
Jon Evans
63718323bc
PNS: Holes need to be moved with solids
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9773
2021-11-25 15:31:18 -05:00
Jon Evans
8026863d4c
Use progress reporting in more places when loading a board
...
Prevents application-not-responding events while opening large designs
2021-11-25 11:19:03 -05:00
Jon Evans
b4342d813b
Fix SHAPE_LINE_CHAIN::Slice when end is an arc followed by a point
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9770
2021-11-25 10:05:33 -05:00
Jeff Young
ade8fe4333
When dragging footprints pads with holes also need to be taken along.
...
Otherwise (aside from not colliding with their dragged location) we
won't update their locations and then if they happen to be the first
pad in the footprint we'll try to update the footprint's location post-
drag with the pad offset (which will be {0,0}.
This is easily reproducible with the test document in the bug in the
"fixes" statement.
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00
Jeff Young
f9e1429c60
Naming conventions.
2021-11-25 14:54:12 +00:00
Jeff Young
5985a21b74
Offset internal items by drag amount.
...
Some tools move only preview items while keeping the real items
hidden. Those tools must use this new offset parameter.
Other tools move the real items. Those tools can ignore this
parameter (which will default to {0,0}).
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
2021-11-25 14:54:12 +00:00