Wayne Stambaugh
9d6e9b14eb
Fix action tool friendly name string capitalization.
2023-12-13 08:15:19 -05:00
jean-pierre charras
427de4cda6
BOARD::GetBoardPolygonOutlines(): add option to add NPTH as board holes.
...
Used in 3D viewer to truncate plated holes intersecting NPTH.
Fixes #16325
https://gitlab.com/kicad/code/kicad/-/issues/16325
2023-12-13 08:31:29 +01:00
Mike Williams
96e229de0a
kicad-cli: only plot user selected copper layers
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15634
2023-12-12 11:00:49 -05:00
Jeff Young
de070a1d62
Watch out for VVIAs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16339
2023-12-12 15:45:13 +00:00
Jeff Young
e000acb768
Make sure router honours unconstrained tuning setting.
2023-12-12 13:57:12 +00:00
Jeff Young
ea67430c49
Cleanup.
2023-12-12 13:57:12 +00:00
Ian McInerney
3c0566d318
Don't allow copying markers
...
Fixes KICAD-5FQ
2023-12-11 22:22:19 +00:00
Jon Evans
873023f0c4
Yet another workaround for libgit2 API changes
2023-12-11 16:21:18 -05:00
Wayne Stambaugh
5fa274ead0
Add board layer view stack up sequence from front layer to back layer.
...
The old bottom to top layer stack up sequence from back to front layer was
only used for plotting so it was renamed appropriately. This will be used
for future board object select disambiguation improvements.
2023-12-11 15:07:58 -05:00
Jeff Young
e801e793dc
Prevent copy-elision issues by using smart-pointer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16335
2023-12-11 16:27:31 +00:00
Jeff Young
abd2cf25f2
Re-display hidden router items after cancelling.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16308
2023-12-11 16:02:02 +00:00
Jeff Young
c9b5e3b012
Don't leave undo items in a hidden state.
2023-12-11 15:12:41 +00:00
Jeff Young
453d0566ff
Support properties dialog during tuning.
2023-12-11 15:12:41 +00:00
Mike Williams
61da4fb1af
PCB Fields: operate on field copies in dialogs
...
Makes cancel/undo work properly
2023-12-11 09:37:23 -05:00
Ian McInerney
7554e629a8
Fix visibility of NET_INFO::SetParent
...
Without explictly inheriting the base SetParent method, the compiler was
warning a lot about hiding it due to the different argument type of the
new SetParent method.
2023-12-11 10:07:28 +00:00
Jon Evans
8a474879c5
Make sure DRC engine works at startup
...
If we wait to initialize this until later, some
routing operations will not work properly as the
constraints will be empty
2023-12-10 23:00:19 -05:00
Jon Evans
47ab6f8d03
Set default netclass for newly-added no-net PNS items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16144
2023-12-10 22:59:36 -05:00
Jeff Young
d8d71a8a6e
Honour "report all errors" for track/edge collisions.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16268
2023-12-10 23:04:57 +00:00
Jeff Young
a567a66d35
Fix tooltip.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16330
2023-12-10 18:53:13 +00:00
Jeff Young
3efc191aa9
Implement ESC processing for choose footprint dialog.
...
Also steals copy processing for details pane from symbol chooser.
2023-12-10 18:13:42 +00:00
jean-pierre charras
057baf306f
Pcbnew: draw shadow PCB_SHAPEs for locked items using continuous lines.
...
Using other shapes gives really strange and ugly results.
Fixes #16327
https://gitlab.com/kicad/code/kicad/-/issues/16327
2023-12-10 15:36:33 +01:00
Jeff Young
931cec862e
Non-plated slots are effectively edges.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16267
2023-12-09 21:06:40 +00:00
Alex Shvartzkop
a161829f86
Use SCOPED_FLAGS_CLEANER more carefully.
...
Other methods used ConvertOutlineToPolygon's SKIP_STRUCT state.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16321
2023-12-09 19:24:51 +03:00
Seth Hillbrand
0db362a907
Fix bug where default courtyard outline set to 0
...
The defaults are stored in mm, this needs to be converted to IU for
proper use in pcbnew
2023-12-08 13:31:13 -08:00
Jeff Young
e3c9cf94b7
Reduce the size of the tuning popups.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
2023-12-08 19:50:29 +00:00
Wayne Stambaugh
b7dc7e90ac
Minor string fixes.
2023-12-08 13:09:16 -05:00
Jeff Young
4d28dfacc2
Remove query dialog from tuning tool startup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16305
2023-12-08 17:01:14 +00:00
Jeff Young
e0a34efcb7
Use a more self-documenting API for router preview item flags.
...
Also fixes a bug where rule areas were drawn with solid fills.
2023-12-08 16:02:15 +00:00
jean-pierre charras
ccb935db4a
dialogs setup default: use a better dialog to show errors.
2023-12-07 17:04:33 +01:00
Jon Evans
0c1fba8686
IPC-2581: Do not render hidden text
2023-12-07 09:46:39 -05:00
Jon Evans
8b45579ed0
IPC-2581: Make sure components are deduplicated
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16287
2023-12-07 09:32:08 -05:00
Jeff Young
d257dc5b4e
Cleanup unused variables.
2023-12-07 13:41:24 +00:00
Jeff Young
aa046345eb
Add missing case to Selectable().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16283
2023-12-07 13:41:24 +00:00
Ian McInerney
be9c3b08b5
Fix library table file filters
...
The schematic librayr table was missing the Kicad Sexpr filter, and also
the filter inside the grid editor was never updated when the library
plugin type was changed in the grid, so a library of the new type could
not be selected.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16278
2023-12-07 11:16:02 +00:00
Jon Evans
855486f849
IPC-2581: Do not create an empty Bom node
2023-12-06 17:16:15 -05:00
Jon Evans
9fcff5e701
IPC-2581: BomHeader assembly needs to be genStringified
2023-12-06 17:02:50 -05:00
Jon Evans
2674a2a294
IPC-2581: Make sure non-physical layers aren't exported
2023-12-06 16:57:52 -05:00
jean-pierre charras
921291c28b
Pcbnew, default values for sizes and thickness: add missing tests for validation.
...
Especially for texts, the min and max values that are used are the same as
for other dialogs.
2023-12-06 16:45:18 +01:00
Mike Williams
2795fa9ca3
EE/PCB_Actions: convert to generic Finish
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16079
2023-12-06 10:33:17 -05:00
Jeff Young
2661e7a8ee
Fix over-zealous copy/paste and add a few more comments.
2023-12-06 13:08:22 +00:00
Alex Shvartzkop
b7840f4f82
Make STEP export process crash more visible.
2023-12-06 08:46:26 +03:00
Alex Shvartzkop
9345b73af5
Don't crash when OCC fails to read a model and didn't open the doc.
2023-12-06 03:16:46 +03:00
Alex Shvartzkop
eb1fbadc12
Fix/reserve strings in STEP export dialog.
2023-12-05 13:55:26 +03:00
Seth Hillbrand
fcc6dec0e4
Handle bezier curves in 2581 better
...
Rather than keeping the cached, we should calculate the level we want
and output that
2023-12-04 16:55:43 -08:00
Seth Hillbrand
bd4278140f
Allow graphical fill to be read as boolean
...
We had been allowing yes/solid/none with yes/solid both representing
true and none representing false. This adds the complimentary boolean
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16262
2023-12-04 13:47:31 -08:00
Seth Hillbrand
06c3879007
Don't put polygons in shared bins
...
Some viewers don't want to render polygons as part of UserSpecial, so
keep them in their own set even though they have absolute coordinates
2023-12-04 13:45:33 -08:00
Seth Hillbrand
0e37ea0c66
2581 enabled by default
2023-12-04 12:03:15 -08:00
jean-pierre charras
b17ca50472
Gerber export: fix incorrect shape of round rect pads on paste layers in some cases.
...
They can be plotted as rect shape depending on margin value.
Fixes #16257
https://gitlab.com/kicad/code/kicad/-/issues/16257
2023-12-04 12:46:39 +01:00
Alex Shvartzkop
12f529d6e0
Fix build error.
2023-12-04 10:44:37 +03:00
Alex Shvartzkop
111a8d6ab3
Improve/fix Expand connection for graphics.
2023-12-04 09:52:31 +03:00
Jeff Young
a1b514bcba
Update message panel after switching layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16247
2023-12-03 17:07:08 +00:00
Jeff Young
ff9d834e31
Don't use epsilon when calculating pushout force in dp placer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16210
2023-12-03 16:58:41 +00:00
Jeff Young
04246a969c
Show tuning status while tuning.
2023-12-03 14:23:57 +00:00
Jeff Young
33b602eb44
Use popup look & feel for on-canvas tuning status.
...
We previously used the ruler look & feel because it leveraged
pre-existing code.
But it's too hard to read over a busy background. Maybe the ruler
should move to popup look & feel as well?
2023-12-03 13:21:01 +00:00
Jon Evans
4268ffec77
Use default, not legacy, copper edge clearance as default
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16032
2023-12-02 23:25:06 -05:00
Jeff Young
a817eaa67f
Remove column auto-sizing and save user column widths.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16166
2023-12-02 22:06:09 +00:00
Jeff Young
1618beba2c
Fill empty zones when auto-fill is on.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16234
2023-12-02 20:16:26 +00:00
Jeff Young
6e245d5eb4
Remove special cases for footprint editor. BOARD_COMMIT handles them.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16236
2023-12-02 20:06:57 +00:00
Jeff Young
b13590f4c0
Use preview items instead of highlightNets & status popup
...
The router preview item can be specific to the part that is being
tuned, rather than the whole net. It's also less visually noisy as
it doesn't dim/undim the rest of the board.
Using kigfx preview items for the status keeps us from having a bunch
of focus issues with the status popup window.
2023-12-02 16:15:43 +00:00
Seth Hillbrand
6b3ac54a41
Add default parameter to GetEffectivePolygon()
...
Allows legacy plugins to use this function
2023-12-01 09:27:26 -08:00
Alex Shvartzkop
2d9eee93e2
Fixes for length tuning patterns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16198
2023-12-01 08:44:10 +03:00
Jon Evans
1ff3b5a437
Guard against UNDEFINED_LAYER in GetLayerSet
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16230
2023-11-30 17:08:48 -05:00
Seth Hillbrand
12d787ecc0
Name pins after numbers in IPC2581
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16211
2023-11-30 10:08:03 -08:00
jean-pierre charras
1bac16459a
pcb_parser.cpp: fix parsing issues with T_bolt and T_italic. these keywords
...
can have a second key (yes or no) or no othe key (i.e. defualt = yes)
2023-11-30 08:58:23 +01:00
Jon Evans
98df3860f5
Fix build on GCC 11
2023-11-29 21:29:48 -05:00
Seth Hillbrand
ff9c4c56fa
Clean 2581 output
...
Remove negative floating point outputs
Disambiguate reference ids between dictionaries
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16211
2023-11-29 17:32:23 -08:00
Alex Shvartzkop
c5a6409c35
Fix a crash when opening PCB.
2023-11-29 22:50:52 +03:00
Jeff Young
a5454cd7c2
Remove group from view when ungrouping.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16197
2023-11-29 18:21:18 +00:00
Jon Evans
19cfc18cf8
Quote base64 data in PCB
2023-11-29 16:17:41 +00:00
Jon Evans
ae13a46ace
Fix display of footprint parse errors at load
2023-11-29 16:17:41 +00:00
Jon Evans
4ff127b452
Parse generator_version and improve error output on mismatch
...
Also bump symbol format version for generator_version
2023-11-29 16:17:41 +00:00
Marek Roszko
d1ecf3790c
Add generator version
2023-11-29 16:17:41 +00:00
Jon Evans
f1f8981395
Automatic whitespace and indentation prettification for sexpr formats
2023-11-29 16:17:41 +00:00
Jon Evans
55ba667bcb
Retire tstamp keyword in favor of uuid
2023-11-29 16:17:41 +00:00
Jon Evans
55bca5e7ac
Normalize formatting of booleans in the PCB file format
2023-11-29 16:17:41 +00:00
Jeff Young
2545999b3d
Delete shapes re-combined into a pad.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16193
2023-11-29 16:15:31 +00:00
Mike Williams
f993e45325
Variables: make consistent across editors
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16180
2023-11-29 09:55:17 -05:00
Ian McInerney
188b9f4dd5
Fix append board dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16214
2023-11-29 14:01:13 +00:00
Graham Keeth
4f36f669dc
Use Title Case for property names
2023-11-29 01:23:35 +00:00
Alex Shvartzkop
f84bab00b4
Fix build; renaming.
2023-11-28 22:18:37 +03:00
Alex Shvartzkop
7eb98a9863
Fixes for tuning patterns and router.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16160
2023-11-28 20:55:39 +03:00
Seth Hillbrand
619c9bb0e4
Don't include hidden layers when selecting tuning
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16188
2023-11-28 09:41:09 -08:00
Seth Hillbrand
e1b428609d
Rewrite followTrivialPath as iterative
...
Remove the recursion that causes stack crash and add an
additional check for if we have already seen either the
current link or the last link before adding them to the line
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16185
2023-11-28 06:57:50 -08:00
Jeff Young
86edba9eb8
Make teardrop images international, and unify terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16154
2023-11-28 13:56:41 +00:00
Seth Hillbrand
1a2f2d418c
Basic handling for slotted holes in IPC2581
2023-11-27 11:57:31 -08:00
Seth Hillbrand
5e9b56b431
Don't set the dirty flag when saving
2023-11-27 11:57:31 -08:00
Seth Hillbrand
f64349b292
Coverity fixes
2023-11-27 11:57:31 -08:00
jean-pierre charras
f6bbf49800
Pcbnew, Excellon export: remove an useless line at end of file
2023-11-27 14:08:21 +01:00
jean-pierre charras
15c7f224b3
Protect against null pointer
...
Fixes #16172
https://gitlab.com/kicad/code/kicad/-/issues/16172
2023-11-27 09:52:18 +01:00
Seth Hillbrand
4fe755854f
Remove GCC extension syntax
2023-11-26 16:46:56 -08:00
Seth Hillbrand
75c6b0ab28
Added IPC2581 support
...
IPC2581 is a modern production file exchange system. It provides
single-file data output for an entire board including BOM and netlist
information.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1954
2023-11-26 15:30:58 -08:00
Jeff Young
aa3b4ee6d6
Make another attempt to fix compile button size.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16167
2023-11-26 18:24:34 +00:00
Jeff Young
efaa131bc4
Position dummy tuning pattern before trying to get length out of it.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16165
2023-11-26 18:18:49 +00:00
jean-pierre charras
aa760406ba
Fix old python examples and a compatibility issue in pcb_shape.i.
...
Fixes #16158
https://gitlab.com/kicad/code/kicad/-/issues/16158
2023-11-26 13:44:31 +01:00
Graham Keeth
5e01ddb18a
Delete deprecated expression funcs from DRC rules
2023-11-26 00:30:55 +00:00
Graham Keeth
1fbdbabd08
add getField() and memberOfSheet() to DRC syntax help
2023-11-26 00:30:55 +00:00
Graham Keeth
4e796206f9
fix DRC syntax help example clearance-to-1mm-slot
2023-11-26 00:30:55 +00:00
Graham Keeth
136bc1dbb4
Adjust spacing between example DRC rules
2023-11-26 00:30:55 +00:00
Graham Keeth
13a2c6b017
Hide some irrelevant properties from DRC rule editor
...
- Fill_Color
- Line_Color
- Thermal_Spoke_Template
- Number_Box
2023-11-26 00:29:16 +00:00
Jon Evans
2b27337778
Clamp ratio properties
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16153
2023-11-25 18:40:14 -05:00
Alex Shvartzkop
c307e284e0
Altium PCB: fixup GetRemainingSubrecordBytes usage.
2023-11-26 00:30:22 +03:00
Alex Shvartzkop
a8795711a0
Altium PCB: import hatched polygon pour fills.
2023-11-26 00:23:37 +03:00
Jon Evans
37d9b7fac0
Prevent crash if generator exists but has no items
...
See https://gitlab.com/kicad/code/kicad/-/issues/15366
2023-11-25 16:01:12 -05:00
Jon Evans
1cb1fd3516
Partial revert "Fix commit/view handling when dragging arcs"
...
Revert unintended formatting changes
This reverts commit f0988c3c5d
.
2023-11-25 15:16:57 -05:00
Jon Evans
f0988c3c5d
Fix commit/view handling when dragging arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16145
2023-11-25 14:55:47 -05:00
Jeff Young
df83e24eb7
Cleanup.
...
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
jean-pierre charras
d4ce2c8982
Fix a few Coverity warnings.
2023-11-25 11:44:01 +01:00
Jeff Young
2a198e22e2
Draw tuning pattern border when placing.
2023-11-23 23:25:49 +00:00
Jeff Young
b6501ce632
Report current length on roll-over.
2023-11-23 23:25:49 +00:00
Ian McInerney
1194a91be4
Prompt if overwriting the net inspector CSV report
2023-11-23 11:49:40 +00:00
Ian McInerney
0508a9ce83
Don't write units to every field in net inspector CSV
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16147
2023-11-23 11:46:24 +00:00
Jeff Young
d437d872ab
Re-enable corner radius of DP meanders.
...
It appears whatever bugs it had have been addressed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15257
2023-11-22 19:45:56 +00:00
Jeff Young
85f760fc66
Run IsElementVisible() test on all markers, not just their shadows.
...
The view item doesn't always get its layers updated early enough for
the paint.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16138
2023-11-22 14:37:45 +00:00
Yang Hongbo
f324b1b88d
Merge remote-tracking branch 'origin/master' into last_net_inspector_settings
2023-11-22 07:21:03 +08:00
Yang Hongbo
5a1b30ea42
save and restore last used net inspector settings
2023-11-22 07:13:08 +08:00
Alex Shvartzkop
5de55b8c4a
STEP export: fix a Bnd_BoundSortBox usage bug.
2023-11-21 14:21:12 +03:00
Alex Shvartzkop
58b9d68084
STEP export: make use of footprint names instead of "SOLID".
...
Should help when importing into software that does deduplication
based on label names (e.g. SolidWorks).
2023-11-21 14:11:16 +03:00
Alex Shvartzkop
f3fdfa73e6
STEP export: Do not set BRepBuilderAPI precision.
...
This caused issues when loading some STEP models.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15485
2023-11-21 00:47:38 +03:00
Jon Evans
87ba1f7ea0
Fix expand selection for graphic shapes on graphic layers
2023-11-20 16:14:56 -05:00
Jeff Young
d382a11c2a
Apply new on-canvas-item marking to footprint editor tree.
2023-11-20 19:46:03 +00:00
jean-pierre charras
ed1924b975
Pcbnew, place menu: some enhancements:
...
- move place dimensions to a sub menu (they are not frequently used, and it
reduce the size of the place menu
- add reset drill origin, similar to reset grid origin.
2023-11-20 13:23:16 +01:00
snhobbs
5cf244dd90
Added a ImportSpecctraSession overload that doesn't require a PCB_EDIT_FRAME
2023-11-20 03:06:27 +00:00
Alex Shvartzkop
8dfad68d69
ADDED: option to optimize exported STEP files (disable pcurves)
2023-11-19 15:23:17 +03:00
Alex Shvartzkop
1321c8c6af
STEP export: fix an issue when cutting circular holes in zones.
2023-11-19 14:04:31 +03:00
jean-pierre charras
7fd9226bec
Fix issue in CalcArcCenter( VECTOR2D& aStart, VECTOR2D& aMid, VECTOR2D& aEnd )
...
It happens when the segment (aStart, aMid) is horizontal
Probably also when the segment (aEnd, aMid) is horizontal
Slopes with value 0.0 are set to double:: epsilon(), but it was a too small values
generating broken calculations.
Now set to 1e-10 (it seems working).
Fixes #16089
https://gitlab.com/kicad/code/kicad/-/issues/16089
2023-11-18 20:08:26 +01:00
Wayne Stambaugh
930b695b9f
Board editor array dialog fixes.
2023-11-18 13:21:13 -05:00
Wayne Stambaugh
9e1caa0d39
Fix crash when creating an array of footprint fields in board editor.
...
Attempting to create an array of footprint child objects other than a pad
causes the crash due to the fact that only pads where checked. The change
now checks if any object has a footprint as a parent. This should prevent
any future issues when new footprint child objects are added.
There was also another subtle bug fixed when more than one child object of
a footprint were selected, the array feature would make as many copies of
the footprint as selected child items.
https://gitlab.com/kicad/code/kicad/-/issues/16088
2023-11-18 11:18:18 -05:00
Jeff Young
21d53d0b86
Make sure Use-Netclasses checkbox gets set when loading dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16110
2023-11-18 12:18:45 +00:00
Wayne Stambaugh
a5c34c50d7
Use natural sorting for net inspector when sorting by net name.
...
wxString sorting doesn't work when sorting strings with numbers which
results in 1,10,11...2 instead of 1,2,...9,10,11.
https://gitlab.com/kicad/code/kicad/-/issues/16100
2023-11-17 15:25:07 -05:00
Jeff Young
a4a946ab75
Clearer naming.
2023-11-17 18:36:33 +00:00
Jeff Young
78c46e5f4e
Improved clarity and comments.
2023-11-17 18:36:33 +00:00
Alex Shvartzkop
76352234e5
ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables.
2023-11-17 07:20:18 +03:00
Jon Evans
6cb046a4eb
macOS: add a few more known file types
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14206
2023-11-16 12:11:42 -05:00
jean-pierre charras
ed9dd55fde
DRAWING_TOOL::PlaceImportedGraphics() do not add twice items when adding to new group.
2023-11-16 12:53:00 +01:00
jean-pierre charras
83ee2ffdab
Pcbnew, dialog import graphics: add tool-tips and minor cosmetic enhancements.
2023-11-16 12:50:45 +01:00
Jeff Young
b218617469
Honour bounding-hull setting on closed shapes and chained segments.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16092
2023-11-16 09:07:54 +00:00
jean-pierre charras
a663dd7ec4
Pcbnew, import graphics: fixes and enhancements:
...
- fix regression: allow grouping or not imported items
- store more settings in Pcbnew settings: all options are now stored.
- default tolerance to connect items is now 0.01 mm. 1 mm is a too big value,
and can create serious artifacts in imported outlines.
2023-11-15 20:26:05 +01:00
Jeff Young
9bb6b11c1d
Separate fields from text items in FPEdit's Defaults panel.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15135
2023-11-15 10:56:14 +00:00
Jan Wichmann
b1a044e22a
pcbnew: ADDED new feature "Center on FP" in the dialog "Edit Text and Graphic Properties"
2023-11-14 16:35:01 +00:00
Jeff Young
ca8cb5a206
Fix typo.
...
We want recursion into descendants here. Alternatively we could
change the caller to RunOnDescendents(), but it seemed cleaner to
omit the scoping of the Stage() call....
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16077
2023-11-14 14:23:23 +00:00
jean-pierre charras
e3bbe32793
drc_test_provider_library_parity: Better algo to compare footprint graphics
...
Instead of changing the footprint in test to have a non flipped, non rotated
fp, change the footprint template from library to have the same transform.
It reduce problems like rounding and graphic shape convert for rectangles.
Fixes #16075
https://gitlab.com/kicad/code/kicad/-/issues/16075
2023-11-13 18:38:30 +01:00
jean-pierre charras
f6314e6401
FOOTPRINT::cmp_drawings(): fix a incorrect sort criteria for polygons:
...
for polygons, GetStart() and GetEnd() have no meaning and cannotbe used
for sorting.
2023-11-13 18:36:00 +01:00
jean-pierre charras
d5a5d25623
rework on commit b564d0713c50e50282a0545ee23bb3ec51906cfd: better fix
2023-11-13 11:16:21 +01:00
Ian McInerney
e5f688e865
Plot footprint edgecuts in PDF drill map file
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15247
2023-11-12 23:21:46 +00:00
Zhuang Jiezhi
9b8fa85b32
feat:Add python API GetKicadCurrentLanguage
2023-11-12 22:52:54 +00:00
jean-pierre charras
b564d0713c
DRC: fix one of some things that can create false positive.
...
in bool shapeNeedsUpdate(), if a shape is a rectangle and the other is a polygon,
we need to try to convert the polygon to a rectangle for comparison, because some
transforms ( and especially PCB_SHAPE::Normalize() ) can convert a polygon to a rectangle
So a poly and a rectangle can be in fact the same shape
Partial fix of bug 16075.
2023-11-12 20:19:09 +01:00
Alex Shvartzkop
05e954ad5d
Fixes for length tuning patterns.
2023-11-12 12:17:08 +03:00
Alex Shvartzkop
78c7dc85f0
Fix moving tuning patterns, disable rotation.
2023-11-12 02:24:35 +03:00
jean-pierre charras
0904231000
Partial revert of commit d8498b62e0
, due to
...
comments in PCB_TEXTBOX::TransformShapeToPolygon()
2023-11-11 17:01:01 +01:00
jean-pierre charras
d8498b62e0
PCB_TEXTBOX::TransformShapeToPolygon(): fix incorrect transform: when it
...
is a polygon (rotated rect by a non cardinal angle) the polygon is not
filled, so the shape is just a set of thick segments.
Fixes #16072
https://gitlab.com/kicad/code/kicad/-/issues/16072
2023-11-11 16:44:04 +01:00
Jeff Young
7e46e85c7d
Update copyrights.
2023-11-11 15:29:34 +00:00
jean-pierre charras
75e0bf0cba
Python fp wizards: Add a text ("${REFERENCE}") on fab layer to a few wizards.
2023-11-11 11:19:21 +01:00
Jeff Young
3e58425671
Flip rotation angle when board view is flipped.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15954
2023-11-10 22:30:06 +00:00
Jeff Young
9ef05fb762
Don't store document values in global PROPERTY_MANAGER.
...
At best it leads to the wrong units being used if they're different
between (for instance) PCB Editor and Footprint Editor. (And this
will only get worse if we ever to to a single binary.)
At worst it causes crashes when accessing freed ORIGIN_TRANSFORMS.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16062
2023-11-10 18:37:29 +00:00
Jeff Young
d41f4ec842
Only disable unflashed layers when they're conditionally flashed.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16061
2023-11-10 13:57:56 +00:00
Jeff Young
e6081cf31a
Use position of isolotaed spoke when reporting it.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16058
2023-11-10 12:49:19 +00:00
jean-pierre charras
2f594e441b
Fix a compil warning (shadowed variable).
2023-11-10 10:31:40 +01:00
Jeff Young
6ecfc89a4a
Honour originTransforms in search panels.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15031
2023-11-09 18:41:18 +00:00
Alex Shvartzkop
7589de6120
Optimize footprint/symbol library hover previews.
2023-11-09 19:02:10 +03:00
Jeff Young
cc721c4907
Improve encapsulation of group internals.
...
(It's still leaking into BOARD_COMMIT and some other places, but at
least it no longer leaks into all the edit tools.)
Also fixes some bugs when moving/copying/pasting multiple selections
containing length-tuning patterns.
2023-11-09 14:05:35 +00:00
Jeff Young
78e00ade7a
Clearer naming.
2023-11-09 14:05:35 +00:00
Ian McInerney
dd933b7d0e
Update CERN copyrights
2023-11-08 21:34:14 +00:00
Jeff Young
a003515ee7
Enable drill/place file origin for plotting PDF.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15834
2023-11-08 16:40:28 +00:00
Jeff Young
72c985bc07
Rewrite scoring algo again. (Third time's the charm?)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16042
2023-11-08 12:33:09 +00:00
Alex Shvartzkop
7abe2e3ea0
Restore clearance cache usage in PNS::NODE::NearestObstacle.
...
This (and the other commit) restores router performance to pre-7.0.3 levels.
(cherry-picked from commit 5e93814283
)
2023-11-07 23:25:53 +03:00
Seneral
55c44966d9
Added a temporary item cache to improve router performance
...
Some items only used within algorithms were never cached
Because they are hard to manually clean up
But caching them does help the algorithms a lot
So this solution is the best I can think of
(cherry picked from commit d29c07a663
)
2023-11-07 23:23:52 +03:00
Jeff Young
6d43ef5678
Don't specify sizes when we don't need to.
...
However, in some places we *do* have to because otherwise wxWidgets
will pick a minimum size for us (and it's rather large).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16039
2023-11-07 14:53:41 +00:00
Jeff Young
abda3c0d33
Handle various keepout flags independently.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16037
2023-11-07 11:57:23 +00:00
Marek Roszko
23676eb988
Ensure output directory exists for drill files cli export
2023-11-06 21:11:35 -05:00
Jeff Young
5f6dab931a
Save order of all-layers in Plot Dialog.
...
Also adds an all-layers-specific context menu which includes an item
to sort in board-stackup order.
2023-11-06 19:56:42 +00:00
Jeff Young
7788c8f21c
Fix textbox mirroring and rotation (again).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14159
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14912
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14178
2023-11-06 14:03:58 +00:00
Alex Shvartzkop
6c21e0607b
Use wxFileName::Mkdir instead of wxMkDir.
...
wxMkDir is a CRT wrapper that doesn't actually return bool.
2023-11-06 17:02:34 +03:00
Jeff Young
c5520b3eef
Save state of as-item-checkboxes checkbox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13749
2023-11-05 16:22:20 +00:00
jean-pierre charras
d90981d981
Pcbnew: fix Swap command that improperly rotates footprints when flipping.
...
Fixes #16025
https://gitlab.com/kicad/code/kicad/-/issues/16025
2023-11-05 15:09:48 +01:00
Jeff Young
f83d60a48f
Clean up autosave files when reverting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15998
2023-11-05 12:20:31 +00:00
Jeff Young
1df5d9c48c
Make sure to add enough wiggle room when MaxError is very large.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16024
2023-11-04 23:11:51 +00:00
Alex Shvartzkop
8752f75ef9
EasyEDA Std: COPPERAREA parsing failsafe.
...
Fixes KICAD-41Q
2023-11-04 13:55:29 +03:00
Jeff Young
ac172b944a
Don't get stuck cycling through invisible layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16019
2023-11-03 18:17:36 +00:00
Jeff Young
bc99b42c08
ADDED: put Renumber Pads in the edit menu.
...
Context-menu-only is too hidden.
2023-11-03 12:36:30 +00:00
Jeff Young
141b953d12
Show selection before opening menu.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15922
2023-11-03 12:36:30 +00:00
Jeff Young
92ae0f4793
Save Footprint chooser size and location.
...
(We're using a FRAME to mimic a dialog, so we need some of the
DIALOG_SHIM logic inside it.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15807
2023-11-03 10:34:27 +00:00
Jeff Young
50ff5e616f
Don't delete text when cancelling changes.
...
Also changes margins of compile button so it correctly lines up at
the top of the error window.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16002
2023-11-02 18:37:55 +00:00
Wayne Stambaugh
91b503f875
Minor dialog layout fixes.
2023-11-02 09:37:44 -04:00
Jon Evans
1b4e77d53c
Fix another gcc 11 compile error
2023-11-01 20:49:08 -04:00
Jeff Young
7f8e397dfb
Behave (or assert) when source or target are null or dirty.
2023-11-01 17:11:42 +00:00
Jeff Young
2ce4adc739
Check physical_clearance rules in the router.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16007
2023-11-01 14:13:16 +00:00
Jeff Young
fb59f83683
Clean up references in RN_NETs when garbage collecting CN_ITEMs.
2023-11-01 13:53:30 +00:00
Jeff Young
d93bb464bf
When garbage collecting locally we also need to clear global references.
2023-11-01 12:47:54 +00:00
Jeff Young
67d8b13b02
And Font to properties manager for EDA_TEXT items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16004
2023-11-01 00:39:42 +00:00
jean-pierre charras
d8be69c3c1
PAGE_INFO: use double instead of int to store the page size.
...
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Jeff Young
e7fca68384
Don't double-delete unused nets (or anything else, for that matter).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15979
2023-10-31 12:10:21 +00:00
Alex Shvartzkop
3d5721a217
Fix some warnings.
2023-10-31 04:25:19 +03:00
Alex Shvartzkop
e24c8de4b8
EasyEDA Std: Fix open polygon shapes in symbols.
2023-10-31 02:21:32 +03:00
Alex Shvartzkop
f48a248db4
EasyEDA Std: Handle HTML escape characters in text.
2023-10-31 02:21:32 +03:00
Jeff Young
b5d904b45d
Ignore VVIAs when assembling length-tuning line.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15995
2023-10-30 19:55:51 +00:00
Jeff Young
42d9bc4a98
Hook up Import Settings to tuning patterns and custom rules.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15980
2023-10-30 18:12:42 +00:00
Jeff Young
87571ed8b8
Not all font sizes, fill properties or color properties are the same.
2023-10-30 17:30:15 +00:00
Wayne Stambaugh
6183a1e4de
Coverity warning fixes.
2023-10-30 09:16:24 -04:00
Alex Shvartzkop
847ab093c8
ADDED: Project chooser dialog for EasyEDA Pro import.
2023-10-30 09:35:27 +03:00
Seth Hillbrand
6d957e9d65
Don't use KiROUND when we should trunc
...
When calculating the viewport extents, we only need the maximum size
that can be represented. Anything larger should be truncated. We do
this in many other places (wx_view_controls, ruler_item,
ds_proxy_view_item, etc) and this brings pcb_selection_tool into
alignment with this, avoiding an unneeded warning message
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15529
2023-10-29 10:42:33 -07:00
Jeff Young
fc0017fc95
Normalize rects higher up.
...
We don't want to normalize footprint children to their board-relative
coordinates.
2023-10-29 11:45:16 +00:00
jean-pierre charras
acda18465c
DIALOG_EXPORT_STEP: fix missing init of m_outputFileName widget at opening.
...
Add also a validity test for the filename.
2023-10-29 10:20:51 +01:00
Jeff Young
0747d35228
Minor formatting fixes.
2023-10-28 17:58:33 +01:00
Jeff Young
a2f19ea6bb
Push m_forceMarkObstaclesMode down into the DRAGGER.
...
The existing flag was never read anyway, and it's only the DRAGGER
that knows that the starting state is already colliding and that we
need to force mark-obstacles mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8641
2023-10-28 17:52:15 +01:00
Jeff Young
c1f01877a8
Improve length calculation for vias.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10690
2023-10-28 13:14:21 +01:00
Jeff Young
4df5f9969a
Remove unnecessarily restrictive IsCopper() checks.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11588
2023-10-28 12:12:34 +01:00
Jeff Young
6c6a7cf862
Provide a callback for supplying file filters just-in-time.
...
This allows us to make them dependent on the current plugin type in
the fp lib table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13959
2023-10-28 11:18:17 +01:00
Ian McInerney
171458a27b
Introduce action friendly names
...
Friendly names can be used to display action information that is clearer
in non-hierarchical contexts (e.g. not in menus).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8075
2023-10-27 23:58:29 +01:00
Ian McInerney
9f21d0d719
Don't hardcode units for length/height/width in properties dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15967
2023-10-27 23:58:29 +01:00
Wayne Stambaugh
6269453416
Coverity warning fixes.
2023-10-27 16:48:14 -04:00
Seth Hillbrand
8b3ac31646
Update GenCAD export to handle arbitrary outline
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15961
2023-10-27 12:46:37 -07:00
jean-pierre charras
0345e0f75c
export gencad: clean and update old code. Should not really change the export.
...
- code refactory.
- allows export to be done from kicad-cli (kicad-cli code is not yet updated)
Need more work.
2023-10-27 20:03:12 +02:00
Wayne Stambaugh
98cae68ea5
Fix pad properties dialog control updating.
...
This fixes an issue (at least on GTK builds) where the hidden controls
that change when selecting a different pad type and or pad shape get
shown are not laid out correctly.
2023-10-26 13:36:32 -04:00
jean-pierre charras
93b5038382
FOOTPRINT_EDIT_FRAME: ensure the canvas type comes from the FOOTPRINT_EDITOR_SETTINGS config
...
Previously, although the fp editor preferences has an option to select the canvas type,
it was read from the the PCBNEW_SETTINGS config, using Kiface().KifaceSettings().
2023-10-26 17:58:33 +02:00
Jeff Young
8d3a3419f8
Honour 90-degree router mode in a few more places.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10421
2023-10-26 14:18:28 +01:00
Jeff Young
f7420bc820
Separate Footprint Editor's sketch modes from PCB Editor's.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15345
2023-10-26 10:59:26 +01:00
Jeff Young
7bd6c9d623
Fix sloppy coding.
2023-10-26 10:43:21 +01:00
Jeff Young
2746626de0
Differentiate plane and signal clearances based on layer type.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15597
2023-10-25 22:24:19 +01:00
Jeff Young
38e5e27a50
Import Eagle arc tracks as arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14539
2023-10-25 21:55:09 +01:00
Jeff Young
6a2aeeeae2
Import a few more rules from Altium board files.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15585
2023-10-25 16:06:40 +01:00
Jeff Young
fc4bc10d27
Separate out axes definitions between ModEdit and PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5711
2023-10-25 15:01:36 +01:00
jean-pierre charras
85210e5136
Pcbnew, export component placement: better string in menu (.gbr added).
...
(Was missing in my commit 5bf241a5
)
2023-10-25 13:38:07 +02:00
jean-pierre charras
71475a4b56
Gerber place files: do not quote strings (fields, pad name, pad function ...)
...
Double quotes have no special meaning, so adding them modify the texts
2023-10-25 08:59:37 +02:00
Jeff Young
fca1ad5285
Ask user if they want to delete original items after conversion.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15938
2023-10-25 00:11:08 +01:00
Jeff Young
791aa64950
Functionally it's a "reference image".
...
The implementation happens to be a "bitmap".
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15932
2023-10-24 15:44:21 +01:00
Alex Shvartzkop
e6cf5e5e01
Don't draw PCB bitmaps on layers not visible in high-contrast mode.
2023-10-24 03:39:48 +03:00
Seth Hillbrand
cb8dd9e9a2
Don't leave deleted items in group
...
We filter out ref/value text in copies so we need to remove them from
the copied group (if any) as well
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15930
(cherry picked from commit fb387a2c09
)
2023-10-23 13:34:53 -07:00
Alex Shvartzkop
c8b2e2aa07
closestDist_sq should be ECOORD_MAX initially.
2023-10-23 22:18:45 +03:00
jean-pierre charras
4ffa013467
Fix minor compil and Coverity warnings (not initialized vars)
2023-10-23 20:13:46 +02:00
Jeff Young
435e3fab8d
Support text variables in STEP export filename.
...
Also fixes some other file browser titles to match Kicad's overall style.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15927
2023-10-23 18:01:47 +01:00
jean-pierre charras
dd166ce835
Pcbnew, legacy plugin: fix a minor issue about file version number.
...
Some .brd files have a version number = 7, very similar to version 2.
So force version = 2 to import these files.
2023-10-23 18:43:26 +02:00
Mike Williams
91b6bb8088
Grid helpers: remove view items on destruction
2023-10-23 09:39:08 -04:00
Jeff Young
bf4529c1b5
Remember last tab for Pad Properties.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15925
2023-10-23 14:13:49 +01:00
Jeff Young
f4b872226b
Fix wxFormBuilder switching the default tab.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15925
2023-10-23 13:44:05 +01:00
jean-pierre charras
504b3cd174
FP editor: allows FOOTPRINT field to be editable.
...
Although it had no meaning in FP editor, it needs to be edited in some cases,
as it is a member of a library footprint.
2023-10-23 12:53:25 +02:00
Alex Shvartzkop
97901c9ac5
Fix footprints being difficult to select in high-contrast modes.
...
(regression)
2023-10-23 06:09:13 +03:00
Jeff Young
fb84f4592b
Check vias before holes as we assume any hole is non-pushable.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15840
2023-10-22 22:46:19 +01:00
Jeff Young
7c08aa09d5
Don't generate virtual vias when editing a tuning pattern.
2023-10-22 20:35:15 +01:00
Jeff Young
f1efae1e05
We don't want to do collision testing against virtual vias.
...
(Which means they had better not have a hole.)
2023-10-22 20:35:15 +01:00
Jeff Young
ad676e22b8
Don't push a commit we don't own.
2023-10-22 20:35:14 +01:00
Jeff Young
5da35d7750
Don't modify dp-tuning when doing skew tuning.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15901
2023-10-22 20:35:14 +01:00
Jeff Young
09e92fc3fc
Cap self-intersecting outline violations.
2023-10-22 20:35:14 +01:00
Jon Evans
06a4bdbf4c
Upgrade BITMAP_TOGGLE and GRID_BITMAP_TOGGLE to wxBitmapBundle
2023-10-22 14:02:06 -04:00
Jon Evans
50fe585827
REMOVED: manual icon scale preference
...
This is now handled properly by wxWidgets on all platforms
See https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jon Evans
eb5b3db063
Add bitmap bundle support to BITMAP_SCALE
...
Change a bunch of buttons and toolbars to use it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Alex Shvartzkop
08e8e13f46
performance: Cache zone fill triangulation at draw.
2023-10-22 14:21:54 +03:00
Jeff Young
24a9245f81
Hook up via size & drill constraints to editors.
2023-10-21 19:10:38 +01:00
Jeff Young
df46521b25
Don't separate netclass values from custom rule values.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15912
2023-10-21 18:23:48 +01:00
Jeff Young
b97d8ddef4
Make offset-zone check multi-layer aware.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15916
2023-10-21 15:08:36 +01:00
Jeff Young
f18ce8c6de
Fix layer handling for create similar zone.
2023-10-20 22:20:30 +01:00
Jeff Young
fc22e602e2
Coverity fixes.
2023-10-20 16:38:21 +01:00
Jeff Young
f5e99338a9
Generators should respond to the selection filter that controls their children.
...
(Tuning patterns to the track checkbox, stitching patterns to the
vias checkbox, etc.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15905
2023-10-20 16:28:05 +01:00
Jeff Young
00fb542146
nullptr safety
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15906
2023-10-20 16:28:05 +01:00
Jon Evans
32ee3bdabd
Remove errant git2 link command
2023-10-20 11:26:22 -04:00
Jeff Young
1b04d8972e
Missing update from last commit.
2023-10-20 14:09:21 +01:00
Seth Hillbrand
d99641be40
ADDED: Git integration support
...
Adds support for project-based git integration, branch support, commit,
revert and updates
Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Jeff Young
8f96009fe5
Hints and fixes for separate checking of milling cutter size and drill size.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15886
2023-10-20 12:13:09 +01:00
Jeff Young
68a5753c80
Repair Rotate on PCB_GENERATOR items.
2023-10-19 23:34:52 +01:00
Wayne Stambaugh
c4a9703f81
Minor dialog layout fixes.
2023-10-19 11:59:35 -04:00
Jeff Young
134685bc32
Optical alignment for capital 'T's.
2023-10-19 15:02:38 +01:00
Jeff Young
059a95a2f2
Lock generated tracks when routing.
...
Otherwise they lose their group status when being replaced by the
router (even if they weren't otherwise modified).
2023-10-19 11:39:01 +01:00
Jeff Young
24ddc728e8
Add PCB_ACTIONS::regenerateAllTuning....
...
... and move GENERATOR_TOOL to RegenerateAllOfType().
2023-10-19 11:20:09 +01:00
Jeff Young
7447700735
Fix typo.
2023-10-19 11:20:09 +01:00
Jeff Young
16ec0faa7a
Reduce line-breaking.
...
Also simplifies handling of generator properties dialogs.
2023-10-19 11:19:57 +01:00
Jeff Young
67f0f6e3b9
Rename class to match current terminology.
2023-10-19 01:31:13 +01:00
Jeff Young
b089630b4c
Simplify Import Graphics.
...
Removed no-longer-required differentiation between importing
footprint vs board objects.
Renamed files to match the dialog.
Made Position At and Set Layer optional checkboxes.
Removed Group Items checkbox. (In the unlikely event that you don't
want a group, do an UnGroup after importing.)
Flattened out labelled-sizers in the dialog.
Removed importers blacklist, which hasn't been active for at least 4
years.
Fixed undo/redo bug that caused items to be no-longer-grouped after
a redo.
2023-10-19 01:31:13 +01:00
Mike Williams
70917a14e7
Route from end: fix crash and snapping bug
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13992
2023-10-18 12:32:32 -04:00
Mike Williams
5cd5194e89
SCH/PCB: warn before deleting footprint-only fields on sync
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15342
2023-10-18 11:33:17 -04:00
jean-pierre charras
599a8304a6
Pcbnew, ConnectBoardShapes(): do not add 0 size segments to outlines.
...
Add also our standard copyright text.
2023-10-18 11:14:43 +02:00
jean-pierre charras
db9734923c
DIALOG_CLEANUP_GRAPHICS: fix incorrect parameter passed to cleaner.CleanupBoard().
...
The fix board outlines was in fact always activated.
2023-10-18 09:40:26 +02:00
Seth Hillbrand
4ed8b14c12
Fix Mac build
...
Clang requires tighter forward declaration of derived enums
2023-10-17 09:26:00 -07:00
Jeff Young
e793e30360
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15881
2023-10-17 13:34:58 +01:00
Jeff Young
e5225abb62
Tuning mode is invariant.
...
Don't show target skew for length tuning, and don't show
target length for skew tuning.
2023-10-17 13:30:58 +01:00
Jeff Young
89011e888c
More modern look & feel for tuning status popup.
...
(Also includes min and max info, and move string processing out
of router.)
2023-10-17 13:30:58 +01:00
Jeff Young
390bd44f18
Cleanup.
2023-10-17 13:30:58 +01:00
Jeff Young
9ed802e951
Support min/max rules in diff pair placer and skew placer.
2023-10-17 13:30:58 +01:00
Jeff Young
9c4bb464ac
Improve tuning status popup colours.
2023-10-17 13:30:58 +01:00
Wayne Stambaugh
f629898c8b
Coding policy fixes.
2023-10-17 08:07:15 -04:00
Alex Shvartzkop
be1008cbd8
ADDED: Heal Shapes; Fix discontinuities in gfx import and Cleanup dialog.
2023-10-17 10:29:43 +03:00
Marek Roszko
bee6e6be01
AddMenuLanguageList should live in EDA_BASE_FRAME, its only user
2023-10-16 19:49:52 -04:00
Marek Roszko
584757f2df
Move the menu helpers to ui_common instead of sitting in bitmap for some reason
2023-10-16 19:40:46 -04:00
Marek Roszko
ba83e84b91
Move SaveCanvasImageToFile to EDA_DRAW_FRAME rather than leaking things to bitmaps
2023-10-16 18:33:11 -04:00
SYSUeric66
9d4e0ba439
add python api FocusOnItem
2023-10-16 22:28:47 +00:00
Wayne Stambaugh
b5eee9dd7e
Coverity warning fixes.
2023-10-16 17:04:14 -04:00
Jeff Young
a2e35aabae
Trim meander group items to just the tuning pattern.
2023-10-16 13:44:05 +01:00
Jeff Young
2c9d43474d
Formatting.
2023-10-16 13:44:05 +01:00
Jeff Young
64cc8dd6aa
Adjust dashed-box and edit-point locations to be outside meanders.
2023-10-16 13:44:05 +01:00
Jeff Young
d51e058e24
Move diff-pair netname resolution to BOARD.
...
Also adds reporting of dp gap constaints and max uncoupled to track
selections, and max uncoupled during routing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13748
2023-10-15 22:46:23 +01:00
Jeff Young
2c02c26af4
Centralize min/opt/max printing.
2023-10-15 22:46:23 +01:00
Jeff Young
ccc20348bf
Don't start with MEANDER_SIDE_DEFAULT.
...
It means we get a different default for left-to-right-drawn than we
do when going the other way.
Also fixes bug in PNS::DP_MEANDER_PLACER so that it honours side
specified in settings.
2023-10-15 17:59:11 +01:00
Jeff Young
2450250ae7
Use "tuning pattern" in the GUI.
2023-10-15 17:59:11 +01:00
Jeff Young
6baac175c5
Status bar messages for meanders.
2023-10-15 17:59:11 +01:00
Jeff Young
2b28580f0c
Comments.
2023-10-15 17:59:11 +01:00
jean-pierre charras
7efd414519
Fix minor Coverity and compil warnings
2023-10-15 15:55:31 +02:00
Alex Shvartzkop
fd887ba929
Altium: support importing a single footprint.
2023-10-15 06:31:00 +03:00
Alex Shvartzkop
254c8accc2
Remove some debugging messages.
2023-10-15 03:28:25 +03:00
Jeff Young
d5d07e64c9
Use IsShownOnScreen(), not IsShown(), if you really want to know if its visible.
2023-10-14 23:51:37 +01:00
Alex Shvartzkop
a16bdb7288
ADDED: Support EAGLE libraries directly in Symbol Library Table.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2214
2023-10-15 01:45:39 +03:00
Alex Shvartzkop
9ed19192de
Improve editing values with {return} in text fields; Add hyperlink detection.
2023-10-15 01:45:39 +03:00
Jeff Young
14d5a404b2
Don't leave deleted items in a group.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15797
2023-10-14 18:23:51 +01:00
Jeff Young
504652b972
Regularize RunOnChildren() at the BOARD_ITEM level.
...
BOARD_ITEM sub-classes which don't have children simply don't
overrid it.
2023-10-14 15:04:18 +01:00
Jeff Young
8028ea893f
Reduce public API of PCB_GENERATOR_MEANDERS.
...
It doesn't make a huge difference because the class is declared in
the .cpp file, but it still makes it easier to understand what is
conceptually public and what is not.
2023-10-14 15:04:18 +01:00
Jeff Young
5f5113c80a
Pick up current rule values when editing meanders.
2023-10-14 15:04:18 +01:00
Alex Shvartzkop
61bdee027b
Fix a crash when using length tuning tools.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15874
2023-10-14 16:53:28 +03:00
Alex Shvartzkop
f7ed9cc5c7
Fix loading thru-hole pads when drill token is missing.
2023-10-14 15:42:13 +03:00
Alex Shvartzkop
83af481688
Improve EAGLE file header detection.
2023-10-14 15:42:13 +03:00
jean-pierre charras
805f1dfbc5
Pcbnew: when adding layers, do not change via layers.
...
Via layers are not defined by a LSET, and the code that used the new LSET
broke the Via start and/or end layers (for blind/buried vias)
Fixes #15856
https://gitlab.com/kicad/code/kicad/-/issues/15856
2023-10-14 08:48:22 +02:00
Jeff Young
0a111e9fbb
Hook up layer-toggle command to router.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15812
2023-10-13 21:33:27 +01:00
Jeff Young
2bc273f8bc
Don't fire event-parameter asserts when looking for a click event.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/KICAD-2CK
2023-10-13 20:31:01 +01:00
Jeff Young
8d3047d6eb
Clear selection before deleting board layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15866
2023-10-13 18:20:33 +01:00
Jeff Young
a69869f72a
Simplify undo/redo for pad edit mode.
...
Also simplifies high-contrast-mode handling to fix a bug when exiting
pad edit mode via an undo.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15845
2023-10-13 13:59:31 +01:00
Jeff Young
62d959ed0e
Don't assume an error location for PAD::GetEffectivePolygon().
...
While ERROR_INSIDE was good for plotting, 3D generation, etc., it's
not good for generating router hulls.
Also reverts part of the change to always use polygons for PNS::SOLIDs. A single shape in a SHAPE_COMPOUND will be faster (and
more accurate).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-13 13:59:26 +01:00
jean-pierre charras
38c7fa6db9
Pcbnew: do not display the outlines of a very special zone used by DRC
...
to show layer mask bridges created by DRC to show these bridges.
This is not a real ZONE, just a container to displays these filled areas.
2023-10-13 14:25:49 +02:00
jean-pierre charras
57efde1bbb
Pcbnew: rename ZONE* m_SolderMask to m_SolderMaskBridges
...
(It is a container to build bridges on solder mask layers by DRC, not real zone)
Disable also this special zone selection by adding it in
PCB_SELECTION_TOOL::itemPassesFilter
2023-10-13 09:57:21 +02:00
Jon Evans
96f9f2c658
PNS: Allow for approximation error in hull clearance
...
Also revert to using exact hulls for non-compound shapes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14898
2023-10-12 22:55:34 -04:00
Jon Evans
660c407095
ADDED: Control of multi-layer plot order from plot dialog
...
Enabled by 0b136ae0
2023-10-12 21:52:37 -04:00
Thomas Pointhuber
7cb198e021
fix SEGV in pcb_generator_meanders
2023-10-12 21:47:34 +02:00
jean-pierre charras
79a45c4803
TestBoardOutlinesGraphicItems(): handle small arcs.
2023-10-12 19:59:11 +02:00
Jeff Young
af020f4f9a
Fixes for diff-pair meander rectangle & edit points.
2023-10-12 17:54:34 +01:00
Jeff Young
78ee6f2e42
Fix a couple of undo bugs.
...
The first caused items coming back from undo to be hidden.
The second caused them to be ungrouped from the parent meander.
2023-10-12 17:54:34 +01:00
Jeff Young
cdc9c2e409
Fix undo bug where items come back hidden.
2023-10-12 17:54:34 +01:00
Jeff Young
16d904d47e
Add support for diff-pair meanders.
2023-10-12 17:54:34 +01:00
Jeff Young
d4b8b550f3
Go back to using VIEW::Hide() instead of ForcedTransparency().
...
(The issue was that the selection VIEW_GROUP drawing ignores the
HIDDEN flag so we need to make sure the PCB_GENERATOR_MEANDERS isn't
in the selection VIEW_GROUP while we're editing it.)
2023-10-12 17:54:34 +01:00
Jeff Young
1b676985f6
Retire length tuning tool in favour of first-class meanders.
2023-10-12 17:54:34 +01:00
Jeff Young
1ca477aeee
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
...
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young
d6c2ad7503
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
...
Also fixes a bug where we didn't clear the router on an <ESC>.
2023-10-12 17:54:34 +01:00
Jeff Young
1aeccc5895
Unroll from PICKER_TOOL so we can handle amplitude/spacing events.
2023-10-12 17:54:34 +01:00
Jeff Young
a57c9967f3
Draw meander borders while placing.
2023-10-12 17:54:34 +01:00
Jeff Young
4da3e0ff93
Make meander dashed-line borders constant size.
2023-10-12 17:54:34 +01:00
Jeff Young
d04641c868
ADDED: support for editing target length in Meander Properties dialog.
...
Also supports overriding the custom rules.
2023-10-12 17:54:34 +01:00
Wayne Stambaugh
e3c491424b
Coding policy, Doxygen comment, and spelling fixes.
2023-10-12 12:27:30 -04:00
jean-pierre charras
a7d540ce94
TestBoardOutlinesGraphicItems(): add missing case.
...
DRC_TEST_PROVIDER_MISC::testOutline(): use a smaller size to dectedt small items.
2023-10-12 15:53:21 +02:00
jean-pierre charras
499f3ca95b
DRC_TEST_PROVIDER_MISC::testOutline(): add test to detect questionable items.
...
Graphic items (segments, rects, circles) on Edge.Cuts can create issues when
building board outlines, when they are very small (a few nm in size), because
they are not easily handled when trying to search connected graphics.
Also protect RC_ITEM::SetItems() against null pointer.
Fixes #15865
https://gitlab.com/kicad/code/kicad/-/issues/15865
2023-10-12 14:48:24 +02:00
Alex Shvartzkop
0ea85ec9f5
Restore fill polygons on proper layers when flipping zones.
2023-10-12 02:21:47 +03:00
Jon Evans
0b136ae0df
CLI: Allow controlling layer order for multilayer plots
2023-10-11 00:18:58 +00:00
Jeff Young
d8f35633d4
Modify interactive delete tool to respect groups & selection filter.
2023-10-10 16:04:54 +01:00
Jeff Young
8c017be24a
Clearer naming.
2023-10-10 15:43:45 +01:00
Jeff Young
0683313ecb
Fix ghosted image while moving meander.
...
Also cleans up some undo description strings. (They go in the menu
so they should be title-caps.)
2023-10-10 15:24:58 +01:00
Jeff Young
d3b50f0607
Cleanup (no functional changes).
2023-10-10 13:42:42 +01:00
Jeff Young
04e23bf5e3
Fix build.
2023-10-10 12:58:12 +01:00
Jeff Young
d916e650f1
Tuning status popup for point editor.
2023-10-10 11:55:57 +01:00
Jeff Young
bb74445dda
Code clarity.
2023-10-10 11:14:47 +01:00
Jeff Young
4226839586
Switch to diff-pair mode if startItem is a diff-pair member.
2023-10-10 11:08:53 +01:00
Jeff Young
099e5dd9e7
More undo bugs.
2023-10-09 22:32:32 +01:00
Jeff Young
994f9f8823
Cleanup & compiler warnings.
2023-10-09 22:32:32 +01:00
Jeff Young
642938455e
Add status popup for meander placer.
2023-10-09 22:32:32 +01:00
Jeff Young
1afa6ddbd5
Rename getLineBetweenPoints() to getLine().
...
While it uses the first point to find the line, it in fact returns
the entire connection, not just the part between the two points.
2023-10-09 22:32:32 +01:00
Jeff Young
44e0821e13
Fix some issues with undo.
...
Also fixes the baseline being visible while placing the meander.
2023-10-09 22:32:32 +01:00
Jeff Young
d10b0b053e
Move meander placer picker tool from item highlighting to net highlighting.
2023-10-09 22:32:32 +01:00
Jeff Young
b662ff4956
Improve graphical feedback while placing a meander.
2023-10-09 15:22:41 +01:00
Jeff Young
60a2439a53
Better spacing in the meander properties dialog.
2023-10-09 15:22:41 +01:00
Jeff Young
35d8635a6b
Default skew tuning lenght to diff between N/P, but allow override.
2023-10-09 15:22:41 +01:00
Alex Shvartzkop
21adc0aac5
ADDED: Import vector graphics into Schematic editor (SVG, DXF).
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
60d069757a
ADDED: Import vector graphics into Symbol editor (SVG, DXF).
2023-10-09 07:04:50 +03:00
Alex Shvartzkop
f4f8523c59
Rename pcbnew DIALOG_IMPORT_GFX -> DIALOG_IMPORT_GFX_PCB
2023-10-09 07:04:50 +03:00
jean-pierre charras
c9d6e79d2d
Fix minor compil warnings.
2023-10-08 15:04:45 +02:00
Alex Shvartzkop
b77df1eea4
Use advanced_config key EnableGenerators to enable menu entries for generators.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
f11339f1f5
Add actions for generators to Tools menu.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
af3bd15469
Avoid crash when length tuning+closing window.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
08e0d8d98a
ADDED: Manager dialog for generative objects.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
a4832dd3c8
ADDED: Interactive meander objects for length tuning.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
455268f45e
Allow to specify meander initial side via meander settings.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
ce8849f8bc
Skip move in meander placers if points match.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
8b21a260c9
Refactor MEANDER_PLACER_BASE::cutTunedLine to SHAPE_LINE_CHAIN::Split.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
6cfb05b4a3
Save/load generative objects in PCB file.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
7b645aa541
Introduce GENERATORS_MGR.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
546c7ed218
Introduce GENERATOR_TOOL.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
be72e07e61
Introduce PCB_GENERATOR.
2023-10-08 02:41:17 +00:00
Alex Shvartzkop
0fcb36bc2e
Add reselectItem action.
2023-10-08 02:41:17 +00:00
Jeff Young
b4986030da
Include solder mask in STEP export stackup height.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15632
2023-10-07 10:28:38 +01:00
Alex Shvartzkop
36853b0df4
Allow translation of "Open cancelled by user." in pcb_parser.cpp
2023-10-07 09:09:30 +03:00
Alex Shvartzkop
280fe976c4
Add a re-entrancy guard to PCB_POINT_EDITOR.
2023-10-07 03:51:52 +03:00
Alex Shvartzkop
74075fe4d6
Fix target skew not working properly in meander skew placer.
2023-10-07 03:51:26 +03:00
Alex Shvartzkop
e4e769493c
Skip very short segments in MEANDER_SHAPE::forward.
2023-10-07 03:51:18 +03:00
Jeff Young
da5f5536c8
Honour custom layer names for Layer_Top and Layer_Bottom.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15835
2023-10-06 21:55:57 +01:00
Jeff Young
3f0067cbaa
Adjust colours in appropriate direction depending on background.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15841
2023-10-06 21:27:02 +01:00
Jeff Young
83d896951a
Apply epsilon more uniformly to footprint checks.
...
Rotation can cause round-off errors even in ints.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15838
2023-10-06 21:04:23 +01:00
Jeff Young
420cadab34
Separate meander settings from target length/skew.
...
Settings move to Board Setup, while target length is sourced from
the custom rules (or a text-entry dialog if no rules are active for
the track).
Target skew is sourced from the coupled-trace-length minus the
trace-to-be-tuned length.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12075
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15826
2023-10-06 19:46:55 +01:00
Jeff Young
b9e1908ffe
Try to find a happier medium for text entry box widths.
...
Most dialogs have units outside the text entry, and the likelihood
of 14 significant digits & units is low enough to allow scrolling
in that case.
2023-10-06 19:46:55 +01:00
Alex Shvartzkop
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Alex Shvartzkop
bf29b25190
EAGLE PCB: fix a regression causing polygons not being imported.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15829
2023-10-06 01:13:58 +03:00
Ian McInerney
0876fb0985
Re-implement direct layer switching in the router tool
...
Also add a new framework to allow grouping actions that are similar into
a single context that can then be used for mass comparisons.
2023-10-05 13:34:25 +01:00
Jeff Young
31c488bc23
NETINFO_ITEMs are owned by BOARD.
...
Lifecylce management must go through BOARD_COMMIT (or at least
the frame's undo/redo lists).
2023-10-04 21:01:33 +01:00
Mike Williams
c2d7b26ebd
PCBNew: don't grab the wrong parameter type when placing vias
2023-10-04 12:17:15 -04:00
Hasan Jaafar
c45ebfcccd
Add hot key column on layer select dialog
2023-10-04 12:17:15 -04:00
jean-pierre charras
37df47a3e7
genDrillMapFile: reduce the pen width used to plot oval shapes (better look)
2023-10-04 15:47:47 +02:00
Jeff Young
9f5e583ced
Readability.
2023-10-03 17:14:03 +01:00
Jeff Young
9b60e99660
Use wxSTAY_ON_TOP instead of wxFRAME_FLOAT_ON_PARENT for choosers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15808
2023-10-03 14:49:50 +01:00
Jeff Young
a3d83cdb6d
Pass symbol netlist from Field Properties dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15806
2023-10-02 23:41:06 +01:00
Jeff Young
987e382f96
Add missing member variable initialization.
2023-10-02 22:18:31 +01:00
Jeff Young
e242f54816
Fix crash trying to create a new board.
2023-10-02 22:12:07 +01:00
Jeff Young
8760bd8c80
Reconcile "apply defaults to new footprints" with DRC lib checks.
...
Moves apply defaults settings to Board Setup (where they were
duplicated anyway due to an earlier botched merge).
Modifies the apply-to-graphics algorithm to skip copper shapes.
Modifies DRC library check to skip STROKE_PARAMS for non-copper
shapes.
2023-10-02 22:10:13 +01:00
Jeff Young
2d3a8ee4c9
Readability and comments.
2023-10-02 20:56:16 +01:00
Jeff Young
9d678e96cd
Improve spacing.
2023-10-02 16:33:26 +01:00
Jeff Young
06446bb80e
Only expand lib tree when filtering.
2023-10-02 16:24:53 +01:00
Mike Williams
7c8e74c156
Fields: fix redundant update messages
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15801
2023-10-02 11:02:10 -04:00
Marek Roszko
6d3b846eb5
Add more missing destructor event cleanups
2023-10-02 07:22:00 -04:00
Jeff Young
eaa3ee43e9
Tighten terminology consistency in clearance & constraint reports.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15800
2023-10-02 11:12:18 +01:00
Jeff Young
609dedda3c
Insert lazily-created-rows at right position in grid sizer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15652
2023-10-02 11:12:18 +01:00
Jeff Young
cf02bb171f
Expose exclusion flags in search pane.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15776
2023-10-01 22:46:34 +01:00
Jeff Young
904bdc3c66
Use netclass values when reaching netclass entry.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15774
2023-10-01 21:01:46 +01:00
Jeff Young
9214e47367
Only allow switching to enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15779
2023-10-01 15:27:55 +01:00
Marek Roszko
bfbba632df
Guard GetModificationTime with IsValid otherwise it'll return based on INT64_MIN.
...
Fixes KICAD-3Z0
2023-10-01 09:43:09 -04:00
Marek Roszko
f1c5581802
Don't continue with a null board in board import
...
Some plugin is failing and returning a null-board when the usual convention was exceptions
Fixes KICAD-3ZJ
2023-10-01 09:38:44 -04:00
Alex Shvartzkop
25cca5adfe
EasyEDA Std: fix polygon pad orientation.
2023-10-01 16:21:26 +03:00
Alex Shvartzkop
9cca8e5970
EasyEDA Std: assign nets to PCB circles and rects.
2023-10-01 16:21:17 +03:00
Thomas Pointhuber
7005dd7c48
altium: make special string parsing on pcb a bit more generic
...
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Thomas Pointhuber
3b3e4fd34a
Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons
2023-10-01 13:58:38 +02:00
jean-pierre charras
629081af65
fix FOOTPRINT::GetLikelyAttribute() to follow the comments of
...
FOOTPRINT::CheckFootprintAttributes(): at least one through hole pad
means most probably a footprint through hole attribute.
2023-10-01 11:21:11 +02:00
John Beard
311f041421
ADDED: Polygon boolean operations in PCB editor
...
This allows common operations like merging a pin courtyard
into the body courtyard in the fooprint editor, taking a
"bite" out of a polygon and so on,
For now, this only supports polygons made of straight lines.
There are some wierd cases when the operations result in nothing
(e.g. wen a big polygon is substracted from a smaller one that
it contains entirely). I have tried to do something senisble in
these cases, but there may be more optimal ways to handle it.
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/13025
2023-10-01 00:10:10 +01:00
John Beard
b6cd7e3b4a
Make ITEM_MODIFICATION_ROUTINE status messages more general and easier to call
2023-10-01 00:10:10 +01:00
Jeff Young
b18fd12694
Improve clarity.
2023-09-30 23:59:25 +01:00
Jeff Young
efd004b042
Fix typo.
2023-09-30 23:37:36 +01:00
Marek Roszko
02bbfc8f57
Fixes EDIT_TOOL::Move parameter assert
...
SENTRY KICAD-2CK
2023-09-30 16:00:15 -04:00
Marek Roszko
2bb811555b
Guess at fixing the InlineDrag action missing param
...
Fixes KICAD-41T
2023-09-30 15:53:35 -04:00
Jeff Young
9805aca5a0
Handle backslash-escaped quotes in libeval.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15786
2023-09-30 17:38:44 +01:00
jean-pierre charras
7bc2d69ab7
Fix a typo and a Coverity warning
2023-09-30 18:17:09 +02:00
Jeff Young
31e30a5f56
Fix typo in arguments list to EvalRules().
...
Also fixes a bug where we weren't clearing the previous tabs from
the notebook.
2023-09-30 13:14:27 +01:00
Marek Roszko
a347aa7647
StartPlot can fail and leave a broken file handle
...
Related https://gitlab.com/kicad/code/kicad/-/issues/15782
2023-09-29 19:52:21 -04:00
Jeff Young
e1c51ed192
A few performance improvements from profiling.
...
Most of them are very small; the removal of the Fracture() in
DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones() is the only
significant one.
2023-09-29 21:54:59 +01:00
Jeff Young
fa11e9138d
ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
Marek Roszko
98685b37ff
Don't search when board is null (during board changes)
2023-09-29 07:08:56 -04:00
Alex Shvartzkop
3b28ba83c6
EasyEDA Pro: don't fail on attributes for dimensions.
2023-09-29 12:17:30 +03:00
Alex Shvartzkop
e34d95bb45
EasyEDA Pro: deduplicate footprint 3D model fields.
2023-09-29 12:16:44 +03:00
Jeff Young
b592a6634e
Cleanup.
2023-09-29 00:13:13 +01:00
Jeff Young
974da4ea7c
Push most of DIALOG_CHOOSE_SYMBOL down into PANEL_SYMBOL_CHOOSER.
...
Includes a dialog wrapper (DIALOG_SYMBOL_CHOOSER) and a frame
wrapper (SYMBOL_CHOOSER_FRAME).
2023-09-29 00:13:12 +01:00
Jeff Young
23033451b1
Cleanup.
2023-09-29 00:13:12 +01:00
Jon Evans
077159ac13
Plotting: use theme color for worksheets
2023-09-28 16:58:02 -04:00
Marek Roszko
6b12a12b3e
On second thought rename PROJECT_PCBNEW to PROJECT_PCB
2023-09-27 23:15:54 -04:00
Seth Hillbrand
c772d116b2
Ensure that layer names are unique when importing
...
Altium allows duplicate layer names but KiCad prefers to have unique
names for each layer. This enforces a unique name for each layer when
importing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15583
2023-09-27 18:05:21 -07:00
Marek Roszko
7e8b18035f
Eliminate the conditional pcbnew/cvpcb definition of PROJECT
2023-09-27 20:53:46 -04:00
Jeff Young
1047130046
Push most of footprint chooser into PANEL_FOOTPRINT_CHOOSER.
...
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
2023-09-27 16:02:13 +01:00
jean-pierre charras
4e77c9089e
Fix typos
2023-09-27 17:01:21 +02:00
Zhuang Jiezhi
618c2be380
Pcbnew: Adding net pop-up menu for placing via
...
ADDED: Add feature showing a pop-up menu of possible nets when it's ambiguous in Pcbnew
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15003
2023-09-26 19:42:55 +00:00
Jeff Young
54171ec030
Add action for switching to Project Manager.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15740
2023-09-26 17:25:57 +01:00
Marek Roszko
37e8a008ab
Remove obsolete config_params.h includes
2023-09-25 20:40:29 -04:00
Jeff Young
be532e96d6
Fix errors in calculating tuning length.
...
Fix mismatched parameter passing in TOPOLOGY::followTrivialPath()
and TOPOLOGY::AssembleTrivialPath().
Fix logic error in PNS::JOINT::IsLineCorner().
Handle VVIAs in PNS::JOINT::IsNonFanoutVia().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10614
2023-09-25 15:50:44 +00:00
jean-pierre charras
58d52df97c
Fix missing header on wxMSW
2023-09-25 15:19:27 +02:00
Jeff Young
bf493f32f5
Nullptr safety for various panels.
...
Also moves preference saving out to parent as different parents
save different settings.
2023-09-25 12:35:54 +01:00
Jeff Young
7835b8ddc7
Bring various appearance managers into line over preset editing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15726
2023-09-25 12:35:54 +01:00
Seth Hillbrand
91450c22cc
Allow disambiguation menu configurability
...
Adds an advanced config flag to all testing different values for
different users.
Related to https://gitlab.com/kicad/code/kicad/-/issues/15128
2023-09-24 16:33:05 -07:00
Jeff Young
63558d4b09
Don't double-code the format of unconnected netnames.
...
It's owned by SCH_PIN::GetDefaultNetName().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15723
2023-09-24 22:54:10 +01:00
Jeff Young
e962615407
Use original event position if it's available.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15623
2023-09-24 19:01:53 +01:00
Jeff Young
aef0f44b8e
Smarten up double-click handing in PCBNew drawing tool.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15700
2023-09-24 18:49:41 +01:00
Jeff Young
c2c71facb1
Tidy up shutdown of APPEARANCE_CONTROLS.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15024
2023-09-24 18:27:06 +01:00
Jeff Young
d428b0e20e
Improve SameLogicalPadAs() shorting nets test.
...
This is required to support 4cd26ab6bc
.
2023-09-24 16:19:26 +01:00
Marek Roszko
f8e33be07f
Break out the boundary violating parts of gal into common through subclassing
2023-09-23 09:37:47 -04:00
jean-pierre charras
e7233a8dc6
DIALOG_CREATE_ARRAY, minor changes: better look, and added a few tool tips.
2023-09-23 10:08:37 +02:00
Seth Hillbrand
4cd26ab6bc
Ensure NC nets are not connected in board
...
Even when a pin connects to multiple pads, placing an NC indicator on
the pin type or the connected net means that all pads for that pin
should be independent and not ratsnest with each other
We accomplish this by assigning a unique id "unconnected-(REFDES-PAD#_#)" to each
pad with the pintype "no_connect". The pad numbers and uniquely
incremented per footprint based on UUID ordering
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15692
2023-09-21 21:36:19 +00:00
Jeff Young
9e2fc9b07c
Footprint item positions are relative.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15477
2023-09-21 14:28:25 +01:00
jean-pierre charras
e152f97f35
Fix minor Coverity warnings. Small code cleaning in pcb_parser.cpp
2023-09-21 11:33:29 +02:00
Seth Hillbrand
f4afd7e363
Thread testTrackClearances
...
We are frequently testing thousands of track segments. They can each be
uniquely tested in parallel with reporting and marking guarded by
mutexes. This speeds up the DRC tests substantially
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15466
2023-09-20 19:51:33 -07:00
Seth Hillbrand
88cbbbcdae
Add error message when we cannot form a polygon
...
Explains to the user why the polygon creation failed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15704
2023-09-20 13:42:31 -07:00
Jon Evans
d781d70a09
PNS fix dragging a single footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15693
2023-09-20 11:53:43 -04:00
Jon Evans
d371bb06ae
New macOS installation scripts
...
Replaces BundleUtilities that got broken by recent updates
and is basically unmaintained by cmake.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15376
2023-09-19 17:23:30 -04:00
Jeff Young
58889f8120
Improve shape properties dialog layout.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15683
2023-09-19 17:04:05 +01:00
jean-pierre charras
0a26ab1cae
PANEL_SETUP_BOARD_STACKUP: save the m_HasDielectricConstrains BOARD_STACKUP member.
...
This member was not saved in the board stackup data.
Fixes #15690
https://gitlab.com/kicad/code/kicad/-/issues/15690
2023-09-19 17:47:29 +02:00
jean-pierre charras
e24c6d04ff
DIALOG_CREATE_ARRAY: enhancement to commit f775637d: ensure last selection
...
(Set center by radius / Set center by position) has the right widgets enabled
when reopen the dialog.
2023-09-19 16:22:38 +02:00
Josue Huaroto
f775637da8
Add Radius and Angle parameters to set center in Circular Array
2023-09-19 14:02:17 +00:00
Jon Evans
5a9c028e85
PNS: Allow dragging more than one footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11312
2023-09-18 22:37:11 -04:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Alex Shvartzkop
1decd31baf
Vertically center wxGrid cells by default.
2023-09-18 17:15:34 +03:00
Jeff Young
469a94db8c
Fix mirroring of TextBox.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15576
2023-09-18 14:49:38 +01:00
Alex Shvartzkop
06463fd35a
Fixes for Wayland cursor warping:
...
- Emulate the mouse position, since no motion events are sent after warp
- Do not call wl_surface_commit to prevent an assert
- Re-organize code a bit
2023-09-18 12:56:54 +00:00
jean-pierre charras
b59910a749
catch exception thrown by LIB_TABLE::FindRow().
...
Previously, was not handled, and crashes Pcbnew.
2023-09-18 14:30:47 +02:00
Jeff Young
ec97ac189c
Fix typos in FOOTPRINT_EDIT_FRAME::SaveFootprintAs().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15678
2023-09-18 13:12:13 +01:00
Jeff Young
ef92429ac2
Implement changed notifiers for textvar, netclasses and severities.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15440
2023-09-17 17:35:15 +01:00
Jeff Young
c80eb44900
Disentangle IBIS model controls from built-in model controls.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13855
2023-09-17 12:42:06 +01:00
Jon Evans
467c672bcd
Fix all-layer snapping for footprint editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15538
2023-09-16 22:55:40 -04:00
Jeff Young
9114578004
Improve custom rules syntax help (based on info in docs).
...
Also turns on table processing in ConvertMarkdown2Html().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15609
2023-09-16 14:41:43 +01:00
Jeff Young
ed292e180d
Don't assert on 0-width tracks. Just don't inherit from them.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14558
2023-09-15 19:09:58 +01:00
Jeff Young
408f505b75
Formatting.
2023-09-15 19:09:58 +01:00
Jeff Young
68111a1682
Handle redraws from any tent-vias changes in plot settings.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15254
2023-09-15 18:32:33 +01:00
Jeff Young
5842e9c57e
Smarten the UpdateAllItemsConditionally() tests in SetActiveLayer().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15329
2023-09-15 17:44:43 +01:00
Jeff Young
28e16fbdb9
Don't do layer trimming when importing Altium footprint libraries.
...
It's unclear (to me) what the long-term solution should be here --
Kicad can't currently show any FP layers other than F.Cu, B.Cu, and
In1.Cu -- but that might change.
2023-09-15 14:54:05 +01:00
Jeff Young
c7f69503c0
Do full high-contrast update of vias & pads if netnames are shown.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15657
2023-09-15 14:54:05 +01:00
jean-pierre charras
581cc0de5c
Pcbnew, apparence control: add missing control of layer footprint confict
...
the selection of color and visibility of LAYER_CONFLICTS_SHADOW was missing.
2023-09-15 10:31:25 +02:00
Marek Roszko
cb7d7b09e3
config_params doesnt need color4d
2023-09-14 19:21:55 -04:00
Jeff Young
962f79334f
Don't import Altium objects to disabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15586
2023-09-14 17:17:07 +01:00
Alex Shvartzkop
ff49d5ada9
Fix ambiguous overloads on wx 3.3
2023-09-14 19:05:46 +03:00
Jeff Young
cc0facdd4e
ADDED: Convert Pad to Polygon
2023-09-14 16:36:37 +01:00
jean-pierre charras
a7b1448ccd
Fix a compil warning.
...
Fix also an incorrect comment.
2023-09-14 15:19:46 +02:00
Jeff Young
c7e865e4a2
Safety for negative pen widths.
2023-09-14 13:39:35 +01:00
jean-pierre charras
51456d973b
Better detection of degenerated PCB_ARC.
2023-09-14 11:40:20 +02:00
jean-pierre charras
931401b5be
Fix a compil issue (missing header) and a minor compil warning
2023-09-14 08:44:09 +02:00
Jeff Young
e492efe3c5
Finish up custom-shaped pad spoke templates.
...
Also fixes a bug in number box for rotated pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13962
2023-09-13 23:34:25 +01:00
Jeff Young
d6b75c64e1
ADDED: custom-shaped pad spoke templates.
2023-09-13 23:34:25 +01:00
Jeff Young
31c88d1bcb
Don't show cursor or grid axes in pad preview; do show the pad anchor axes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15631
2023-09-13 23:34:25 +01:00
jean-pierre charras
2c10d5e3a0
Pcbnew: fix some issues with very small arcs (size a few internal units)
...
these very small arcs do not allow to calculate a reliable center position,
and therefore a reliable radius.
So seeing them as a very small segment fix plotting/drawing issues.
Fixes #15639
https://gitlab.com/kicad/code/kicad/-/issues/15639
2023-09-13 17:54:57 +02:00
Jeff Young
375a4af478
Don't throw the number box baby out with the bathwater....
2023-09-12 23:49:08 +01:00
Josue Huaroto
2d54bc42cb
Save flip board status in custom preset
2023-09-12 17:10:41 +00:00
Tomasz Wlostowski
a7ae4d8e9a
router: orphaned net is not the same as null net handle
2023-09-12 16:03:55 +02:00
Jeff Young
93f004ff65
Formatting, and a fix for a shadowed variable.
2023-09-12 13:45:28 +01:00
jean-pierre charras
7bc0e138fb
DIALOG_NET_INSPECTOR: add a close button to allow closing the dlg by ESC.
...
Fixes #15624
https://gitlab.com/kicad/code/kicad/-/issues/15624
2023-09-12 09:28:17 +02:00
Jeff Young
3fcbde00c9
Clean up dead code.
2023-09-11 22:05:24 +01:00
Jeff Young
9f5a268f15
Don't go through a middle man when reading pad shape primitives.
...
They're both PCB_SHAPEs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15073
2023-09-11 22:05:24 +01:00
Jeff Young
0315adc646
Dim other SMD pads when in Pad Edit Mode.
2023-09-11 22:05:24 +01:00
Jeff Young
84a9f6f665
Set padEntered when entering pad edit mode with a non-custom shaped pad.
2023-09-11 22:05:24 +01:00
Jeff Young
899fe8be17
Fix change footprints dialog to use correct selection state.
2023-09-11 22:05:20 +01:00
jean-pierre charras
c66d4bab9c
SEXPR_BOARD_FILE_VERSION: fix a typo in commit 0e382669: the date is incorrect.
...
was set to 20230606 instead of 20230906. it creates some issues when reading
files having a 20230606 as file version.
Fixes #15617
https://gitlab.com/kicad/code/kicad/-/issues/15617
2023-09-11 10:40:07 +02:00
Alex Shvartzkop
7eb4b0710d
Fix reading/writing thermal spoke angles for custom pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
7.0 commit: 86ec36d183
2023-09-10 19:02:16 +03:00
jean-pierre charras
45e83541cd
Try to make DIALOG_CREATE_ARRAY more understandable for circular arrays.
...
Added toop-tips and info texts.
No actual code change.
2023-09-09 11:06:36 +02:00
jean-pierre charras
f2f572c370
drc_test_provider_text_dims.cpp: ensure glyphs to test are OUTLINE_GLYPH.
...
For non Kicad font texts with a overbar, the overbar is not a OUTLINE_GLYPH.
Fixes #15604
https://gitlab.com/kicad/code/kicad/-/issues/15604
2023-09-09 10:28:28 +02:00
Marek Roszko
11de95778b
Unwrap the FROM_UTF8 macro in favor of direct function
...
The extern just gets annoying to try to export the func later. We also yeet TO_UTF8 to string_utils.h for parity.
2023-09-09 00:10:57 -04:00
Marek Roszko
bd3aca2887
Cleanup the kiface dll export declaration slightly
...
Why in the bloody world would you pass in the return type as part of the macro for export/import preprocessing
2023-09-08 20:44:08 -04:00
Marek Roszko
3bbf3a61b5
Remove PNS APIEXPORT that never made sense
...
It can't work because all base classes must be APIEXPORTed
2023-09-08 18:44:46 -04:00
Marek Roszko
ab1a6651a9
send multivector.h and sync_queue.h to core
2023-09-08 07:14:34 -04:00
Marek Roszko
5da88d1d0e
Move UTF8 to core
2023-09-07 20:55:16 -04:00
jean-pierre charras
8aa408f0c9
fix a minor compil warning
...
fix a typo in translatable string.
2023-09-07 20:00:29 +02:00
Jeff Young
d3e255a383
Allow context-menu update/change footprint for multiple footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15595
2023-09-07 17:51:18 +01:00
Marek Roszko
7505fd0f37
Profile can live in core
2023-09-07 07:47:01 -04:00
jean-pierre charras
3e6f7ab3e5
Fix compil issues (especially easyeda_parser_base.xx) and compil warnings
...
Compil issues can be gcc13/msys2 specific.
2023-09-07 13:41:25 +02:00
Alex Shvartzkop
21ee65aa9c
ADDED: Importers for EasyEDA (JLCEDA) Standard / Professional.
2023-09-07 11:02:40 +03:00
Alex Shvartzkop
892761920a
FOOTPRINT::AutoPositionFields: reset justification and angle as well.
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
f211b2cdd0
Remove unused method from router_tool.h
2023-09-07 10:57:02 +03:00
Alex Shvartzkop
1b8abdfde7
ADDED: Basic STEP manipulation utils available to Python.
2023-09-07 10:57:02 +03:00
Marek Roszko
67b031adab
Painter base class should just live in gal instead of being in denial
2023-09-06 20:23:19 -04:00
Josue Huaroto
cef0f176d3
Add Unselect all in menu
2023-09-06 23:44:39 +00:00
Marek Roszko
4d77fd48ef
Shove thread_pool to core
2023-09-06 17:50:12 -04:00
John Beard
3c5052c1ac
Add snaps to pad hole edges
...
This is often useful when measuring the distance from an
object to a pad hole edge, and also when dimensioning
holes.
2023-09-06 21:34:17 +01:00
John Beard
78c8de9b08
Fix oval pad snapping
...
Previously the snap points computed for oval pads didn't get all the
points correct. This breaks out the "find snap points for ovals"
into a function, reworks the logic, adds some tests.
Also adds "extremum points" when the oval isn't exactly H/V.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15594
2023-09-06 21:33:45 +01:00
Seth Hillbrand
1662f6aad6
Speed up footprint loading by caching
...
Store the COMPOUND_FILEs in a map referenced to the library name. This
keeps the COMPOUND_FILE cache in memory rather than regenerating it each
time
2023-09-06 19:15:35 +00:00
Seth Hillbrand
1b63d11adf
Speed up Altium compound file reader
...
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Seth Hillbrand
b8b2498e0c
Add support for fp cutouts in Altium libs
2023-09-06 19:15:35 +00:00
Seth Hillbrand
cb3c712a9c
ADDED: memberOfSheet() design rule function
...
Footprints that are a member of a specific sheet may be assigned
distinct rules, allowing users to group their rules based on sheet
layout
2023-09-06 19:14:00 +00:00
Seth Hillbrand
f9b745f3d2
Allow multiple format image saving
...
- Keep original image data. When loading JPEG, this avoid recompression
that changes file data and decreases image quality
- Allow schematic and page layout editors to store non-PNG data as well
- Move page layout editor to store base64 instead of hex-coded data
2023-09-06 12:12:32 -07:00
Seth Hillbrand
0e382669d0
ADDED: Support for saving JPEG files in kicad_pcb
...
When users add an image to the board, this change keeps the original
file format when saving instead of converting the files into PNG-format,
which had the effect of making some board files much larger and slower
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14892
2023-09-06 12:12:32 -07:00
Jeff Young
c07e9c834f
Validate new footprint / save as footprint info before exiting dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13923
2023-09-06 12:49:37 +01:00
Alex Shvartzkop
e09a15ae4c
Altium PCB import: fix rectangular keepout fills.
2023-09-06 09:02:54 +03:00
Alex Shvartzkop
4f303a8dc2
Altium PCB import: Polygon Cutout only cuts copper fill.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15587
2023-09-06 08:43:12 +03:00
jean-pierre charras
cbcaaa001c
fix some Coverity and compil warnings.
2023-09-05 20:30:08 +02:00
Marek Roszko
f894f7ec4c
Use the right path for loading drawing sheet in pcbnew cli
2023-09-05 11:01:57 -04:00
Alex Shvartzkop
a5a93f808e
Populate symbol library type choices from SCH_IO_MGR list.
2023-09-05 07:19:15 +03:00
Marek Roszko
b566f994bb
Flip the RegisterSettings order to avoid legacy import crashes
...
(cherry picked from commit 32c2135047
)
2023-09-05 03:23:07 +00:00
Marek Roszko
a2522a2230
Don't call .Load() and cause settings to reload from disk
...
RegisterSettings can load the new settings json as added by not turning off the load now parameter
2023-09-04 22:42:00 -04:00
Jeff Young
ea6d64e996
Set line width when changing annotation proxy flag.
...
(This prevents rectangle from not getting combined into pad if
proxy flag is turned off as Clipper collapses the polygon union
because it's too small.)
2023-09-04 20:49:52 +01:00
Jeff Young
7c718db5d2
Remove dialog-based primitive editing in favour of Pad Edit Mode.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13561
2023-09-04 20:49:52 +01:00
Jeff Young
0e26f3ab30
Allow pad number box creation in pad edit mode.
...
(Also fixes a bug where we'd include pad number box in pad shape.)
2023-09-04 20:49:52 +01:00
Alex Shvartzkop
3215223ee2
Move fix_board_shape.cpp to pcbcommon.
2023-09-04 22:26:47 +03:00
jean-pierre charras
2bf8602912
DIALOG_EXPORT_STEP_LOG: print the command line sent to kicad-cli in report window.
...
It can be useful in case of problems.
2023-09-04 19:03:04 +02:00
Jeff Young
0cde8cff1d
Don't include plating thickness when drawing hole clearance lines.
...
We don't include it in the router, and the code didn't
differentiate between plated and non-plated holes, and it confuses
users.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15575
2023-09-04 16:06:09 +01:00
Matus Pavelek
d57c5d3ad9
QFN footprint wizard - Allow different number of pads in x and y directions
2023-09-04 13:39:28 +00:00
Marek Roszko
63824487d0
Hide the unsupported Visible prop for textbox text
2023-09-04 09:28:59 -04:00
Marek Roszko
4b31de61b3
Rename txtbox props to border props
2023-09-04 09:28:59 -04:00
Jeff Young
fe0fb92441
Reduce visual clutter in GAL display options.
2023-09-04 13:06:46 +01:00
Jeff Young
c9fd03202a
Generate an immediate refresh when loading new footprint.
2023-09-04 11:12:34 +01:00
Alex Shvartzkop
2bb457d477
Remove unused variable.
2023-09-04 07:00:23 +03:00
Alex Shvartzkop
ab6a049b90
Add a routine for joining PCB shapes.
2023-09-04 06:46:24 +03:00
Alex Shvartzkop
24e0a9455e
Fix a string in step exporter.
2023-09-04 06:45:25 +03:00
Alex Shvartzkop
b2a0d85c84
Hide std::abs for EDA_ANGLE from Python.
2023-09-04 06:45:12 +03:00
Jeff Young
9bba8e5956
Don't allow duplication of footprint items outside of footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15487
2023-09-03 22:04:50 +01:00
Jeff Young
d27413a032
Remove up/down buttons until we implement layer ordering.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14574
2023-09-03 21:31:46 +01:00
Jeff Young
60419f542a
Bug fixes for paste margins on custom-shaped pads.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15125
2023-09-03 20:43:48 +01:00
Jeff Young
a24a8aaca7
Don't start a pack&move when already in an EDIT_TOOL drag or move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15545
2023-09-03 14:03:52 +01:00
Jeff Young
624203f2e1
Don't start a router drag when already in an EDIT_TOOL drag or move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15312
2023-09-03 14:03:52 +01:00
Josue Huaroto
a8e18e2d8c
Flip Viewport when Flip board is enabled
2023-09-03 12:30:32 +00:00
aris-kimi
38748cce84
Small order change for three View menu items v2
2023-09-03 12:29:06 +00:00
Jeff Young
43862d767e
Don't return separate shapes from a custom-shaped pad.
...
It just confuses the hull generator.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15553
2023-09-03 13:23:53 +01:00
Jeff Young
61bcf46ffe
Don't show preview for lib-item loaded on to canvas.
2023-09-03 12:07:09 +01:00
Jeff Young
e6b0a6abca
ADDED: lib tree previews.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Jeff Young
891583f616
Fix nullptr error.
2023-09-02 12:08:37 +01:00
Jeff Young
41e274684c
Make sure pads with no net get assigned Default netclass on board open.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15562
2023-09-02 10:11:38 +01:00
Jeff Young
2d762acc7d
Remove accidentally-checked-in debugging code.
2023-09-02 10:11:38 +01:00
Alex Shvartzkop
90eb59cf9f
Fix saving a new footprint library.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15563
2023-09-01 23:30:27 +03:00
Jeff Young
69a1b30b8a
Implement undo/redo around Pad Edit Mode changes.
2023-09-01 18:48:46 +01:00
Jeff Young
aacb85bdab
Make sure enum gets initialized.
2023-09-01 18:48:46 +01:00
Jeff Young
68c839b214
Stop trying to zero-out offset of custom-shaped pads.
...
It causes *way* to many issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15555
2023-09-01 18:48:46 +01:00
Marek Roszko
f357e79f77
Add --define-var / -D to the cli opts for some commands
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15437
2023-08-31 21:46:37 -04:00
Marek Roszko
b542539546
Add --drawing-sheet arg for various cli commands for overriding the project sheet
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15438
2023-08-31 19:53:23 -04:00
jean-pierre charras
160ec181ac
dialog_export_svg: add color theme selection.
...
Previously, the Kicad Classic theme was always used.
2023-08-31 20:33:44 +02:00
Jeff Young
5358343023
Make button alignment consistent.
2023-08-31 17:47:28 +01:00
jean-pierre charras
0aaafc92fc
Fix a compil issue with gcc created by commit 21c54f97
(gcc only)
2023-08-31 16:21:40 +02:00
Jeff Young
9a045af81f
Make all debugging statments use netcode (instead of some using netname).
2023-08-31 15:15:57 +01:00
Jeff Young
05135eed66
Extra debugging info for pns regression tests.
2023-08-31 15:15:57 +01:00
Jeff Young
c049e1e90d
Formatting (no functional changes).
2023-08-31 15:15:57 +01:00
Marek Roszko
37717a8281
Fix other stroke types still drawing the border regardless of enable
2023-08-31 07:52:19 -04:00
Marek Roszko
21c54f9721
Add two more border props to props panel
2023-08-31 07:49:15 -04:00
jean-pierre charras
085485717c
Gerber place file: change DCode size of pads others than 1 or A1 to 0.1 mm
...
Previously it was a round shape 0.0 mm (allowed but not visible)
Gerber Format rev 2023-08 changed it to 0.1 mm (still a round shape)
2023-08-31 11:02:50 +02:00
jean-pierre charras
5bf0689ac8
Fix typos in translatable strings.
...
fix also a coding style issue.
2023-08-31 10:27:36 +02:00
Marek Roszko
ffbe0f36da
Tweak the textbox file indentation
...
(layer was previously misaligned as it wasn't intended to be used on a new line
2023-08-30 22:47:10 -04:00
Marek Roszko
2e58f4ea60
Fix three spots it always failed to check if the border was enabled
2023-08-30 22:39:07 -04:00
Marek Roszko
2dcb7caacf
Add an explicit border property to textboxes
...
This means it can remember the last border stroke between enabling/disabling the border
2023-08-30 22:33:55 -04:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Jeff Young
cf14b3c233
Fix conversion to netnames in PNS_DBG output.
2023-08-31 00:25:20 +01:00
Mike Williams
b8a61719c3
Grids: make overrides use existing grids (choice box)
2023-08-30 13:33:04 -04:00
Mike Williams
b1a388ca69
Grids: Support X and Y for all grids, add optional names
2023-08-30 11:22:19 -04:00
Jeff Young
d74e9ba040
Support SHORT_NET_NAME(pin_number) and friends on symbols.
...
While it's of debatable use in the schematic, some users want to
author them there so that they're then copied onto the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15544
2023-08-30 11:43:35 +01:00
jean-pierre charras
67d3528866
fix minor compil warnings
2023-08-30 09:09:54 +02:00
Alex Shvartzkop
f8dac43325
STEP export: add short segments as circles.
...
Because OCC can't connect two arcs together sometimes.
2023-08-29 23:58:25 +03:00
Josue Huaroto
156288bfcf
Extend boundary size of PCB_VIEW
2023-08-29 19:41:36 +00:00
Josue
94e86a69be
Update RECT to RECTANGLE
2023-08-29 11:50:22 -05:00
Josue
ae3a9d05b5
Remove dialog events
2023-08-29 11:50:16 -05:00
Josue
761929c052
Add OnKillFocus Event for Coordinates and Segment, Rectangle properties
2023-08-29 11:50:15 -05:00
Josue
e5316fd1aa
Change name: Truncate -> Round
2023-08-29 11:50:12 -05:00
Josue
54aaec3a57
Add Enter event to coordinates and Segment, Rectangle properties
2023-08-29 11:50:10 -05:00
Josue
8d7255aae3
truncate angle values in Segment properties
2023-08-29 11:50:09 -05:00
Josue
6429051750
change Rectangle property: Length to Height
2023-08-29 11:50:05 -05:00
Josue
c3766bb250
Implement Length and Width for RECT
2023-08-29 11:50:02 -05:00
Josue
f31a524026
add rectangle properties to UI
2023-08-29 11:49:57 -05:00
Josue
5061ca54e7
add length and angle properties to segment
2023-08-29 11:49:55 -05:00
Jeff Young
f24cf2250e
Make sure we have a BOARD when trying to read nets.
...
Also fixes a nullptr bug when trying to write nets when we don't
have a NODE.
2023-08-29 17:30:00 +01:00
Alex Shvartzkop
af62e4276b
Wrap FILE_LINE_READER in try-catch blocks in PCB plugins for CanRead*.
2023-08-29 19:13:55 +03:00
Jeff Young
d161602e92
Don't snap a footprint (or group) to its children.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15535
2023-08-29 13:05:08 +01:00
Alex Shvartzkop
a9a2d4aa7a
Improve error reporting when running Python action plugins.
...
Python error traceback is now logged to stderr.
On Windows, a console window will pop up if wxTheApp gets destroyed,
because message dialogs crash due to hooks that wxWidgets sets up.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15520
2023-08-29 07:06:11 +03:00
Ian McInerney
ba22347904
Move pcb_actions to new constructor
2023-08-29 00:19:19 +01:00
Seth Hillbrand
fa15f8aa0c
Fix compile error
...
wxMkDir's mode is required for linux but not windows (yay)
2023-08-28 14:57:28 -07:00
Roberto Fernandez Bautista
32b6deb8b1
ADDED Migrate libraries button in Footprint Library Table
...
Allows easy migration of legacy and non-KiCad footprint libraries
2023-08-28 22:44:10 +02:00
Roberto Fernandez Bautista
f693366910
CADSTAR PCB: nullptr safety
2023-08-28 22:38:46 +02:00
Jeff Young
0d39cd5e63
Allow for offset custom-shaped pads with no holes.
2023-08-28 18:07:18 +01:00
Wayne Stambaugh
e4feb8826b
Coverity issue fixes.
2023-08-28 09:29:56 -04:00
jean-pierre charras
f4bf3bf611
Do not use the deprecated wxWidgets wxPATH_NORM_ALL flag.
...
Replaced by our equivalent FN_NORMALIZE_FLAGS flag.
Fix also a typo in a string.
2023-08-28 14:37:15 +02:00
Mike Williams
3edcef0229
Grids: remove more uses of old user grid in UI
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15515
2023-08-28 07:27:25 -04:00
Jeff Young
a4d1b29b91
Remember footprint library browsers liblist width.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15500
2023-08-27 21:17:29 +01:00
Jeff Young
676c6e81a4
Custom pads with round anchors in pre-7.0 files get 90 degree spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15518
2023-08-27 20:42:59 +01:00
Jeff Young
a470cab7b2
Include description for page settings command.
2023-08-27 19:03:17 +01:00
jean-pierre charras
114ff054d3
STEP exporter: export track segments as thick segments with rounded end using arcs.
...
They are no longer exported as polygons.
Export time is slightly faster and file sizes slightly smaller.
Track arcs are still exported as polygons.
2023-08-27 19:37:41 +02:00
Jeff Young
3f26b29aa2
Minor cleanup and removal of stale comments.
...
Also attempts to fix a focus-loss bug on GTK after zone dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13221
2023-08-27 10:53:03 +01:00
Jeff Young
c48084bbbf
Minor cleanup and removal of stale comments.
2023-08-27 10:53:03 +01:00
Jeff Young
67bd2139ad
Use standard bitmap button.
2023-08-27 10:53:03 +01:00
jean-pierre charras
15f5a14217
Fix minor compil warnings
2023-08-27 11:11:08 +02:00
Jeff Young
bc3c8b19c6
Don't include annotations in boundingbox when not including text.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15411
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15411
2023-08-26 18:50:10 +01:00
Jeff Young
4fefd95e0c
Move grid definitions to Prefs and grid origin to a separate dlg.
...
Grid origin is document-wide, while grid definitions are app-wide.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2262
2023-08-26 13:32:24 +01:00
jean-pierre charras
b3aa8a0c49
Fix a few (minor) compil warnings.
2023-08-26 09:40:09 +02:00
Alex Shvartzkop
331176744c
EAGLE import: fixup previous commit.
2023-08-26 00:45:59 +03:00
Alex Shvartzkop
f071dd1406
Fix a search pane crash when a row isn't in the hit list.
...
Fixes KICAD-Q7
Fixes KICAD-1A6
2023-08-25 23:24:32 +03:00
Alex Shvartzkop
0fcf9e2c7d
EAGLE import: fix crash when loading unknown signal class name.
...
Fixes KICAD-3FA
2023-08-25 23:05:50 +03:00
Alex Shvartzkop
bfb6269f0a
EAGLE import: fix crash when loading a polygon.
...
Fixes KICAD-TW
2023-08-25 23:05:50 +03:00
Jeff Young
83fe3576c6
Handle dimensions and textboxes when plotting contours to DXF.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11901
2023-08-25 18:07:49 +01:00
Jeff Young
2ae36312c4
Don't use DXF-native text for textboxes.
...
It gets the positioning wrong.
2023-08-25 18:07:49 +01:00
Jeff Young
e0cf49e73c
Fix previous fix for honouring pad offset.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15494
2023-08-25 13:05:19 +01:00
Marek Roszko
cbc60d90ec
Add missing line style prop to eda_shape
2023-08-24 22:32:12 -04:00
Marek Roszko
6e45be8708
Add a friendly name to textboxes for the prop mgr
2023-08-24 21:33:37 -04:00
Marek Roszko
d32b55f504
Minor cleanup after last commit
2023-08-24 21:19:35 -04:00
Marek Roszko
339684263c
Fix accidental plotting of disabled textbox borders
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15252
2023-08-24 21:03:48 -04:00
Marek Roszko
d193334a10
Add vrml export to cli
...
Roughcut as the vrml exporter needs some loving
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15472
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13952
2023-08-24 20:39:21 -04:00
Alex Shvartzkop
b1b66f66f4
Prevent crash when a python script tries to use pcbnew too early.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15414
2023-08-25 00:09:56 +03:00
Alex Shvartzkop
f842e6ac7a
STEP: export arcs in board contours as curves, not polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13825
2023-08-24 21:53:53 +03:00
Mike Williams
2b78c20a62
PCB: add grid overrides to graphics/router/etc.
2023-08-24 13:58:22 -04:00
Jeff Young
300014177f
Honour pad offset when creating custom pad anchors (and polygons).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15494
2023-08-24 17:30:22 +01:00
Jeff Young
0f81dd3b5e
Give Grid Settings a more standard KiCad look and feel.
...
Also simplifies the dialog by removing the user grid (now that you
can add as many user grids as you want).
This does mean that you can no longer have an asymmetric grid, but
it gets too complex if we allow everything for everyone.
2023-08-24 16:41:08 +01:00
Mike Williams
9079df85fd
PCB: check ratsnest for nullptr (segfaults)
2023-08-24 10:51:34 -04:00
Mike Williams
d9c2e0ab54
PCB: start of grid overrides
...
Only works for moves.
2023-08-24 10:29:09 -04:00
Mike Williams
0f781f328e
GRID_HELPER: push code to parent class
...
Prep'ing for PCB grid overrides
2023-08-24 10:29:09 -04:00
Alex Shvartzkop
b8ce97b532
STEP export: fix circles.
2023-08-24 14:57:15 +03:00
Alex Shvartzkop
83e9d87cde
STEP export: fix hole cutting counter message.
2023-08-24 14:26:27 +03:00
Jeff Young
7fcce5224d
Fix compiler warnings.
2023-08-24 12:12:16 +01:00
Jeff Young
6040f49272
Don't write opaque data types to PNS log.
2023-08-24 12:12:16 +01:00
jean-pierre charras
eb8c1d2a90
Fix compil issues (and probably a bug). Also display calculation time info.
2023-08-24 13:02:10 +02:00
Alex Shvartzkop
cb54bdfa84
STEP export: add bounding box optimizations for cutting holes.
2023-08-24 05:42:56 +03:00
Alex Shvartzkop
458d5fbeb8
STEP export: use unfractured polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15486
2023-08-24 03:47:55 +03:00