John Beard
60cba81a2e
Altium import: Handle 110-byte subrecord5 in Pad6 parser
...
This appears to happen in some very old (Protel 3.0.0?)
library files.
The example given in issue #16514 always has 0 in the last 4 bytes.
It's not clear exactly what these bytes do, if anything, so
just skip them and assume the holerotation is 0. If it's not 0,
error out - at that point it might be possible to determine what
the value means.
This appears to correctly import the file provided in the issue.
As the license on that file is unclear, we probably can't just
add it as a unit test and it's rather tricky to special up a
binary file test-case for it.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16514
2024-01-10 00:21:20 +00:00
Marek Roszko
f53c3f895d
pcb_group.h should live in pcbnew
2024-01-08 22:32:18 -05:00
Marek Roszko
00f3a315d2
Create a default file name for cli 3d export if empty
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16547
2024-01-08 21:40:33 -05:00
Jon Evans
8c7d126ced
Fix flipped boolean in teardrop serialization
...
Also change to explicit bools
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16552
2024-01-08 18:44:09 -05:00
Alex Shvartzkop
4f9fbd230d
EasyEDA (JLCEDA) Pro: fix PCB parse error.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16544
2024-01-08 14:38:06 +03:00
Jeff Young
3a781f5dbe
Let router draw tuning pattern baselines.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15996
2024-01-07 13:54:40 +00:00
Jeff Young
cd83dfa831
Stage/add/delete group members when adding/deleting group.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16540
2024-01-07 13:39:13 +00:00
jean-pierre charras
f795e40584
Altium Importer: do not stop import when an item looks bad (happens in old files)
...
An importer should not stop import when an item just looks strange. Just skip it.
It can happen with old files.
Better do not import one item than import nothing.
2024-01-07 13:10:59 +01:00
Seth Hillbrand
d3e1e54b24
Avoid removing segments that do not maintain conns
...
If the two segments being merged have connection points originally, then
the merged segment must have the same connection points. We had been
moving the merged segment to match the original connections but this is
not as robust as just not merging these lines (and therefore leaving the
original)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15495
2024-01-05 11:40:30 -08:00
Jeff Young
015a050169
Escape error messages for HTML.
2024-01-05 11:03:36 +00:00
Jeff Young
5aae8e2fd0
Code cleanup.
2024-01-04 16:13:42 +00:00
Jeff Young
91d144c720
Do NOT return false from a visitor unless you want to stop visiting!
...
This fixes a bug where DRC would bail out early if any of
the colliding objects was a free pad.
2024-01-04 14:35:08 +00:00
Jeff Young
aa4107ce2d
Code cleanup (and Coverity quieting).
2024-01-04 14:35:08 +00:00
Roberto Fernandez Bautista
9004a5920f
CADSTAR PCB: Handle multi-layer figures & fix multi-layer mapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16515
2024-01-03 20:57:27 +01:00
Roberto Fernandez Bautista
94cb513c0e
CADSTAR PCB: Handle multi-layer library coppers correctly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16486
2024-01-03 20:18:02 +01:00
Wayne Stambaugh
0e4fe545a4
Fix crash when importing Eagle board file with no "classes" element.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15754
2024-01-03 10:03:52 -05:00
Jeff Young
1e71899611
Thread pad & graphic clearance testing.
...
This allows us to poll the event loop & update the progress
on a time interval rather than on an items-completed
interval (the later of which can't easily take host machine
performance into account).
Also fixes a bug where we'd bail out of QueryColliding if
we ever found !testClearance && !testShorting && !testHoles.
2024-01-03 13:49:29 +00:00
Jeff Young
8993cd12a6
Thread cache generator.
...
This allows us to poll the event loop & update the progress
on a time interval rather than on an items-completed
interval (the later of which can't easily take host machine
performance into account).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16506
2024-01-03 12:45:05 +00:00
jean-pierre charras
c8c0685ff2
drc/drc_test_provider_library_parity: fix issues when testing graphic items:
...
- fix tests for zones: they were rotated/moved twice before comparing
- fix tests for some graphics (RECT and POLYGONS): they were not always compared
using the right order.
Fixes #16501
https://gitlab.com/kicad/code/kicad/-/issues/16501
2024-01-03 12:43:24 +01:00
Ian McInerney
4770532511
Ensure footprints are removed from group before exporting to library
...
Duplicating a footprint automatically adds it to the group the original
is contained in, and these copies should not be part of the board after
their use.
Fixes KICAD-5YC
2024-01-03 00:19:29 +00:00
Jeff Young
0b526cca15
Delete tracks when deleting tuning pattern as part of sel.
2024-01-02 18:00:25 +00:00
Jeff Young
a523c58530
Add a m_forceMarkObstaclesMode warning when violating DRC.
...
Also adds a modifier combination to commit anyway.
2024-01-02 17:02:50 +00:00
jean-pierre charras
5d3c35c5d3
BOARD_NETLIST_UPDATER: fix incorrect warning message:
...
pad number and footprint reference were swapped.
Fixes #16500
https://gitlab.com/kicad/code/kicad/-/issues/16500
2024-01-02 15:14:53 +01:00
Ian McInerney
9db1dd5ec5
Refresh message panel when router mode changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16497
2024-01-01 19:25:54 +00:00
Jon Evans
b8aef58561
Add proper comparison operators for BOARD_DESIGN_SETTINGS and children
...
BOARD::operator== was just comparing pointers
2024-01-01 13:37:31 -05:00
Jon Evans
81dbb12054
Don't enable the shove when forcing highlight mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16467
2024-01-01 11:48:30 -05:00
Jeff Young
15a2d65a0c
More explicit pad-missing message when net involved.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16489
2024-01-01 10:51:34 +00:00
John Beard
751c88ef20
Use 'uuid' (not 'id') in the s-expr PCB groups/generator format
...
Add some regression tests to check loading of groups and generators
from various versions of the s-expr PCB format.
2023-12-31 23:09:26 +00:00
Jeff Young
985e590e6f
PCB_FIELDs don't belong in the view.
...
They're handled by their parent FOOTPRINTs.
Also makes sure footprint children get their parents
updated on a swap.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16412
2023-12-31 21:38:11 +00:00
Jeff Young
911a54ac82
Make sure sexpr gets stacked when followed by non-token.
...
For instance, with "(min 1.27mm)", we need to stack the
"min" token after hitting the space.
2023-12-31 17:22:58 +00:00
Ian McInerney
53e16558a5
Refresh appearance panel when appending board
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16226
2023-12-31 17:08:09 +00:00
Jeff Young
71b9dd1fb4
Update FPWatcher when saving canvas footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16414
2023-12-31 11:26:16 +00:00
Andrea Greco
55429aea6b
pcbnew: Show current router mode in status bar
2023-12-31 02:54:59 +00:00
Jeff Young
6c39e67342
Don't leave tools with stale state when reloading fp.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16414
2023-12-30 21:05:06 +00:00
Jeff Young
2e02ca9d14
Make length-tuning rollover layer-specific.
...
Also don't show target length in diaog when it hasn't been
set.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16379
2023-12-30 20:27:39 +00:00
jean-pierre charras
b94c941217
Pcbnew, Fp Editor, pad_tool::PlacePad() avoid recreate from scratch a pad
...
when the previous is not used.
If a new pad is generated, when moving it by arrow creates a new pad for
each move by the current code.
This is not annoying unless the pad number is edited during move.
So, the pad number is now reinitialized only after the current pad is used,
not during the current move.
Fixes #16409
https://gitlab.com/kicad/code/kicad/-/issues/16409
2023-12-30 20:15:31 +01:00
jean-pierre charras
1ae5bc7c0d
DIALOG_BOARD_REANNOTATE_BASE: do not force the size of bitmap windows.
...
Also do not force the dialog size: wxWidgets sizers should set the right size.
2023-12-30 16:02:31 +01:00
Jeff Young
2e9f0679fc
Fix i18n mixup.
...
Tab names and column names are translated on the fly, but
that means they need _HKI macros to make sure they get into
the translation database.
2023-12-30 11:24:35 +00:00
Jeff Young
0fac52dcad
Accept EEschema tokens as well as netlist tokens for pintype.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16169
2023-12-29 16:34:03 +00:00
Ian McInerney
f2702b223c
Introduce base IO_MGR class and unify RELEASER objects
...
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.
2023-12-29 00:37:38 +00:00
Jeff Young
5145b146e9
Handle dimensions in search pane.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16459
2023-12-28 21:16:56 +00:00
Marek Roszko
9a890cdba9
Kick the wildcards and file exts into a static class, export it from kicommon
2023-12-27 21:10:01 -05:00
Marek Roszko
a36eb2af72
Netclass shouldnt have odd pcb forward decls
2023-12-27 17:12:35 -05:00
Jeff Young
e17d81cf6d
Re-enter auto-complete on a ctrl-space.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16445
2023-12-27 21:14:27 +00:00
Ian McInerney
d7fe668d79
Push PCB_IOs to use the base progress reporter instead of per-function
2023-12-27 17:06:23 +00:00
Ian McInerney
4a67761d29
Push library reading check to IO_BASE
2023-12-27 16:44:45 +00:00
Ian McInerney
f8688a922d
Unify IO library descriptors
2023-12-27 16:34:59 +00:00
Jeff Young
69c95acc57
Handle arcs in TOPOLOGY::AssembleDiffPair().
2023-12-27 13:52:02 +00:00
Jeff Young
2ba9e07f0f
Add missing DRC auto-complete token.
2023-12-27 13:52:02 +00:00
Jeff Young
49d6439ae0
Formatting.
2023-12-27 13:52:02 +00:00
Alex Shvartzkop
e636913178
EasyEDA Std: import dimensions.
2023-12-27 12:48:37 +05:00
Ian McInerney
743e9d669a
Push library management into IO_BASE
2023-12-27 01:21:53 +00:00
Ian McInerney
cad91312aa
Introduce main base class for all IO loaders
2023-12-26 23:27:11 +00:00
Jon Evans
7d25675e2b
Fix handling of dimensions in footprint updater
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16448
2023-12-26 14:08:39 -05:00
Alex Shvartzkop
5bbe01b570
EasyEDA Pro: support .elibz format (device libraries)
2023-12-25 07:00:24 +03:00
Jeff Young
6a5adc7646
Record nested footprints for collision checking.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16410
2023-12-24 19:40:21 +00:00
Jeff Young
c051e66830
Handle units switch in board stackup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16361
2023-12-24 16:18:46 +00:00
Jeff Young
f887f9b1e5
Save Net Inspector col order, widths, sorting, etc.
2023-12-24 13:11:16 +00:00
jean-pierre charras
408c90d3ae
Python stuff: fix an issue to build pcbnew_wrap.cxx (at least on msys2)
...
- Reorder two include in pcbnew.i
- rename PLUGIN to PCB_IO (missing rename) in footprint.i
2023-12-24 10:41:16 +01:00
Ian McInerney
e6632bb983
Rename PCB IO classes/files
2023-12-24 01:22:21 +00:00
Ian McInerney
d8b47d18d3
Initial rename of file plugin infrastructure components to IO
2023-12-24 01:22:21 +00:00
Jeff Young
687389224e
Do a more complete search for a coupled net.
...
In particular, don't bail out if the starting seg is part
of a tuning pattern meander or a user-authored non-coupled
segment to get to a via or something).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16380
2023-12-23 23:43:12 +00:00
Jon Evans
4288c8dcaf
Avoid repeated selection notifications when importing netlist
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16356
2023-12-23 17:41:23 -05:00
jean-pierre charras
2051ad8123
Fix a DRC issue about thermal reliefs.
...
They can be not fully counted when a rect pad has the same (or a smaller) size
as the thermal spoke width, due to a bad bounding box used in calculations.
Fixes #16265
https://gitlab.com/kicad/code/kicad/-/issues/16265
2023-12-23 19:50:11 +01:00
Jeff Young
3f73bbcc4f
Don't run keepUpright when not rotating.
...
For that matter, don't do anything at all for a rotation
of 0 (or a move vector of {0,0}).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16402
2023-12-22 21:22:36 +00:00
Jeff Young
8b344b13e5
Reenable m_useAuxOriginCheckBox when appropriate.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16424
2023-12-22 14:22:02 +00:00
Jeff Young
1f627a3a75
Fix two unrelated bugs in ungroup.
...
1) Don't double-remove the members from the group.
2) Don't auto-recurse BOARD_COMMIT::Stage for non-modify
changes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16419
2023-12-21 22:47:23 +00:00
Jeff Young
ee0fff97f9
Cleanup formatting and remove dead code.
2023-12-21 22:06:59 +00:00
Mike Williams
1700cad83b
Symbol/Footprint Chooser: remember open libraries
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16383
2023-12-21 09:57:54 -05:00
Jon Evans
c1eef79119
Fix off-by-one error in setting depth
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16421
2023-12-21 08:31:47 -05:00
Jeff Young
d155870275
Sometimes use grid (instead of clearance) for slop radius.
...
This is particularly important both when very large grids
are in use, and when the router hasn't been initialized
with a net yet (ie: in hover mode) and the board clearance
is set to 0.
https://forum.kicad.info/t/new-track-start-position-problem-on-kicad-7-0-10-rc1/47006
2023-12-21 12:58:58 +00:00
Jeff Young
fc85112a72
Create dummyPattern at centre of pickerItem, not end.
...
This keeps TOPOLOGY::AssembleDiffPair() from picking an
arc the segment might be connect to. Since it can't handle
arcs at all, that's bad.
2023-12-20 15:27:29 +00:00
Jon Evans
76d1cc8150
Cleanup
2023-12-19 22:43:15 -05:00
Jon Evans
b1695add9e
Fix warnings
2023-12-19 22:38:34 -05:00
Jon Evans
1c895fe18c
Improve rendering of tuning status popup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16304
Add dedicated UI rendering layers
Switch to screen-space rendering to avoid blurriness
Fix a bug in OpenGL GAL that causes layer
ordering to be broken when using Scale
Fix some issues with VIEW_GROUP layer ordering
2023-12-19 22:38:21 -05:00
Jeff Young
24846d3f44
Repair earlier fix for VVIAs.
2023-12-19 16:48:01 +00:00
Ian McInerney
c7592758cc
Ensure some variables are initialized to known values
2023-12-19 14:32:31 +00:00
Wayne Stambaugh
ffbb7fde74
Improve footprint editor import graphics dialog layout.
2023-12-19 07:39:57 -05:00
Wayne Stambaugh
a4b38fbb80
Coverity warning fixes.
2023-12-18 16:09:13 -05:00
Jeff Young
c7facfd4d4
remove unused variables
2023-12-18 18:54:47 +00:00
Jeff Young
cfa55d958a
performance efficiencies
2023-12-18 18:45:02 +00:00
Jeff Young
1c73d3d967
nullptr safety
2023-12-18 18:36:14 +00:00
Jeff Young
e4baf877c8
performance efficiencies
2023-12-18 18:36:02 +00:00
Jeff Young
8251fca66a
performance efficiencies
2023-12-18 17:39:29 +00:00
Jeff Young
68cbb820a7
performance efficiencies
2023-12-18 17:20:34 +00:00
Mike Williams
3aa20e2008
Create Array: fix mismatched tooltips
...
Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/16391
2023-12-18 12:02:11 -05:00
Jeff Young
11805d6696
performance efficiencies
2023-12-18 17:01:55 +00:00
Jeff Young
3b36307425
Remove shadowed variable.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16363
2023-12-18 14:24:04 +00:00
Wayne Stambaugh
25c03da5a5
Coding policy and Doxygen comment fixes.
2023-12-18 08:32:41 -05:00
Jeff Young
16c8050f3d
Fix event/flag race condition.
2023-12-17 21:55:29 +00:00
Jeff Young
08a00633b1
Make sure child items get edit flags cleared in commit.
...
In the footprint editor, in particular, we often just
add the parent footprint to the commit rather than the
actual modified item(s).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16389
2023-12-17 21:55:29 +00:00
Wayne Stambaugh
eb3fd10af8
Fix obscured object selection issue in board and footprint editors.
...
This selection improvement feature is hidden behind the advanced
configuration key "PcbSelectionVisibilityRatio". It is turned off (1.0)
by default. Value values are from 0.0 to less that 1.0. From testing,
using a value between 0.1 and 0.3 produces the best results.
This fix uses normal alpha blending described in the link below. The
current design only uses the alpha of the object's color. It could be
improved by doing a full color alpha blending but using the color alpha
alone seems to result in satisfactory results.
https://en.wikipedia.org/wiki/Alpha_compositing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16126
2023-12-17 16:43:56 -05:00
Jeff Young
1b0cc82c56
Move a couple of stragglers to BOARD_COMMIT.
2023-12-17 21:01:31 +00:00
Jeff Young
a96b7116d0
Make sure de-selected items get redrawn.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16385
2023-12-17 17:59:43 +00:00
Jeff Young
b29a56530c
Remove undo-of-ungroup hack.
...
The hack assumed that the parent group would be the first
deleted item of type group in the undo list. While this
will be true when undoing a user ungroup command, it will
not be when undoing an ungroup side-effect, such as when a
member of a group is deleted during UpdateFromPCB.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16384
2023-12-17 15:35:35 +00:00
Alex Shvartzkop
c5ac2337e4
PNS mitering: construct arcs from start, end, angle.
...
Previously, arc endpoint and expected miter endpoint could differ,
causing very small loops later on.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16360
2023-12-17 05:47:07 +03:00
Alex Shvartzkop
3b26f96fe4
Tuning Patterns: read/write min_amplitude.
2023-12-17 05:32:02 +03:00
Jeff Young
9fb06f95a0
Fix msys2 build.
2023-12-16 16:17:24 +00:00
Jeff Young
66a15f6acf
Re-factor frame pointer out of generator API.
2023-12-16 16:11:45 +00:00
Jeff Young
ea3c87f243
Move group/ungroup to COMMIT infrastructure.
2023-12-16 14:17:25 +00:00
Jeff Young
1df84f4d92
Move some PCB_GENERATOR special-cases to propMgr listeners.
2023-12-15 21:04:33 +00:00
Jeff Young
0ab474e596
Comments.
2023-12-15 18:02:52 +00:00
Jeff Young
4844cffc00
Make sure PCB_GENERATOR's lock status follows their members.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16372
2023-12-15 17:37:36 +00:00
John Beard
9b2cde9571
Use FormatBool for PCB_GENERATOR serialisation
2023-12-14 21:22:59 +00:00
John Beard
e41f5efb03
Use modern bool style for footprint locking (locked yes)
...
Add some simple tests for specific footprint load/save checks
(including round-trip stability)
2023-12-14 21:22:59 +00:00
John Beard
481fa1f959
Allow PCB reference image locking and UUID to be saved
...
Add some unit tests for reference image saving/loading.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16334
2023-12-14 21:22:59 +00:00
John Beard
f3f16a1e23
Update format version for reference images and footprint format changes
2023-12-14 21:22:59 +00:00
Jeff Young
a0274a8463
Last fix was too aggressive.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16362
2023-12-14 18:27:33 +00:00
Jeff Young
ec7e3c5bd6
Handle nets in recoverBaseline().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16360
2023-12-14 15:35:09 +00:00
Wayne Stambaugh
8687d5092f
String and dialog layout fixes.
2023-12-13 11:49:34 -05:00
Jeff Young
1fa6b7b5d6
Initialize pre-defined sizes even when using netclass values.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16351
2023-12-13 14:14:58 +00:00
Jeff Young
b9daa073d4
Work around wxWidgets CHAR_HOOK issue.
2023-12-13 13:16:51 +00:00
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