Seth Hillbrand
fbe677e46e
pcbnew: Correcting commit f84bd0d83
for 5.0/release
...
Previous commit only functioned correctly in debug mode. Also cleanup a
left-over debug printf() and revert a changed translated string.
2018-08-30 13:25:18 -07:00
Seth Hillbrand
f84bd0d836
pcbnew: Fix Eagle UTF8 import error
...
Implicit convertion from wxString to std::string will use narrow strings
and drop UTF-8.
Fixes: lp:1789311
* https://bugs.launchpad.net/kicad/+bug/1789311
2018-08-30 13:07:33 -07:00
Jeff Young
7e2e39ce30
Handle separate parsing rules for ID_SCH and ID_PCB.
...
This removes the existing constructors so that all parsing must
be explicit and callers are made aware that they need to think
about illegal characters, malformed ids, etc.
Fixes: lp:1783474
* https://bugs.launchpad.net/kicad/+bug/1783474
Fixes: lp:1786819
* https://bugs.launchpad.net/kicad/+bug/1786819
2018-08-24 23:57:19 +01:00
Seth Hillbrand
0e946dad1a
Eagle: Fix NULL-dereference on malformed Eagle files
...
Eagle files that are edited may be missing required data. While we do
not need to handle these files, we do need to prevent segfaults in KiCad
when reading them.
2018-08-09 14:57:50 -07:00
Maciej Suminski
a14b552d89
Eagle PCB import: handle DRC rules where min value > max value
...
Fixes: lp:1779126
* https://bugs.launchpad.net/kicad/+bug/1779126
2018-06-29 19:53:20 +02:00
Maciej Suminski
c5f56ef573
Eagle PCB import: made warning strings translatable
2018-05-29 15:02:26 +02:00
Jeff Young
a12b9db584
Map Eagle values to fab layers.
...
Fixes: lp:1773256
* https://bugs.launchpad.net/kicad/+bug/1773256
2018-05-28 20:37:52 +01:00
Maciej Suminski
190d4d6f55
Eagle PCB import: disable copper pour for imported *Restrict layer polygons
...
Fixes: lp:1772245
* https://bugs.launchpad.net/kicad/+bug/1772245
2018-05-23 17:51:49 +02:00
Maciej Suminski
dcf60f8e6f
Eagle PCB import: handle keepout zones
...
Fixes: lp:1755886
* https://bugs.launchpad.net/kicad/+bug/1755886
2018-05-19 18:43:04 +02:00
Maciej Suminski
ef698384a7
Eagle PCB importer: changed m_Track.Insert() to m_Track.PushBack()
...
The latter better reflects the intention.
2018-05-07 16:51:06 +02:00
Russell Oliver
89381e1103
Eagle Import: Correct layer set based on cream setting and rotate rectangles
...
Fixes: lp:1758747
* https://bugs.launchpad.net/kicad/+bug/1758747
2018-04-02 10:59:54 -07:00
Seth Hillbrand
ee05b1c92e
Add polygon arc support to Eagle import
2018-04-02 10:49:43 -07:00
Seth Hillbrand
9472444b41
Fix minor rounding error in curved wire import
2018-03-26 15:18:47 -07: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
Seth Hillbrand
347f6daddc
Eagle Converter: Adjust arcs to use error-based alg
...
Implements the revised, difference-error based algorithm in the Eagle
arc import rather than using the hard-coded 32-segments/360°
2018-03-26 10:39:23 -07:00
Maciej Suminski
e4d512a293
Eagle PCB import: mute uninitialized variable warning
...
In fact radius is not used initialized, as the scope where it is
used (while loop) is dependent on the preceding if( w.curve ) clause
that initializes 'radius' variable.
2018-03-14 15:40:58 +01:00
Maciej Suminski
f7ad77004d
Eagle PCB import: handle {smd,pad}.thermals property
2018-03-14 10:24:47 +01:00
Maciej Suminski
d432a985ab
Eagle PCB import: handle 'roundness' DRC rule (SMD rounded rectangles)
...
Fixes: lp:1754138
* https://bugs.launchpad.net/kicad/+bug/1754138
2018-03-14 10:24:47 +01:00
Maciej Suminski
5896723c60
Eagle PCB import: handle smd.{stop,cream} and pad.stop attributes
2018-03-14 10:24:47 +01:00
Maciej Suminski
d906acc0eb
Eagle PCB import plugin: sprintf() -> snprintf()
2018-03-13 14:50:08 +01:00
Maciej Suminski
aeb999b9ae
Eagle PCB import: handle solder mask & paste for pads
...
Fixes: lp:1754138
* https://bugs.launchpad.net/kicad/+bug/1754138
2018-03-13 14:50:05 +01: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
Maciej Suminski
133b681006
Eagle PCB import: code formatting
2018-03-13 14:44:28 +01:00
Maciej Suminski
9d0cd1a188
Eagle PCB import: rounded rectangle pad support
2018-03-13 11:57:43 +01:00
Seth Hillbrand
f7cbf157a9
Adding segmentation to Eagle curved track import
...
Eagle tracks can have curves. We approximate this using the
segments_per_360 define. This results in 32 segments for a 360-degree
curve. We could increase this value for curved tracks to get closer
tracking with the Eagle layout if needed.
Fixes: lp:1753289
* https://bugs.launchpad.net/kicad/+bug/1753289
2018-03-09 13:25:38 -08:00
Jeff Young
8e1d397587
Update Eagle and gEDA importers.
...
Remove a throw in the Eagle importer which just threw a wedge
in the works, and return a default modTime when the file hasn't
been set yet.
Give the gEDA importer the multi-file cache management performance
improvements from the kicad_plugin.
Fixes: lp:1752719
* https://bugs.launchpad.net/kicad/+bug/1752719
2018-03-03 00:21:26 +00: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
Russell Oliver
8f07da7953
Fix empty footprints when using Eagle libraries
...
This removes a line that deletes the templates created from the eagle
library every time EAGLE_PLUGIN::init( const PROPERTIES* aProperties )
is called, which seems quite often. The templates are deleted though if
the library path for the plugin is changed or the file has been
modified.
Fixes: lp:1731802
* https://bugs.launchpad.net/kicad/+bug/1731802
2018-02-06 14:50:08 +01:00
Bernhard Stegmaier
29e1d3d98a
Fix Eagle plugin build errors on macOS
...
Fixes: lp:1738865
* https://bugs.launchpad.net/kicad/+bug/1738865
2017-12-19 13:38:28 +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
Simon Richter
a9ccf1161b
Fix quotes in UI messages
...
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.
Sorry to all translators.
2017-12-15 07:33:07 -05:00
jean-pierre charras
a8e98ade49
Fix a very minor coding style issue
2017-11-15 08:10:48 +01:00
Tomasz Włostowski
a67d24a34e
revert link-time plugin registration causing plugins to be incorrectly enumerated
2017-11-04 21:00:42 +01:00
Tomasz Włostowski
9932ff32ae
refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future
2017-11-03 23:59:02 +01:00
Tomasz Włostowski
7a44ab914d
refactoring: replaced manual plugin registration with link-time plugin binding
2017-11-03 20:02:06 +01:00
Maciej Suminski
e5c4cfc3b0
Eagle board importer: enable rectangle on drawing layers
...
Now the graphical polygons in footprints are properly handled by the
footprint editor, so there is no reason not to import them.
Coverity CID: 168709
2017-11-01 10:41:57 +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
0f532c3e8d
Eagle PCB import plugin: handle correctly non-consecutive layer numbers
2017-10-20 09:34:33 +02:00
Maciej Suminski
7d7303215b
Eagle PCB import plugin: more descriptive warning messages
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
Russell Oliver
b796b13a89
Eagle PCB import: Improve error messages for unsupported footprint elements. - Display lines and circles from copper layers on drawings layer - Generate error messages for rectangles and polygons.
2017-10-20 09:34:33 +02:00
Russell Oliver
2a0a999350
Eeschema Eagle Import: Code clean-up and formatting
2017-10-20 09:34:32 +02:00
Maciej Suminski
2adc3d48b4
Eeschema Eagle Import: Assign timestamps for modules
2017-10-20 08:38:39 +02:00
Maciej Suminski
cca63801bf
Renamed D_PAD::{Set,Get}PadName() to D_PAD::{Set,Get}Name()
2017-09-19 18:23:50 +02:00
Maciej Suminski
90668f9efb
Do not destroy the footprint cache in EAGLE_PLUGIN init
...
EAGLE_PLUGIN::init() is called every time the footprints are enumerated,
so it is incorrect to destroy the cache there.
2017-09-07 13:01:14 +02:00
Dick Hollenbeck
19e6bde09a
Rewrite class UTF8 to contain rather than extend std::string storage.
...
This forces the compiler class specific features rather than borrowing
from the base class's std::string. In some cases prior to this,
wxString( std::string ) was being called rather than UTF8::operator
wxString() leading to garbled wxStrings.
Added function UTF8::wx_str() which is of great convenience also.
Implicit conversions still work as before, and hopefully more reliably.
2017-07-26 08:30:12 -04:00