add Board Setup option to import Eagle .dru (design rules files)
Description
( Apologies in advance if this is already supported as part of the Eagle project import. If true, the issue simplifies to tying the import into the Board Setup dialog. )
Many PCB manufacturers use .dru files as an established format to share ready-to-use design rules for various board stack-ups. As the dialog already provides an import function to obtain board settings from another KiCad file, it would be attractive to be able to import manufacturer-provided .dru files as well.
The bottom left button could be converted into an "Import Settings..." button that opens a popup menu
- From Another Board (.kicad_pcb)
- From Eagle File (.dru)
- From Altium Script (.pas)
- ...
to import and apply rules as they match.
This would also be a good place to implement a split button, but I wouldn't count on that working so well with wxWidgets (see #5580 (closed) and https://stackoverflow.com/questions/37076881/push-dropdown-button-wxwidgets). Using a single button that's not owner-drawn + popup menu seems safer.
Edit: It seems a split button concept is already around and up for grabs in the Footprint Libraries dialog (PANEL_FP_LIB_TABLE
) - SPLIT_BUTTON
.
Steps to reproduce
.dru sample can be obtained from https://docs.oshpark.com/design-tools/eagle/design-rules-files/
KiCad Version
(5.99.0-3396-ge202dba3), release build
Application: KiCad
Version: (5.99.0-3396-ge202dba386), release build
Libraries:
wxWidgets 3.0.5
libcurl/7.71.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Sep 17 2020 21:06:25
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.73.0
OCE: 6.9.1
Curl: 7.71.0
ngspice: 32
Compiler: GCC 10.2.0 with C++ ABI 1014
Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=OFF
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_SPICE=ON