productize / kicad-automation-scripts

A bunch of scripts to automate KiCad processes
Apache License 2.0
88 stars 46 forks source link

Plot generates more layers than those defined #6

Open cnieves1 opened 4 years ago

cnieves1 commented 4 years ago

Hi, I tried to generate a zip with gerbers of this board: test.zip

This board was generated using Kicad version:

Application: KiCad
Version: (5.1.4)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    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_USE_OCC=OFF
    KICAD_SPICE=ON

Using: python -m kicad-automation.pcbnew_automation.plot /c/Users/test/KBS-MB/test.kicad_pcb /c/Users/test/KBS-MB/Gerber

The output of this command is:

DEBUG:__main__:zip_gerbers
DEBUG:__main__:plotting layer F.Cu (0) to Gerber
DEBUG:__main__:plotting layer In1.Cu (1) to Gerber
DEBUG:__main__:plotting layer In2.Cu (2) to Gerber
DEBUG:__main__:plotting layer In3.Cu (3) to Gerber
DEBUG:__main__:plotting layer In4.Cu (4) to Gerber
DEBUG:__main__:plotting layer In5.Cu (5) to Gerber
DEBUG:__main__:plotting layer In6.Cu (6) to Gerber
DEBUG:__main__:plotting layer In7.Cu (7) to Gerber
DEBUG:__main__:plotting layer In8.Cu (8) to Gerber
DEBUG:__main__:plotting layer In9.Cu (9) to Gerber
DEBUG:__main__:plotting layer In10.Cu (10) to Gerber
DEBUG:__main__:plotting layer In11.Cu (11) to Gerber
DEBUG:__main__:plotting layer In12.Cu (12) to Gerber
DEBUG:__main__:plotting layer In13.Cu (13) to Gerber
DEBUG:__main__:plotting layer In14.Cu (14) to Gerber
DEBUG:__main__:plotting layer In15.Cu (15) to Gerber
DEBUG:__main__:plotting layer In16.Cu (16) to Gerber
DEBUG:__main__:plotting layer In17.Cu (17) to Gerber
DEBUG:__main__:plotting layer In18.Cu (18) to Gerber
DEBUG:__main__:plotting layer In19.Cu (19) to Gerber
DEBUG:__main__:plotting layer In20.Cu (20) to Gerber
DEBUG:__main__:plotting layer In21.Cu (21) to Gerber
DEBUG:__main__:plotting layer In22.Cu (22) to Gerber
DEBUG:__main__:plotting layer In23.Cu (23) to Gerber
DEBUG:__main__:plotting layer In24.Cu (24) to Gerber
DEBUG:__main__:plotting layer In25.Cu (25) to Gerber
DEBUG:__main__:plotting layer In26.Cu (26) to Gerber
DEBUG:__main__:plotting layer In27.Cu (27) to Gerber
DEBUG:__main__:plotting layer In28.Cu (28) to Gerber
DEBUG:__main__:plotting layer In29.Cu (29) to Gerber
DEBUG:__main__:plotting layer In30.Cu (30) to Gerber
DEBUG:__main__:plotting layer B.Cu (31) to Gerber
DEBUG:__main__:plotting layer F.Paste (35) to Gerber
DEBUG:__main__:plotting layer B.Paste (34) to Gerber
DEBUG:__main__:plotting layer F.SilkS (37) to Gerber
DEBUG:__main__:plotting layer B.SilkS (36) to Gerber
DEBUG:__main__:plotting layer F.Mask (39) to Gerber
DEBUG:__main__:plotting layer B.Mask (38) to Gerber
DEBUG:__main__:plotting layer Edge.Cuts (44) to Gerber
INFO:kicad-automation.pcbnew_automation.pcb_util:Plotting drill file

As you see, it generates 32 copper layers, but there are only 4 layers defined: imagen

How can I generate only the used copper layers of this board?

Another question: the generated zip file contains a folder called temp, with all gerber files inside it. Is there any option to change the name of this folder, or to not using a folder at all?

Thanks,

set-soft commented 4 years ago

For gerbers I'll suggest using kiplot: https://github.com/INTI-CMNB/kiplot You can control which layers are included using a YAML configuration file. To generate a PDF I'll suggest the following fork: https://github.com/INTI-CMNB/kicad-automation-scripts Note that the last release and the current git code changed the syntax.