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
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
Jeff Young
531f5480a7
Reduce line-breaks and increase SNR.
2021-07-24 14:25:59 +01:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04: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
3ae4aa493f
cadstar_archive_parser.h doesn't need dsnlexer.h
2021-06-06 19:34:53 -04:00
Marek Roszko
5bb6f8c5e3
hashtables.h doesn't need eda_item.h
2021-06-06 19:11:35 -04:00
Marek Roszko
581ba21865
Remove wx includes out of cadstar_archive_loader.h
2021-06-06 09:28:02 -04:00
Marek Roszko
eeb405c196
Cleanup some more excess math/util includes
2021-06-02 00:50:46 -04:00
Marek Roszko
cf2bb5692a
Remove the wxLog calls from math/util.h for now
...
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Jon Evans
4f191ce2c7
Squash GCC warning about boolean expression
2021-04-13 21:53:43 -04:00
Roberto Fernandez Bautista
9148542219
CADSTAR Schematic: Fix Text Positioning within Symbols
2021-04-12 20:25:03 +01:00
Thomas Pointhuber
f13eb13b9a
altium: import images from SchDoc
2021-04-10 21:52:37 +02:00
Roberto Fernandez Bautista
d041578150
CADSTAR Schematic: Fix import of text alignment
...
Ensure that the text alignment applied to text objects corresponds to
valid text alignments that can be set within eeschema
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8090
2021-04-05 20:15:08 +01:00
Roberto Fernandez Bautista
213d2fe977
CADSTAR: Parse missing NOTPICKABLE node
2021-04-05 20:15:08 +01: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
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04: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
Roberto Fernandez Bautista
5acdf1ddb1
CADSTAR Schematic Archive Importer: Align to original grid
...
Previous assumption of 100mil grid in CADSTAR schematic designs has
been proven to be incorrect. Let's use the "working grid" in the
original design instead.
2021-02-22 13:24:00 +00:00
Roberto Fernandez Bautista
09ebfcd650
CADSTAR Importer: Fix Code Style
...
- Rename member variable names to use the 'm_' prefix
- Rename a few object types that clashed with KiCad object names, such
as BOARD and SCHEMATIC, to avoid the use of '::' to access the KiCad
objects.
- Remove some unused code.
2021-02-22 13:24:00 +00:00
Wayne Stambaugh
089b7afacf
Eeschema: Eagle schematic plugin parser improvements.
...
* Fix multi line text alignment.
* Parse schematic frame objects and convert them to lines.
* Make implicit global labels normal size so they can easily be seen.
* Move sheet fields to a more sensible position.
* Parse schematic symbol instances before wires so that the implicit power
connections can properly be tested. This will be used at a later time.
* Scale label text size down to allow for differences in label offset and
graphical items.
2021-02-15 16:44:58 -05:00
Roberto Fernandez Bautista
f530b12c31
CADSTAR Schematic Archive Importer: Handle undefined pin number in part
...
Use terminal pin number (i.e. from the symbol definition) when the pin
number is undefined in the part.
This fixes a bug that resulted in symbols with "0" as the pin numbers.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
cc27c31ab0
CADSTAR Schematic Archive Importer: Import common fields visibilities
...
Import field visibilities for Ref, Value and Part Name
Also fix incorrect loading of designator from previous commit
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
297ff282f1
CADSTAR Importer: Update copyright years and remove white spaces
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
b0051c07cb
CADSTAR Schematic Archive Importer: Load all fields in symbols
...
- Load Fields in the library items as well as schematic instances
- Remove invalid characters (e.g. '\n', '\t', '\r') in fields
- Load footprint field (assume that the footprint library name
is the same as the filename of the schematic)
2021-02-10 18:49:20 +00: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
Wayne Stambaugh
6ab1144ea3
Fix broken Doxygen comment specifiers.
...
Please note, ///> is not a valid Doxygen comment specifier. ///< is the
correct specifier to use for single line or short Doxygen comments.
2021-01-25 07:42:36 -05:00
Roberto Fernandez Bautista
58fa411260
CADSTAR importer: Parse missing SIGNALREF ATTROWNER
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7068
2021-01-14 00:13:34 +00:00
Ian McInerney
ac3e677fae
Cleanup some compile warnings
2021-01-13 02:12:59 +00:00
Wayne Stambaugh
f6a1d703ec
Fix some build warnings in the importer code.
2020-12-30 18:19:43 -05:00
Roberto Fernandez Bautista
b168b74919
CADSTAR Archive Importer: Fix position of multiline text with NO_ALIGNMENT in CADSTAR
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
a2cbbb963e
CADSTAR PCB Archive Loader: Correctly handle Dimension text
...
Do not parse fields in dimension text to allow splitting it into prefix and suffix
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista
9ed4780fec
CADSTAR Archive Importer: Change architecture to Parse CADSTAR fields and store them in a static map
...
Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
2020-12-30 18:53:42 +00: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
Roberto Fernandez Bautista
f2ba9f7ac3
CADSTAR PCB Archive Importer: Correctly load the pad numbers as per the original design
...
To load the pad numbers correctly we need to also check the PART DEFINITION for each component
2020-11-28 17:18:17 +00:00
Jeff Young
bdbb68f813
MODULE -> FOOTPRINT.
2020-11-13 16:04:03 +00:00
Marek Roszko
1984581c46
Remove common.h from more headers
2020-10-25 22:29:53 -04:00
Marek Roszko
68484e9b38
Nix some global richio.h
2020-10-24 08:44:03 -04:00
Marek Roszko
77ece552f7
Remove macros.h from files that don't need it
2020-10-24 08:28:02 -04:00
Marek Roszko
64484f5fc4
Split KIID out of common.h
2020-10-24 00:17:08 -04: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
Roberto Fernandez Bautista
e7ab924a86
CADSTAR PCB Archive Importer: Resolve comments in MR
...
- Change wxASSERT(false) to wxFAIL_MSG
- Fix double negative
- Add small comment to TXT_HEIGHT_RATIO
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
7839a508b3
CADSTAR PCB Archive Importer: Fix imported text height
...
Apply a scaling factor derived from CADSTAR's default font
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
5273c77fbf
CADSTAR PCB Archive Importer: Parse TRUNK and TRUNKREF, display error if present (no KiCad equivalent)
2020-10-20 00:00:05 +00:00
Roberto Fernandez Bautista
8b13140122
CADSTAR Archive Importer: Parse missing ROUTEREASSIGN node in ROUTECODE
2020-10-20 00:00:05 +00:00
Thomas Pointhuber
3ced74d19c
altium: Properties are normaly stored in Upper case, but Altium decided CamelCase are good as well
...
Fix: https://gitlab.com/kicad/code/kicad/-/issues/6044
2020-10-18 15:24:25 +02:00
Thomas Pointhuber
9199d1ff63
altium: fix line style and filling
2020-10-17 13:45:33 +00:00
Michael Kavanagh
1416280662
Cleanup: Move Eagle files into plugins folder
2020-10-05 14:19:07 +00:00
jean-pierre charras
f702da95c7
Minor code cleanup, step2: remove more useless include.
...
fix also a minor compil warning
2020-10-01 15:39:47 +02:00
jean-pierre charras
3f8c9d49f8
Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
...
due to compil issue on Linux
This reverts commit cffccc3970
.
2020-09-30 20:47:20 +02:00
jean-pierre charras
cffccc3970
Code cleanup: remove useless wx/wx.h include inside a few files.
...
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Roberto Fernandez Bautista
39995341d9
Compile fixes
...
Fix compile error
Fix string format to use %ld instead to work on clang in CADSTAR Archive importers
Add virtual destructor to CONNECTION in CADSTAR_ARCHIVE_PARSER
2020-09-27 22:05:07 +00:00
Roberto Fernandez Bautista
93242eb3ad
CADSTAR Schematic / PCB Archive Importers: Add missing import warnings and fix code formatting
2020-09-27 18:14:01 +01:00
Roberto Fernandez Bautista
40c5795c03
CADSTAR Schematic Archive Importer: Load Busses and fix minor import bugs
...
Fixed missing tokens that weren't parsed before:
- Danglers (in NET_SCH)
- Pin numbers (in SYMBOL)
- HidePinNames in both PART and PART::DEFINITION, defaulting it to false
2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista
2d85fc8c91
CADSTAR Schematic Archive Importer: Load Nets, Wires, Junctions and Hierarchical Pins
2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista
1c57b5c079
CADSTAR Schematic Archive Importer: Load symbol library and schematic symbol instances
2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista
2d99703e28
CADSTAR Schematic Archive Importer: Load all Sheets and Hierarchical Blocks
2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista
646a733556
CADSTAR Schematic Archive Importer: Parse all elements
2020-09-27 18:13:57 +01:00
Roberto Fernandez Bautista
1b20a2910a
Move all common CADSTAR Importer Parser code
...
Move all common code from CADSTAR_PCB_ARCHIVE_PARSER (pcbnew) to CADSTAR_ARCHIVE_PARSER (common)
2020-09-27 18:13:56 +01:00
Ian McInerney
f82ad61c90
More warning cleanup
2020-09-20 01:43:27 +01:00
Roberto Fernandez Bautista
7ca4f0b375
CADSTAR PCB Archive Importer: Formatting fixes
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
7e65d443e8
CADSTAR PCB Archive Importer: Load TEXTS and fix loading speed
...
Loading speed fixed by changing the way CADSTAR_ARCHIVE_PARSER::InsertAttributeAtEnd works (we now have a new attribute in each node to keep track of how many attributes there are). Now loads a 30,000 line file in 10seconds instead of 25 minutes!
2020-09-08 21:21:21 +00:00
Roberto Fernandez Bautista
866c069873
CADSTAR PCB Archive Importer: Load TEMPLATEs, COPPERs and NETs (including Tracks and Vias)
2020-09-08 21:21:20 +00:00
Roberto Fernandez Bautista
3b3af5327f
CADSTAR PCB Archive Importer: Move code into common/plugins and pcbnew/plugins folders
2020-09-08 21:21:20 +00: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