Commit Graph

16290 Commits

Author SHA1 Message Date
jean-pierre charras c18bfe0c61 DIALOG_DRC & DIALOG_ERC: re-enable button "Run ERC" and "Run DRC" after running tests.
Fixes #16583
https://gitlab.com/kicad/code/kicad/-/issues/16583
2024-01-12 15:38:25 +01:00
jean-pierre charras 549ef88f70 QFNWizard: ensure thermal vias/pads have the property PAD_PROP::HEATSINK set. 2024-01-11 16:29:41 +01:00
jean-pierre charras 0ac23f9099 FP editor: ensure a newly created pad PTH has a hole.
When a new pad type PTH is created from a SMD pad master , previously its
hole had a null size because the master pad had a null size.
Also allows a HEATSINK pad to be added to a SMD footprint.
2024-01-11 16:27:05 +01:00
Marek Roszko d0236ca751 Make DRC exclusions work in cli & python DRC
The way exclusions work is actually silly, and you can end up with your project file losing them too.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11562
2024-01-10 19:55:44 -05:00
Jeff Young 3836194cc6 Add some missing autocomplete clauses.
We really need to figure out how to auto-generate these....

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16565
2024-01-10 20:16:52 +00:00
Jeff Young 27c253780d Separate out Pad_Shape so auto-complete can work. 2024-01-10 19:22:05 +00:00
Jeff Young e55ec85e19 Remove added items from group on revert.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16562
2024-01-10 17:36:31 +00:00
Jeff Young 9038f80543 Switch button focus to Close after running ERC or DRC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16541
2024-01-10 17:36:31 +00:00
Jeff Young 435e60d0e5 Knockout different-net dimensions in zone-filler.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16549
2024-01-10 16:42:18 +00:00
Mark Roszko a74c96b287 Fix misspelling of gltf 2024-01-10 16:30:50 +00:00
jean-pierre charras 07d7ccf46f Fix 2 minor compil warnings. 2024-01-10 09:16:14 +01:00
Marek Roszko 08c2237a94 Update the layer names in cli/python board load of the property grid layer enum because DRC quietly uses it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16555
2024-01-09 20:43:14 -05:00
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