Jon Evans
a2379f4111
Altium QA: Fix issue with newer wx
...
Now uses std::from_chars and + prefix must be stripped
2023-11-24 16:00:42 -05:00
Alex Shvartzkop
76352234e5
ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables.
2023-11-17 07:20:18 +03:00
Thomas Pointhuber
7005dd7c48
altium: make special string parsing on pcb a bit more generic
...
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Marek Roszko
a4d8c021aa
Remove rouge gdicmn include
2023-09-06 18:33:22 -04:00
Seth Hillbrand
c7868f0832
Altium Plugin updates
...
Handle Altium multiple display modes (e.g. DeMorgan)
Handle Altium overbar format (o\v\e\r\b\a\r\)
Transform ellipses and elliptical arcs into approximate arcs
Add remaining unknown RECORD ids
2023-09-06 19:15:35 +00:00
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
Seth Hillbrand
24d3df5416
ADDED: Altium SchLib Support
2023-09-06 19:15:35 +00:00
Alex Shvartzkop
8a4f203963
Altium: remove illegal chars from library name.
2023-09-02 10:36:03 +03:00
Seth Hillbrand
57ba38560c
Optimize library load time for Altium plugin
...
Load times were >20min for moderate sized libraries as EnumFiles
iterated over the entire list for each operation. The update modifies
our third-party lib to allow a return value, stopping the iteration when
we find our desired entry. This also provides a short-circuit for
ASCII-based names, allowing single-level parsing if available
2023-08-18 13:50:15 -07:00
Alex Shvartzkop
24452f41ad
Improvements to Altium PCB/footprint importer:
...
- Support unicode footprint names
- Set default footprint text size and thickness to match KLC
- Position Reference at the top, Value at the bottom of fp bounding box
2023-07-22 08:55:53 +05:00
Alex Shvartzkop
e892405738
Altium PCB import: read and apply TrueType font names to text.
2023-07-04 13:29:42 +03:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Jeff Young
f17ddf5c88
Terminate overbar notation correctly.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13438
2023-01-08 20:08:53 +00:00
luz paz
79fa911e0e
Fix various typos
...
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
2022-07-21 16:31:41 +00:00
Jeff Young
cf33cfcad1
Round Altium unit conversions to nearest 10nm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6462
2022-03-22 23:22:44 +00: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
Marek Roszko
ca7840334c
Mark some limits as constexpr
...
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
2022-02-04 07:50:13 -05:00
Thomas Pointhuber
5aff3ef949
altium: First prototype to parse tracks of a footprint
2022-01-17 19:54:28 +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
Thomas Pointhuber
c6504628f0
altium: Fix Compound File Reader which returned wrong entries
...
It was possible that we confuse multiple files with the same name. This should not be that relevant for board and schematic import, but is important for library import!
2022-01-17 19:51:51 +01:00
Marek Roszko
ea613cf448
Another batch of point changes
2022-01-01 13:17:12 -05: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
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
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
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
Jeff Young
01d3a88faa
Allow unnamed embedded step files in altium boards.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7898
2021-07-10 16:37:45 +01:00
Jeff Young
f59ee53540
Comparen canonicalKey, not raw key.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-08 15:53:08 +01:00
Jeff Young
a4263ebce5
Clean up Altium special string handling
...
1) Fix a couple of bugs in case processing
2) Make case processing more explicit to prevent more (1)
3) Move label processing to AltiumSpecialStringsToKiCadVariables
4) Strip double-quotes from special strings (and add test cases)
5) Change PROJECTNAME to just filename, not full path
6) PROJECTREV and REVISION are two different things
7) Add support for Altium's Application_BuildNumber
8) Fix some issues in trimming spaces around special strings
2021-07-08 15:34:38 +01:00
Jeff Young
190b0ecdeb
Formatting.
2021-07-06 20:27:28 +01:00
Jeff Young
799d6690c0
Only convert overbar syntax on names, refdes and text.
...
In particular, don't try and convert filenames which may be in
windows format.
Fixes https://gitlab.com/kicad/code/kicad/issues/git
2021-07-06 13:30:17 +01:00
Jeff Young
6cc564aead
KiCad variable resolution is case sensitive OR all-upper-case.
...
Bring Altium variable references (which are case-insensitive) in as
all-upper-case.
Fixes https://gitlab.com/kicad/code/kicad/issues/6256
2021-07-05 11:05:46 +01:00
Jeff Young
f8a34d98b3
Support for overbar syntax in Altium importer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7979
2021-07-01 21:03:53 +01:00
Jeff Young
0dfb5fcaf9
Error message cleanup.
...
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +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
Marek Roszko
0e16db0c25
Kick wx.h mostly out of common
2021-06-07 18:38:52 -04:00
Marek Roszko
eeb405c196
Cleanup some more excess math/util includes
2021-06-02 00:50:46 -04:00
Thomas Pointhuber
f13eb13b9a
altium: import images from SchDoc
2021-04-10 21:52:37 +02:00
Jonathan Haas
55679be2e3
Fix some typos across the codebase
2021-04-05 16:15:25 +02:00
Thomas Pointhuber
d9229697d8
altium: special string override map should be case-insensitive
...
This only fixes overrides where we explicitly map an override. Wrongly written variables pointing to fields are not corrected by this.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6256
2021-03-20 20:42:25 +01:00
Thomas Pointhuber
cd26db24f9
altium: allow text in special strings
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6256#note_529783269
2021-03-20 19:25:57 +01:00
Thomas Pointhuber
4482b3baba
altium: Handle special strings and convert them into KiCad variables. Use Comment for VALUE.
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6256
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/7736
2021-03-14 16:40:36 +01:00
Thomas Pointhuber
7ef9082c86
altium: add unit-tests for ReadProperties() and fix some issues found while doing so
2021-03-08 23:03:00 +01:00
Seth Hillbrand
283d176cdc
Use std::locale::classic() globally
...
This is a better alternative when imbuing streams
2021-02-26 17:21:55 -08:00
Thomas Pointhuber
c255dede17
altium: loosen up ReadProperties check a bit, to allow reading of likely malformed altium files.
2021-02-07 16:52:31 +01:00
Thomas Pointhuber
db3b79a046
altium: Fix #6462 improve parsing of metric units
...
Because Altium uses imperial units for storage, this leads to rounding errors.
This code tries to correct those rounding errors for the user.
2021-01-31 16:18:57 +01:00
Thomas Pointhuber
9ddfd82b91
altium: Fix #6242 by increasing clamp limit for unit conversation. Furthermore fix error which happens when parsing negative units.
2021-01-31 13:59:51 +01:00
Jeff Young
bb232e6ac6
Unify LIB_IDs now that both are stored in sexpr files.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
Thomas Pointhuber
47786fa976
altium: Correctly handle symbol names containing invalid chars
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6082
2020-10-23 14:30:29 +02:00