Seth Hillbrand
0a29c0dea3
Fixup Altium import rectangle handling
...
Ensure we have positive sizes
Keep rectangles when rotating by multiples of 90
(cherry picked from commit d033f93d89
)
2024-06-29 12:17:53 -07:00
Seth Hillbrand
8832b22952
Fixup for Altium pad/fill importer
...
The previous commit merged pads with copper areas. This was appealing
but broke when the pad and the area were meant to have different
size/shape technical layers. Small pads = Small paste. Instead, we do
not merge the pads but we assign them to have the appropriate nets in
KiCad, allowing the same effective result but keeping the technical
layers correct
(cherry picked from commit 51eb7aa5b5
)
2024-06-29 12:17:53 -07:00
Seth Hillbrand
33b93a3824
Altium import: handle polygons on copper
...
In Altium, copper polys will be connected automatically to their
associated pads. In KiCad, we need to do the equivalent when parsing,
which is to combine the joining copper into the underlying pad. We also
don't want to treat copper polys as proxy pads without the original
anymore.
(cherry picked from commit 7102d9f72a
)
2024-06-29 12:17:53 -07:00
Seth Hillbrand
b589da63d8
Cleanup Altium text import
...
Handle inverted text
Correct location for flags
Add mechanics to detect inverted_rect (like text boxes)
(cherry picked from commit b11e030f8f
)
2024-06-29 12:17:53 -07:00
Seth Hillbrand
48077d77c4
Altium: Handle textboxes
...
Also, corrects a minor issue with the text width calculation where
Altium calculates centerline to centerline but KiCad text heights are to
the edge of the stroke font. Need to still do better adjustments for
the various altium stroke fonts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9468
(cherry picked from commit 7e561acf53
)
2024-06-29 12:17:53 -07:00
Seth Hillbrand
092ce30b40
Altium: Handle footprint vias
...
These are treated as pads in KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18194
(cherry picked from commit 7ea013b96c
)
2024-06-29 11:38:36 -07:00
Seth Hillbrand
ee0be76fb4
Don't list IPC-2581 import
...
We don't currently support importing 2581 files. We need to clear
IO_FILE_DESC to prevent this from accidentally showing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17866
(cherry picked from commit eeee63186d
)
2024-06-29 08:02:27 -07:00
Seth Hillbrand
a3d64d604c
Silence font replace warnings for libs
...
When loading schematics/pcbs, notification of font replacements might be
warranted but in libraries, this warning is not helpful and intrusive
(cherry picked from commit 11c6164934
)
2024-06-24 12:01:30 -07:00
dsa-t
695505fc71
Fix build error caused by commit 82c2bda52b
.
...
(cherry picked from commit 012d3f098f
)
Co-authored-by: Wayne Stambaugh <stambaughw@gmail.com>
2024-06-10 15:02:21 +00:00
Alex Shvartzkop
b34dbf58c5
Altium PCB import: don't add thickness to Solid style fills.
2024-06-10 17:32:52 +03:00
Alex Shvartzkop
1fb19c0d81
Altium PCB import: make sure Polygon fill is contained within the outline.
2024-06-10 17:19:43 +03:00
Alex Shvartzkop
3ea314cb9f
Altium PCB import: avoid integer overflows when rotating rectangular fills.
...
Fixes artifacts seen in https://gitlab.com/kicad/code/kicad/-/issues/18156
2024-06-10 01:00:57 +03:00
Jeff Young
9d51fabe9b
Don't default KeepUpright to true in Eagle importer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18175
2024-06-09 22:17:39 +01:00
Alex Shvartzkop
ad7bd9b5f8
Revert "Pcbnew, Altium import: Fix issues with hatched zones."
...
This removed the hatch fill import functionality,
and is no longer needed now that the root cause was found.
This reverts commit 616510aca2
.
(cherry picked from commit 80b7f5fcbf
)
2024-06-09 22:49:58 +03:00
jean-pierre charras
2a1ef2d09d
Pcbnew, Altium import: Fix issues with hatched zones.
...
- Filled zones using the hatch pattern cannot use the primitives from Altium.
the filled shapes must be rebuilt.
_ Filled zones using the hatch pattern with a very small gap are now converted
to a polygon pattern. Otherwise the calculation time can be very big.
From master branch.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18156
2024-06-09 15:56:57 +02:00
Jeff Young
0c9554a325
Hand cherry-pick fixes for #18042 .
2024-06-05 13:00:36 +01:00
Jeff Young
7a1ab44207
Rewrite Eagle rotated text algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
(cherry picked from commit debc94ff49
)
2024-06-03 18:29:37 +01:00
Jeff Young
d269513857
Improve Eagle rotated text importing.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18019
(cherry picked from commit f4f3f52fd4
)
2024-06-03 18:29:37 +01:00
Jeff Young
561b2d490d
Handle font when reading render cache.
...
(Also fixes a bug where the cache's triangulation wasn't
cached.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17666
(cherry picked from commit e332320108
)
2024-05-21 11:36:36 +01:00
Jon Evans
d52e50a97a
Altium: avoid crash when imported zone has no fill
...
Fix https://gitlab.com/kicad/code/kicad/-/issues/18025
(cherry picked from commit 4f3117aea0
)
Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-18 00:16:22 +00:00
Jon Evans
2cd0139cbf
Remove extra NeedRIGHT in textbox parser
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18033
2024-05-17 09:01:59 -04:00
jean-pierre charras
6d69fee097
PCB_IO_KICAD_SEXPR_PARSER::parseEDA_TEXT(): ensure texts are not mirrored
...
When not specified as mirrored, texts must be not mirrored.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17955
2024-05-06 11:17:17 +02:00
Jon Evans
ca16ff05df
Altium pcbimport: handle various dimension items, fix dimension_kind enum
...
(cherry picked from commit ce32dfd077
)
e627d587 handle various dimension items, fix dimension_kind enum, this doesn't parse...
e89d1826 fix formating
07686833 change to Reporter for logging
a535d13d remove old comments
554c9565 Update file altium_pcb.cpp
Co-authored-by: Stefan <2252537-stefan_test@users.noreply.gitlab.com>
2024-05-04 16:38:32 +00:00
Jon Evans
b8fa10ab2b
Add optional reporting of non-KiCad design issues
...
Also add HTML reporter to PCB side to match schematic
2024-05-04 11:27:22 -04:00
Seth Hillbrand
279ef4210d
Use StandardPrimitive library for vias
...
Some 2581 parsers don't like to consider UserPrimitive even though they
are essentially the same thing and required by the standard. ¯\_(ツ)_/¯
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16661
(cherry picked from commit 13735050da
)
2024-05-03 09:12:43 -07:00
Jon Evans
83be5ba63d
Move ALTIUM_PCB to use REPORTER for logging
...
Change not-yet-supported messages to debug level
(cherry picked from commit e973c15087
)
2024-05-01 19:17:09 -04:00
Mike Williams
f29fc2a025
PCB Fields: fix v7 imported board hidden description field pos
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17684
2024-05-01 09:24:54 -04:00
dsa-t
8edfc23679
Altium PCB import: pad thermal spoke angle is 90 deg by default.
...
(cherry picked from commit 11ba59b690
)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-04-27 17:27:07 +00:00
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