Commit Graph

32 Commits

Author SHA1 Message Date
Seth Hillbrand 1b63d11adf Speed up Altium compound file reader
Just read the footprint list once and store the cache for later use.
2023-09-06 19:15:35 +00:00
Thomas Pointhuber 08003164ce altium: Add support for Nets (connectivity) on polygons and fills for board items 2023-08-18 11:59:53 +02:00
Alex Shvartzkop e7af4b86b8 Altium PCB: support solder/paste mask expansion rules.
- Writes expansion values to board design settings
- Imports footprint regions on Cu layers as pads
- Adds support for holes in non-Cu polygons in footprints
2023-07-21 20:03:03 +05:00
Jeff Young bbd6c80507 Collapse FP_* down into their PCB_* equivalents. 2023-03-31 22:57:46 +01:00
Jeff Young bab2b6c4b6 Don't assume a 1:1 map between Altium and Kicad nets.
We've found at least one Altium board which has duplicate netcodes
for the same net.

Fixes https://gitlab.com/kicad/code/kicad/issues/12909
2022-11-19 11:53:33 +00:00
Thomas Pointhuber 79aafd1bd3 altium: support keepout restrictions in Arcs, Fills and Regions 2022-03-11 19:15:58 +01:00
Thomas Pointhuber a9ebb42ecd altium: Parse keepout restrictions of tracks 2022-03-07 19:58:43 +01:00
Thomas Pointhuber 52a2d52bf0 altium: Parse solder and paste mask settings of tracks and arcs 2022-02-20 20:18:40 +01:00
Thomas Pointhuber 8ef7252330 altium: Don't use string concatenation for paths pointing in the compound file
* std::vector do not need to be split apart again
* supports backslash in footprint names
2022-02-19 16:46:20 +01:00
Thomas Pointhuber 86c025eb30 altium: Fix parsing of zones which use the KEEP_OUT_LAYER 2022-02-19 14:37:05 +01:00
Thomas Pointhuber 5a2f351f28 altium: Refactor shape based region parsing to make it reusable for footprint import 2022-01-25 21:54:25 +01:00
Thomas Pointhuber 8608c22b73 altium: Refactor fill parsing to make it reusable for footprint import 2022-01-17 19:56:47 +01:00
Thomas Pointhuber 7f667764bf altium: Refactor pad parsing to make it reusable for footprint import 2022-01-17 19:56:47 +01:00
Thomas Pointhuber efb0e9f98f altium: Refactor text parsing to make it reusable for footprint import 2022-01-17 19:56:47 +01:00
Thomas Pointhuber 0b176eb5fc altium: Refactor arc parsing to make it reusable for footprint import 2022-01-17 19:56:46 +01:00
Thomas Pointhuber f5720d6e9a altium: Refactor track parsing to make it reusable for footprint import
Also refactor the code to import MULTI_LAYER items really on multiple layers.
2022-01-17 19:54:28 +01:00
Thomas Pointhuber 5aff3ef949 altium: First prototype to parse tracks of a footprint 2022-01-17 19:54:28 +01:00
Thomas Pointhuber f92c1341a2 altium: Move file loading from altium_pcb into altium_*_plugin 2022-01-17 19:54:27 +01:00
Thomas Pointhuber 0129e49b79 altium: Introduce new ALTIUM_COMPOUND_FILE object to handle file opening and searching for streams at a central place 2022-01-17 19:54:26 +01:00
Thomas Pointhuber 2cc9517cfd altium: Allow extraction of names of footprints stored in *.PcbLib file
See: https://gitlab.com/kicad/code/kicad/-/issues/10274
2022-01-17 19:51:51 +01:00
Jeff Young 3c0e3610e2 Import Altium radial dimensions to KiCad radial dimensions.
(We converted them to KiCad leaders in 6.0 because we didn't have
radial dimensions yet.)

Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-12-23 22:17:01 +00:00
david-beinder a9b4465703 Altium import: Use UTF16 string table for PCB texts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7948
2021-11-12 14:49:22 +00:00
Jeff Young 8b08c9e53f Shorter names before things get out of hand.
Also, remove comments indicating CURVE is a Bezier.  Just call it a
BEZIER.
2021-10-15 12:45:43 +01:00
Jeff Young f221220fe2 Rename layer ids file.
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Wayne Stambaugh 37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
Jeff Young 373f0335c8 Convert Altium radial dimensions to leaders.
This is because we don't yet support radial dimensions.

Also fixes a bug where we fail to read an Altium circular track.  We
now convert it to a pair of 180-degree arcs.

Also fixes a bug where we were failing to import prefixes on linear
dimensions.

Fixes https://gitlab.com/kicad/code/kicad/issues/8789
2021-07-24 14:25:59 +01:00
Thomas Pointhuber e50eaed7b9 altium: Improve parsing of UTF-8 data
This is an implementation based on d4ccec05 from @fxtentacle
2021-06-26 13:58:56 +02:00
Thomas Pointhuber e6c047896c altium: introduce progress reporting, fix possible nullptr when reading 3D models 2021-06-26 12:54:31 +02:00
Jeff Young bdbb68f813 MODULE -> FOOTPRINT. 2020-11-13 16:04:03 +00:00
Jeff Young f7333ad64a Update some classnames including archaic zone names. 2020-11-12 10:31:25 +00:00
Jeff Young 37906511f5 Class renaming.
DRAWSEGMENT  -> PCB_SHAPE
EDGE_MODULE  -> FP_SHAPE
TEXTE_PCB    -> PCB_TEXT
TEXTE_MODULE -> FP_TEXT
2020-10-05 11:55:33 +01:00
Thomas Pointhuber a03fb7a9a8 Altium: Refactor and add initial structure for schematic importer
altium: move pcbnew/altium2kicadpcb_plugin -> pcbnew/plugins/altium

See: https://gitlab.com/kicad/code/kicad/-/issues/4412
2020-08-23 19:01:08 +00:00
Renamed from pcbnew/altium2kicadpcb_plugin/altium_pcb.h (Browse further)