Zenn Geeraerts
d31eeb5c1b
Use case insensitivity when loading Altium files
...
Altium is case insensitive, so our match for internal names should be also
2025-03-12 18:23:01 -07:00
Seth Hillbrand
ca51b0f37d
Ensure imported schematic sheet names are unique
...
Altium doesn't require sheet names to be unique but KiCad does, so we
disambiguate the names when importing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19281
2025-03-06 16:08:04 -08:00
Seth Hillbrand
81fcc16cc9
Fix multi-unit symbol import in Altium sch
...
Set the library symbol equal to total unit count so that we can assign
elements to the correct unit in the SCH_SYMBOL
2025-03-06 15:18:51 -08:00
Seth Hillbrand
49a4699d5a
ADDED: Local power symbol option
...
Local power symbols work like regular power symbols except that they are
scoped only the the sheet in which they are instantiated
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2075
2025-03-04 17:07:46 -08:00
Seth Hillbrand
e81956f292
Import Altium Projects
...
Handle Altium project file format
Parse individual schematic files and layout files
Create top-level schematic file
Link imported UUIDs between schematic symbol and footprints based on
refdes
Create KiCad project
Map Altium layout layers between KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2117
2025-02-27 14:36:24 -08:00
Jon Evans
de160e4af6
Add missing change from previous commit
...
See b6aac93
2025-02-25 23:42:00 -05:00
Jeff Young
c5bb59468d
Get rid of assumptions about field order.
2025-02-24 11:08:29 +00:00
Seth Hillbrand
cf2827c6ec
Properly handle Altium harnesses
...
Altium harnesses are imported as buses in KiCad, using bus aliases to
represent the harness elements
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16852
2025-02-19 18:06:57 +00:00
Seth Hillbrand
d51363df40
Do better at de-duping Altium symbols
...
Symbols with the same name but different source libraries may, in fact,
be different. Keep track of the source library to properly dedup them
when adding. This is probably insufficient for corner cases but will
catch the vast majority of usage
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19625
2025-02-11 14:50:42 -08:00
Jeff Young
e19bce2f93
Reduce reliance on MANDATORY_FIELDS and their implied order.
2025-01-22 17:51:57 +00:00
Seth Hillbrand
0b2d4d4879
Revise Copyright statement to align with TLF
...
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Jeff Young
eee28aa06a
Clean up fields autoplacement control architecture.
...
Also adds a mode for AUTOADDED fields.
Also fixes a couple of bugs where a manual-level autoplaced
symbol would get reset back to auto-level when autoplaced.
2024-12-23 14:30:17 +00:00
Jeff Young
7da8b42206
Push more functionality to SYMBOL.
...
(This will allow us to run the fields autoplacer on SYMBOLs,
including LIB_SYMBOLs.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19247
2024-12-22 20:21:24 +00:00
John Beard
df5fe44839
sch_symbol.h doesn't need sch_lib_table.h
...
It doesn't even use the forward-declared
SYMBOL_LIB_TABLE.
Including this pulls in the whole richio system,
and sch_symbol.h is a very-included header.
Quite a few things do use SYMBOL_LIB_TABLE, but nowhere
near as many as use SYMBOL.
2024-10-04 18:06:18 +01:00
John Beard
460e575457
Use REFERENCE_IMAGE for SCH_BITMAP
...
Also wire in the transform origin handling to the point editor
and the properties panel in eeschema.
2024-09-30 10:20:20 +01:00
Seth Hillbrand
7214ef1f14
Remove basic masking class map_string_utf8
...
This is just std::map<std::string, UTF8>, using the class just masks
what it is and adds unclear functions.
2024-08-19 11:51:13 -07:00
Marek Roszko
b101c1a0c3
Enum class ELEM.
2024-08-18 21:09:37 -04:00
James J
7ce00e511b
Multi-netclass support
2024-07-26 20:49:29 +00:00
Seth Hillbrand
11c6164934
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
2024-06-24 09:55:10 -07:00
Alex Shvartzkop
4e3488c2e0
Altium schematic import: fix power port styles.
...
Need to use the symbol name with style, like "VCC_CIRCLE", not "VCC".
Issue was introduced in d939004bbd8921a95da8e578c2dd891f969bc39b
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18209
2024-06-22 06:45:26 +03:00
Seth Hillbrand
bcf6b620a8
Large rework of BEZIER_POLY
...
Add direct handling of quadratic beziers to save compute time and number
of points. Update cubic interpolation to reduce number of points
generated for a given smoothness
Cache data on open and used cached data to avoid multiple re-calcs
Remove minimum line length and number of segments and replace with
standard max error level. Allows us to specify the tolerance of bezier
interpolation
2024-06-18 17:55:41 -07:00
Mike Williams
a5e2615251
Revert "SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL"
...
This reverts commit 0b187e71227d2129d271f24fb92ae0b99b6f93bd.
2024-06-12 13:30:29 -04:00
Seth Hillbrand
439c25fca9
Altium schematic parser: Add fraction pin placement
...
In the schematic libaries, pin positions that are off 10mil spacing need
fractional elements stored in a different location
2024-06-10 15:02:18 -07:00
Seth Hillbrand
1325701956
Altium SCH Lib updates
...
- Use pin-compatible line widths for symbols
- Handle circular arcs as circles, not elliptical arcs
2024-06-10 12:40:01 -07:00
Mike Williams
0b187e7122
SCH/LIB SYMBOL: never allow null LIB_SYMBOLs in SCH_SYMBOL
...
Also always always flatten incoming lib symbols.
2024-06-10 08:36:42 -04:00
Wayne Stambaugh
795a9eea60
Coding policy fixes.
...
This is primarily to change all instances of wxLogDebug with wxLogTrace
so developers do not have to sift through debugging output that is always
dumped. The only exception is for code blocks built in debug builds and
called on demand for dumping object states.
2024-05-23 07:59:45 -04:00
Alex Shvartzkop
546b2e3b91
Fix text justification in Altium schematic importer.
2024-05-08 15:13:15 +03:00
Alex Shvartzkop
5475359d00
More build time optimizations.
2024-05-06 04:39:28 +03:00
Seth Hillbrand
5bd94f118d
ADDED: Handle PIECHART in Altium import
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16895
2024-05-05 08:39:30 -07:00
Jeff Young
afcdfd85a7
Fix power symbol value field placement.
2024-05-04 23:49:43 +01:00
Jeff Young
c2fae3768c
Fix knock-on effects from b7f035964fc8f4db6acb37dc3fe4718ed7b59169.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17924
2024-05-04 23:49:43 +01:00
Jeff Young
2d1bcbd222
Repair import of Altium arcs.
2024-05-04 15:47:43 +01:00
Jeff Young
8ec1016ccf
Repair Altium importer for coord system change.
2024-05-04 14:19:12 +01:00
Alex Shvartzkop
b5b65d0846
Fix some breakage due to symbol Y axis inversion in EasyEDA parsers.
2024-05-03 01:44:50 +03:00
Jon Evans
a95a3fa5c9
Altium: apply power filter to symbol libraries
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17922
2024-05-01 22:47:45 -04:00
Stefan
7ed755ac61
Handle piechart case for Altium lib import
...
This doesn't parse the data but it will let the user know what wasn't properly parsed.
2024-04-30 03:07:14 +00:00
Jeff Young
95136494b3
RIP LIB_PIN.
2024-04-20 12:10:31 +01:00
Jeff Young
d761b4f22f
RIP LIB_TEXTBOX and LIB_SHAPE.
2024-04-16 16:31:16 +01:00
Jeff Young
3efe504dcc
Collapse LIB_TEXT into SCH_TEXT.
2024-04-16 16:31:16 +01:00
Jeff Young
d77eae3e7e
Collapse LIB_FIELD into SCH_FIELD.
2024-04-13 15:42:13 +01:00
Jon Evans
4bc69183ab
Set description on Altium imported symbols
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16943
2024-03-05 23:08:11 -05:00
Alex Shvartzkop
defcb49ac8
Support Altium Schematic ASCII import
2024-02-29 20:49:20 +00:00
Jeff Young
aef87b9796
Push thickness handling down into EDA_TEXT::SetBold().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17077
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14875
2024-02-25 17:28:52 +00:00
Jon Evans
d939004bbd
Fix use-after-free in Altium importer
...
If the library already contains a symbol with the same name,
SaveSymbol will replace the existing symbol,
which will invalidate a cached pointer.
2024-02-25 08:47:07 -05:00
Jeff Young
98cd040952
Set up default netclass wire & bus widths.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17024
(cherry picked from commit 2d7f4faf72a1e89be08922cca93834bcfb9fe064)
2024-02-23 16:53:35 +01:00
Jeff Young
2c49ba4252
Formatting.
...
(cherry picked from commit c75bb5d01a1b24d93c570914800dbab64ec12afe)
2024-02-23 16:53:35 +01:00
Roberto Fernandez Bautista
420413969e
Altium: Don't create duplicate fields
2024-02-23 14:57:57 +00:00
Roberto Fernandez Bautista
1a6e6a06eb
Altium: Don't load library parameters with an owner for now
...
In Altium many objects can have parameters (including pins). For now
we will drop library parameters belonging to any sub-components of a
symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17048
2024-02-23 14:57:57 +00:00
Alex
e55a803572
Altium schematic import: do not overwrite sheet name.
2024-02-07 05:06:49 +03:00
Alex
a32d5174a1
Altium schematic import: clear harness port list after parsing Additional.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16894
2024-02-07 05:06:49 +03:00