Seth Hillbrand
df562b7ec0
pcbnew: Prevent degenerate values in Eagle import
...
Importing Eagle files allowed for invalid zone values for clearance and
minimum width that triggered asserts in the 3d-viewer.
Fixes: lp:1801188
* https://bugs.launchpad.net/kicad/+bug/1801188
2018-11-04 11:01:08 -08:00
Seth Hillbrand
a7672716f8
Revert "pcbnew: Fix memory leak in Eagle importer"
...
This reverts commit 45d438cd13
.
2018-10-15 08:26:04 -07:00
Seth Hillbrand
45d438cd13
pcbnew: Fix memory leak in Eagle importer
...
unqiue_ptr release creates a memory leak unless the returned pointer is
freed.
2018-10-08 08:47:58 -07:00
Jeff Young
6be2733285
Fix a few more no-long-necessary non-copper layer restrictions.
2018-09-19 22:23:18 +01:00
Seth Hillbrand
29b4ac7cb8
pcbnew: Fix Eagle import hole offset
...
Unplated holes in Ealge can either be free floating or part of a larger
footprint. We handle both in the same packageHole routine by either
offsetting the hole in a centered footprint or offsetting the footprint
in a centered hole.
Fixes: lp:1791287
* https://bugs.launchpad.net/kicad/+bug/1791287
2018-09-08 20:42:23 -07:00
Seth Hillbrand
c9fc20c54e
pcbnew: Add Eagle milling layer to edge_cuts
...
The Eagle milling layer (46) is valid for cutouts on the board.
Fixes: lp:1791284
* https://bugs.launchpad.net/kicad/+bug/1791284
2018-09-08 17:25:24 -07:00
Seth Hillbrand
a5dd86f411
pcbnew: Set soldermask on NPTH imported from Eagle
...
Fixes: lp:1773253
* https://bugs.launchpad.net/kicad/+bug/1773253
2018-09-06 09:01:23 -07:00
Seth Hillbrand
83e6940592
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:27:32 -07:00
Seth Hillbrand
34b920a74f
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:08:21 -07:00
Seth Hillbrand
5bd959d92c
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-19 19:48:10 -07:00
Jeff Young
cb61525394
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
2018-07-26 15:43:53 +01:00
Jeff Young
5c646119a7
Allow user-specification of dimension units.
...
Also fixes a units bug when round-tripping a dimension through
the file format.
Fixes: lp:1782797
* https://bugs.launchpad.net/kicad/+bug/1782797
2018-07-21 13:50:21 +01:00
Jeff Young
aab97c8385
Consolidate design rules UI.
...
Implement new Board Setup paged dialog which includes:
Layers Setup
Design Rules
Solder Mask & Paste
Text & Drawings
Moves line width and text properties to a layer-class-based
system. Renames unlocked to upright (which also reverses the
logic).
New Edit Text and Graphic Properties dialog which replaces
Edit Footprint Text and adds layer-class-based editing and the
italic, upright and visibility properties.
Adds Import Settings functionality which allows settings to
be imported from another project at page granularity.
Also UNIT_BINDERizes the dialog and adds editing of pcb text.
Fixes: lp:1731952
* https://bugs.launchpad.net/kicad/+bug/1731952
Fixes: lp:1743464
* https://bugs.launchpad.net/kicad/+bug/1743464
Fixes: lp:1664761
* https://bugs.launchpad.net/kicad/+bug/1664761
Fixes: lp:1753362
* https://bugs.launchpad.net/kicad/+bug/1753362
Fixes: lp:1545427
* https://bugs.launchpad.net/kicad/+bug/1545427
Fixes: lp:1753775
* https://bugs.launchpad.net/kicad/+bug/1753775
Fixes: lp:1777692
* https://bugs.launchpad.net/kicad/+bug/1777692
Fixes: lp:1780670
* https://bugs.launchpad.net/kicad/+bug/1780670
Fixes: lp:1519601
* https://bugs.launchpad.net/kicad/+bug/1519601
(cherry picked from commit 3944a5e)
2018-07-17 15:12:34 +01:00
Jeff Young
5ce0f8ba54
Kill off a few more g_UserUnit references.
...
(cherry picked from commit 452b1a7)
2018-07-17 15:12:07 +01: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