Commit Graph

46 Commits

Author SHA1 Message Date
Roberto Fernandez Bautista 01cc91850c Sanitise filename before saving footprint library 2024-03-02 18:22:18 +01:00
Roberto Fernandez Bautista 091f9c82e1 kicad_cli: Allow upgrade of legacy and non-kicad footprint libraries 2024-03-02 18:22:18 +01:00
Jeff Young a0905ac87d Check for NETINFO_ITEM before dereferencing it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17230

(cherry picked from commit bd1d449cd3)
2024-03-02 11:37:58 +00:00
Alex Shvartzkop 0dab086f0c EasyEDA Std import: support multiline text on PCB.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17171
2024-02-29 03:54:01 +03:00
Jon Evans e383c67e7f Avoid nullptr dereference when loading group info
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17154


(cherry picked from commit 9e7b4b7f89)
2024-02-28 00:43:49 +00:00
Jeff Young aba24ec781 Eagle text anchor points and alignment aren't linked.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 14:59:18 +00:00
Jeff Young 952c154422 Fix wrong rotation centre.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 12:46:22 +00:00
Jeff Young 12922d9434 Report fp library loading errors with libName & fpName.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16975
2024-02-22 23:37:20 +00:00
Mike Williams 60fe87a73c PCB: always parse ki_fp_filters as a property, not a field 2024-02-19 09:41:27 -05:00
Mike Williams 6c1273ca12 PCB Parsing: only parse old properties before PCB fields addition 2024-02-14 09:35:10 -05:00
Alex b5982f7319 EasyEDA import: force close some line chains. 2024-02-11 23:52:56 +03:00
Jeff Young 63fc89cafd Import graphic items on copper layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16916
2024-02-09 13:56:01 +00:00
Jeff Young 0890ac57dd Improve clarity of default zone settings. 2024-02-03 13:22:16 +00:00
Alex 285067dad1 Altium PCB: support polygon id 65534 for keepout tracks on board outline.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16849
2024-02-01 12:15:06 +03:00
Roberto Fernandez Bautista 079478f989 EDA_ANGLE: use constexpr for constant angles
Remove all statics in the class and instead use constexpr to
ensure correct ordering
2024-01-31 19:17:46 +03:00
Seth Hillbrand b12d0dfd67 Fix pad offset removal vs hole offset
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16767
2024-01-29 08:22:23 -08:00
jean-pierre charras 06d63a2aa0 pcb_io_kicad_sexpr_parser.cpp: init a default board stackup only if no stackup
is defined, and only after the enabled layers are defined.
Fixes #16754
https://gitlab.com/kicad/code/kicad/-/issues/16754
2024-01-28 14:23:50 +01:00
Seth Hillbrand 96297b50a1 Remove padstack offset value
We encode the pad locations for the package in the pin, so we don't need
an additional offset from the pin location

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16767
2024-01-26 10:53:36 -08:00
Seth Hillbrand 9e9dfb38d1 IPC2581: Correct flipped pad handling
Board footprints have pads already flipped, so we don't need to adjust
layers when outputting

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16659
2024-01-25 13:06:59 -08:00
Marek Roszko fec57459f3 Use correct arg types in altium arc import error message
Fixes KICAD-6Q1
2024-01-25 07:50:13 -05:00
Jon Evans 3ef16221fe Make sure default board thickness exists
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16733
2024-01-24 23:09:56 -05:00
Alex Shvartzkop 27b560b439 EAGLE: fix missing undefined layer check for rectangle zones.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16619
2024-01-17 01:18:24 +03:00
Alex Shvartzkop 4f6c25895e Rename UNKNOWN in enums to prevent shadowing. 2024-01-16 19:14:57 +03:00
Alex Shvartzkop 42d8c85f12 Altium PCB import: Models is optional.
Models directory may not exist in older files.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16512
2024-01-14 11:59:49 +03: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
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
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
Jeff Young 015a050169 Escape error messages for HTML. 2024-01-05 11:03:36 +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
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
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
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
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 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
Alex Shvartzkop 5bbe01b570 EasyEDA Pro: support .elibz format (device libraries) 2023-12-25 07:00:24 +03: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