Jeff Young
4df5f9969a
Remove unnecessarily restrictive IsCopper() checks.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11588
2023-10-28 12:12:34 +01:00
Jeff Young
38e5e27a50
Import Eagle arc tracks as arcs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14539
2023-10-25 21:55:09 +01:00
Alex Shvartzkop
a16bdb7288
ADDED: Support EAGLE libraries directly in Symbol Library Table.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2214
2023-10-15 01:45:39 +03:00
Alex Shvartzkop
83af481688
Improve EAGLE file header detection.
2023-10-14 15:42:13 +03:00
Alex Shvartzkop
d7863b09c5
Move CORNER_STRATEGY out of SHAPE_POLY_SET.
2023-10-06 15:42:50 +03:00
Alex Shvartzkop
bf29b25190
EAGLE PCB: fix a regression causing polygons not being imported.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15829
2023-10-06 01:13:58 +03:00
Marek Roszko
22b733209d
Fail GAL on its header leaking audit
...
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Alex Shvartzkop
e128896ba6
Schematic plugins refactoring, fixes for PCB plugins.
...
- Move PLUGIN_FILE_DESC to common.
- SCH_PLUGIN: rename Load -> LoadSchematicFile, Save -> SaveSchematicFile.
- Use PLUGIN_FILE_DESC and CanRead* in schematic plugins.
- Return none/unknown types from Find/GuessPluginType functions.
- Iterate over file types for file wildcards.
- Clean-up header checking in IO plugins.
- Use PCB plugin list in IO_MGR::GuessPluginTypeFromLibPath.
2023-08-31 05:08:03 +03:00
Alex Shvartzkop
331176744c
EAGLE import: fixup previous commit.
2023-08-26 00:45:59 +03:00
Alex Shvartzkop
0fcf9e2c7d
EAGLE import: fix crash when loading unknown signal class name.
...
Fixes KICAD-3FA
2023-08-25 23:05:50 +03:00
Alex Shvartzkop
bfb6269f0a
EAGLE import: fix crash when loading a polygon.
...
Fixes KICAD-TW
2023-08-25 23:05:50 +03:00
jean-pierre charras
53b2fda184
Fix some minor compil and Coverity warnings.
2023-08-17 10:06:17 +02:00
Jeff Young
25b9a9de7e
Fix incorrect assumption about Eagle spoke rotation.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
2023-08-16 17:30:03 +01:00
Jeff Young
a58547dde5
Better fidelity for Eagle thermal spokes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15428
2023-08-16 17:24:59 +01:00
Alex Shvartzkop
76e0d5981d
Import system refactor for PCB plugins.
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
a0d96cea9f
Rename Save -> SaveBoard, Load -> LoadBoard in PLUGIN.
2023-08-15 05:26:12 +03:00
Alex Shvartzkop
a80ac8286d
EAGLE PCB import: fix footprint text alignment.
2023-07-05 02:56:06 +03:00
Jeff Young
493828cc6b
Eradicate a bunch of calls to dyn_cast.
...
Also deletes PAD::GetParent() which fails to look for parent footprint
through groups.
2023-06-25 11:10:07 +01:00
Mike Williams
85f889bc19
Fields: Description now mandatory
...
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
jean-pierre charras
9a47b34499
Replace PAD_SHAPE::RECT by PAD_SHAPE::RECTANGLE to avoid a collision NAME with a windows header on MSYS2, creating many compil warnings. No actual code change.
2023-06-02 12:18:24 +02:00
Jeff Young
65e53b8ecd
Move SHAPE_POLY_SET::Inflate's error spec from a seg-count to a max-deviation.
...
1) Also reorders parameters to make sure the compiler helps out.
2) This also makes it harder to mess up the discrepency between
BOX2I/wxRECT/etc::Inflate() and SHAPE_POLY_SET::Inflate.
3) Also fixes a couple of bugs where the corner strategy was passed
in as a segCount.
4) Also fixes a couple of bugs where the error wasn't forced to the
outside to match the ERROR_LOCATION.
5) Also fixes a couple of bugs where the seg count was specified
without regard to an already passed-in max deviation
2023-05-29 15:29:03 +01:00
Jeff Young
13e79af8a0
Eagle template footprints don't actually belong to board.
...
Set their parent to nullptr before deleting (as the board may have
already been deleted).
Likely fix for Sentry KICAD-79.
2023-04-04 14:18:49 +01:00
Jeff Young
28028c941e
Retire Local/Draw coords distinction from PAD (the last object to have it).
2023-04-02 18:02:41 +01:00
Jeff Young
bbd6c80507
Collapse FP_* down into their PCB_* equivalents.
2023-03-31 22:57:46 +01:00
Marek Roszko
604a7d69db
Move up a layer validity check to prevent crash
...
Fixes sentry crash KICAD-RF
2023-03-25 17:12:22 -04:00
Jeff Young
461def2719
Move automatic dimension processing inside PCB_DIMENSION_BASE.
...
Also move dimension precision to an enum so it can get a proper dropdown
in the properties inspector.
2023-03-05 15:19:06 +00:00
Jeff Young
23accffc6d
Add Property Inspector support for dimension objects.
...
Includes changing the class hierarchy so that dimension objects inherit
from PCB_TEXT rather than containing a PCB_TEXT member variable.
2023-03-04 23:16:46 +00:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Jon Evans
e066454c61
Zones: use metric defaults and limits instead of mixed units
...
Update testcases to reflect new defaults
2023-02-11 07:39:29 -05:00
vinsfortunato
5bdaf20af6
eagle: determine and use the minimum copper layer stackup count
...
Fixes: https://gitlab.com/kicad/code/kicad/issues/13484
2023-01-29 21:13:41 +00:00
Dag Lem
cff0560088
Eagle schematic import: Handling of escaped text
2023-01-18 12:33:36 +00:00
Seth Hillbrand
60ba245474
Remove Eagle islands by default unless told otherwise
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13503
2023-01-17 12:49:44 -08:00
Jeff Young
ca1fb732c8
Share Eagle var substitution between board and schematic importers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-15 22:27:19 +00:00
Jeff Young
f358749b28
Import copper pour cutouts from Eagle packages (footprints).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13503
2023-01-13 16:35:45 +00:00
Jon Evans
dd94b2d3a7
Rename PROPERTIES to STRING_UTF8_MAP for clarity
...
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Marek Roszko
e6ed275c25
Repoint IU_PER_MILS
2022-09-16 21:09:26 -04:00
Marek Roszko
a8613ee80f
Combine Iu2Millimeter & remove PcbMm2iu
2022-09-16 21:09:26 -04:00
Mark Roszko
b00178adb3
Nuke base_units from orbit
2022-09-16 04:38:10 +00:00
Jeff Young
5679b9dbdc
Remove a few EDA_RECT instances.
2022-08-31 01:22:49 +01:00
Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Wayne Stambaugh
c72457482c
Fix Eagle plugin footprint QA test issue.
...
Apparently mapping Eagle footprint layers to the KiCad Dwg_User
that were previously mapped to UNDEFINED_LAYER breaks the QA test
and causes the footprint editor to crash when opening Eagle
footprints. This means that the potential data loss issue when
loading Eagle footprints is still in play.
2022-08-22 09:11:30 -04:00
Wayne Stambaugh
0bc1188897
Fix Eagle plugin board layer mapping issue.
...
The Eagle plugin layers have to be mapped differently depending on
whether a board is being imported or a footprint library is being
cached. Footprint libraries can bypass the manual layer remapping
step that happens when importing a board.
Please note that when loading footprints in the footprint editor
and viewer, all layers that do not directly map to KiCad layers are
put on the Dwg_User layer so that there is data loss. Users will
have to manually remap objects to the correct layer as required.
This is less than ideal but until the footprint library table parser
supports prompting users to remap unknown layers, it will have to do.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11839
2022-08-21 14:56:04 -04:00
Seth Hillbrand
9828360759
Remove unused variable
2022-08-15 07:52:53 -07:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Seth Hillbrand
2ee65b2d83
Force removal of zero-sized pads on load.
...
Pads with zero width or height cause issues when rendering and
selecting. KiCad has never allowed these elements but hasn't prevented
importing systems where they exist. This prevents their import and
cleans existing designs where the pads are placed
Fixes https://gitlab.com/kicad/code/kicad/issues/12200
2022-08-13 19:10:48 -07:00
Jeff Young
4afca58ce7
Eagle octagonal pads are regular (~29% chamfered).
...
Also cleans up setting of KeepTopBottom (which is ignored unless
we're doing optional flahing -- which we're not for Eagle imports).
Fixes https://gitlab.com/kicad/code/kicad/issues/11664
2022-05-23 10:43:34 +01:00
Marek Roszko
88c7322a0d
EDA_TEXT Get/SetTextSize should use VECTOR2I
2022-05-14 08:16:15 -04:00
Jeff Young
a33e23e25a
Import radial dimensions from Eagle.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10763
2022-04-12 15:47:39 +01:00