Making a good assembly drawing for hand soldering out of the KiCAD PCBNew

Wow this looks awesome considering it’s automated by the software.
realy why not integrate it to kicad?

And yeah sore for bringing this dead cat from the grave.

Installing NumPy is problematic in KiCad python because a “normal” install of NumPy requires compilation. Users would have to set up the ability to compile C++ I.e. using mingw). There are pre -compiled versions of NumPy that are supposed to work, but I have been unable to get them installed on Windows.

I’d love for NumPy to be installed with KiCad python by default for DRC purposes (see KiPadCheck).

This tool might be able to be refactored for use with hand-written SVG overlay output so that additional python libraries are not needed.

seems more documentation tools would benefit from a modified SVG-Export :slight_smile:
at group-g-elements-by-netlist-in-plotted-svg
and also at proof-of-concept-web-based-svg-design-viewer
this was discussed…

Is someone here that has time to look into this :wink: :wink:
or i have to find the time to have a look at how hard it is to get into kicad modifications myself :astonished:
but this will take time… :wink:

sunny greetings stefan

For installing NumPy has anyone tried something like https://www.scipy.org/install.html ?

I took the presence of NumPy for granted, but if this gives Windows users too much of a headache we could just remove this dependency. I didn’t use it for technical reasons (like computation time or storage), I just like using NumPy for more convenient linear algebra coding.

I’m kind of astonished though that nobody talked about the elephant in the room, the dependency on matplotlib for doing the drawing :D.

The idea of putting everything in the browser is interesting of course. Instead of emitting complete graphics, just export a baseline SVG of the layout plus some overlay SVGs or even the JSONified data for creating the part highlighting via JS within the browser directly.

I personally preferred my PDF solution though because in that specific situation I wanted printed pages in front of me for assembly.

2 Likes

hi @pwuertz
I just tried your script with the nightly kicad and got the dreaded gettattr error on line 69. Would this be difficult to fix for the latest builds?

I currently don’t have a running Kicad installation, from what I read Kicad is incompatible with Ubuntu 18.04. Also I switched away from Python 2 and Kicad is still in the transition to Python 3.

But if someone is able to point out which API attribute changed I’d be happy to patch the script.

Just tried this on Ubuntu 18.04.1 with rc2 with python2 and it works perfectly
I will try with the latest nightly and see what happens

Application: kicad
Version: 5.0.0-rc2-be01b52~65~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.1.0g zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-23-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
Boost: 1.65.1
OpenCASCADE Community Edition: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.3.0 with C++ ABI 1011

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_WXPYTHON=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

Edit:
Latest nightly works fine

Application: kicad
Version: 5.0.0-rc3-6a2723a~65~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.1.0g zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-23-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
Boost: 1.65.1
OpenCASCADE Community Edition: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.3.0 with C++ ABI 1011

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_WXPYTHON=OFF
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

Indeed. I also just tried Kicad 5 from https://launchpad.net/~js-reynaud/+archive/ubuntu/kicad-5. Everything seems to be fine.

(Be aware, Matplotlib is dropping Python2 support soon)

I’ve seen the future :wink: :
https://forum.kicad.info/t/interactive-html-bom-plugin-for-kicad-5-0

1 Like

Nice.
I have this feature request https://bugs.launchpad.net/kicad/+bug/1729060
and your script appear to cover this.

Haha, I just saw this and I’m impressed :slight_smile:
That said, I already had this plugin for months before your prediction, just didn’t publish it.

1 Like