Seth Hillbrand
9f09c3872f
Ensure file reads always use the C-locale variant
...
Str2Double assumes current locale. We usually switch the locale when
reading files but we should be using the function that explicitly gets
the C-locale conversion.
2020-07-12 20:03:50 -07:00
Jeff Young
129042f8a6
Convert timestamps to UUIDs.
2020-02-20 21:29:52 +00:00
Seth Hillbrand
b5f021ff9f
Cleanup: Replace push_back with emplace_back
...
In cases where we create a new item and immediately push into a
container, the emplace idiom is faster and more efficient.
2019-12-05 13:41:21 -08:00
Seth Hillbrand
0e5cc54ec9
Eagle: Fix crash when importing Eagle V6
...
This fixes multiple issues when importing Eagle V6 files.
Crashes occured when arcs of 0-length were found and when parts were
referenced in the schematic that were not found in the library. This
could happen if the library and schematic were different cases.
Fixes: lp:1830564
* https://bugs.launchpad.net/kicad/+bug/1830564
2019-05-26 20:31:55 -07:00
Mark van Doesburg
91e3d21d68
Eeschema: Copy attributes from eagle.
...
Eagle allows for variants of components to be listed in the schematic.
This patch copies the variant data into the imported schematic item,
prefixing the alternate variant names with "VARIANT_" and keeping the
alternate values.
2018-07-31 11:58:01 -07:00
Jeff Young
62d6750ced
Use default for attribute "display" if not found.
...
Fixes: lp:1767447
* https://bugs.launchpad.net/kicad/+bug/1767447
2018-05-11 16:11:38 +01:00
Seth Hillbrand
ced0fcee1e
Updating Eagle Importer to take curved zones
...
Fixes: lp:1755879
* https://bugs.launchpad.net/kicad/+bug/1755879
2018-03-26 15:09:56 -07:00
Maciej Suminski
4055c435a5
Eagle PCB import: unified code for handling pad properties
2018-03-13 14:44:35 +01:00
Maciej Suminski
4c9be316dd
Eagle import: minor ECOORD refactor
...
- changed EAGLE_UNIT enum names from EAGLE_* to EU_*
- renamed ToNanoMeters() to ConvertToNm() and added a comment
- added ToMils() and ToNanoMeters() method
2018-03-13 14:44:34 +01:00
Seth Hillbrand
ea4cee3393
Set Eagle import generated timestamps to KiCad std
2018-03-09 13:12:18 -08:00
Maciej Suminski
30a78f00bc
Use 32-bit timestamps for imported Eagle files
...
Fixes: lp:1754610
* https://bugs.launchpad.net/kicad/+bug/1754610
2018-03-09 14:27:35 +01:00
Maciej Suminski
24fcdb00cc
Eagle importer: convert special characters in net names
...
Convert '!' to '~' to reflect overbar toggling and change '~' to '~~'.
Now it matches the net names in schematics import plugin.
2018-02-17 00:03:28 +01:00
Maciej Suminski
c95340fbaf
Eagle importer: replace invalid character with '_' to match PCB<->SCH
2018-02-16 16:52:14 +01:00
Maciej Suminski
378846c2e3
Eagle Schematics Importer: support for UTF-8
...
Fixes: lp:1736083
* https://bugs.launchpad.net/kicad/+bug/1736083
2017-12-17 19:54:21 +01:00
Marvin Schmidt
69974b73db
Remove some extra semicolons
2017-11-09 19:52:18 +01:00
Maciej Suminski
5eb56dd8b0
Coverity fixes
...
CIDs:
102571
168696
168701
168704
168706
168708
168710
168713
168716
168717
2017-11-01 10:24:26 +01:00
jean-pierre charras
2d6496c7f6
Replace UNIT by EAGLE_UNIT in Eagle plugin to avoid having a lot of useless hits when grep for "UNIT"
2017-10-23 15:37:24 +02:00
Maciej Suminski
0ed7483868
Eeschema Eagle Import: support UTF-8 for fields
2017-10-20 09:34:33 +02:00
Maciej Suminski
e466bf50ae
Eagle PCB import plugin: fix dimensions import
2017-10-20 09:34:33 +02:00
Maciej Suminski
ee8012a5cc
Eagle import plugin: Code clean-up and formatting
2017-10-20 09:34:33 +02:00
Maciej Suminski
25b8111341
Modified Eagle import plugins to use nanometers as the internal unit
2017-10-20 09:34:33 +02:00
Maciej Suminski
ce11e9a264
Eeschema Eagle Import: Changed convertTextSize() to ETEXT::ConvertSize()
2017-10-20 09:34:32 +02:00
Russell Oliver
2a0a999350
Eeschema Eagle Import: Code clean-up and formatting
2017-10-20 09:34:32 +02:00
Russell Oliver
3b0855d204
Eagle Project Import: Code cleanup and documentation.
...
- Also makes the project and file import functions filetype dependent.
- The change from IO_MGR::KICAD to IO_MGR::KICAD_SEXP removes a conflict from a compile definition for KICAD when compiling kicad/import_project.cpp
2017-10-20 08:58:40 +02:00
Russell Oliver
230e8978f5
Eagle Parser: Fix overwritten changes
2017-10-20 08:58:40 +02:00
Russell Oliver
a8fa64f158
Eeschema Eagle Import: Shift convertTextSize to common eagle parser.
2017-10-20 08:38:42 +02:00
Maciej Suminski
08907d4fe8
Eeschema Eagle Import: generate unique timestamps for multiunit parts
2017-10-20 08:38:42 +02:00
Maciej Suminski
2adc3d48b4
Eeschema Eagle Import: Assign timestamps for modules
2017-10-20 08:38:39 +02:00
Maciej Suminski
f5e7c2ee48
Eeschema Eagle Import: Check if alignment is defined before parsing
2017-10-20 08:38:39 +02:00
Russell Oliver
bb754b33d0
Eeschema Eagle Import: Parse instance attributes for value and refererence positions and alignment.
2017-10-20 08:38:38 +02:00
Russell Oliver
c274a21548
WIP: Symbols are imported and displayed, and save to cache file on schematic save.
2017-10-20 08:38:38 +02:00
Russell Oliver
b9edfe4fe4
WIP: Refactor symbol importation to account for multiple gates and device connect pin maps.
2017-10-20 08:38:38 +02:00
Russell Oliver
82cc0c7e2e
Common: Eagle parser add EPART, EINSTANCE, EGATE, ECONNECT, EDEVICE
2017-10-20 08:38:38 +02:00
Russell Oliver
96317fb7c3
Common: Reorder some functions in eagle_parser.*
2017-10-20 08:38:38 +02:00
Maciej Suminski
e03bc32e49
Eagle plugin: Code formatting
2017-10-20 08:38:38 +02:00
Maciej Suminski
f049b01a59
Eagle plugin: Added 'static' and 'const T&' as applicable
2017-10-20 08:38:38 +02:00
Russell Oliver
ea8f7ed02d
Eeschema: Eagle plugin> work on schematic and symbol elements
2017-10-20 08:38:37 +02:00
Maciej Suminski
c727423979
Work in progress
...
- !! Eeschema uses Eagle plugin for loading schematics (i.e. it does not
use KiCad format anymore)
- Fixed build errors
- Fixed a few crashes
- Code formatting
2017-10-20 08:38:37 +02:00
Maciej Suminski
f5b2a2ea57
Code formatting and cleanup
2017-10-20 08:38:37 +02:00
Maciej Suminski
99f65f4dbf
Added const T& to Eagle PCB import plugin methods
2017-05-04 15:44:14 +02:00
Alejandro García Montoro
9cf934ef17
Moves Eagle XML parser to common, replacing boost with wx.
...
All E'STRUCTS' are moved to common except for ERULES (which is
specific to pcbnew and needs its internal units), still in
pcbnew/eagle_plugin.{h,cpp}
In order to get rid of another boost dependency, this also changes
the parsing of the XML from Boost.PropertyTree to wxXml.
To replace boost::optional, an OPTIONAL_XML_ATTRIBUTE class has
been implemented. This could be replaced with std::optional when
C++17 is ready.
2017-05-04 15:29:45 +02:00