Jon Evans
53c2543474
Fix parsing of legacy text hide token
2024-04-02 18:26:30 -04:00
Seth Hillbrand
c0d38de280
Add some corrections to IPC2581 export syntax
...
Outline fonts need lineDesc
Padstack def need the location for the pad relative to the padstack
(cherry picked from commit 2123e2ca9c
)
2024-04-01 22:59:40 -07:00
Seth Hillbrand
7916e56963
Avoid crashing on missing tracks in CADSTAR
...
We can't assume that the ignored connection exists when trying to set
the junction size. We use int_max for the default instead of 0 so that
later, we don't try to create a minor track with 0 width in loadNets()
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17523
(cherry picked from commit 00d108498f
)
2024-04-01 17:55:29 -07:00
Jeff Young
8275176792
Report location of FUTURE_FORMAT_ERRORs when reading footprints.
2024-03-15 22:47:00 +00:00
Jeff Young
8589bd3773
Correctly handle locked token for PCB_TEXTBOX and PCB_TABLECELL.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17439
(cherry picked from commit d17151ac1b
)
2024-03-15 22:24:53 +00:00
Wayne Stambaugh
8ce12fb1af
Fix Eagle footprint library QA test failure.
...
Unfortunately the KiCad library I/O does not unescape file names so do not
escape them in the Eagle board plugin.
(cherry picked from commit cf97432833
)
2024-03-15 07:59:20 -04:00
Wayne Stambaugh
9e4efe5d72
Fix Eagle board import when footprint library versions exist.
...
This was a crude hack that appends the library URN ordinal to the name of
the footprint so that it can be correctly looked up by the "element" node.
The Eagle XML DTD does not make it clear how the URN "ASSET_ID" and
"VERSION" are used to look up the appropriate "ASSET_TYPE" so this is a
best guess and seems to work correctly.
The inferred edge clearance dialog had to be disabled when importing third
party boards because on GTK (and possibly other platforms) the dialog would
completely hang KiCad preventing the imported board and possible schematic
from being saved.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12897
(cherry picked from commit 34ec57958d
)
2024-03-15 07:59:20 -04:00
Alex Shvartzkop
b61f6c35c7
Fabmaster (CADENCE ASCII): import dimensions graphics.
...
See https://gitlab.com/kicad/code/kicad/-/issues/17239
(cherry picked from commit a4da829ccc
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
f9253485da
Fabmaster (CADENCE ASCII) import: fix position and orientation of footprint graphics.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17239
(cherry picked from commit cb4ace5561
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
7dc554ec34
EasyEDA Std: fix importing footprints from footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17264
(cherry picked from commit 30573beb48
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
4ac848f18a
EasyEDA Std PCB: fix crash when Name/Prefix type text is not in a footprint.
...
(cherry picked from commit 951c550c1e
)
2024-03-15 01:17:49 +03:00
Alex Shvartzkop
e196f71d58
Support Altium Schematic ASCII import
...
(cherry picked from commit defcb49ac8
)
2024-03-15 01:17:49 +03:00
Roberto Fernandez Bautista
ff4b59afeb
kicad_cli fp ugrade: create directory with extension
2024-03-02 18:22:18 +01:00
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