Generate simple 3D models inside KiCad / support extruded outlines and footprint height property
Original report created by eelik (eelik)
This is a wishlist item which would require a change to the footprint file
format.
I would like to have an ability to add a simple parametrized box (or other
very simple object) as a 3D model for footprints. It would be an
alternative to the external 3d file. The parameters would be saved along
with the footprint.
The parameters would be: x, y, z dimensions and rounding (chamfer) radius
in each direction. Maybe also color. That would be enough for visualizing
the board roughly, either in the 3d view or in a step model for physical
dimensions.
This could be a huge space saver if someone doesn't want to download the 3d
models. It would also help when a model isn't available. It could also make
projects really standalone without 3d files if exact modeling isn't needed
but the 3d view still wanted.
2020-09-29 addition (JE):
We should support a few parametric model generators that will result in valid STEP export as well as 3D preview inside KiCad.
The easiest way to do this would be to take a closed shape (in the 2D editor) and convert it to a 3D model by an extrude operation. The user just has to draw the shape (rectangle, circle, or even some complex polygon) and specify the height to extrude by.
KiCad Version:
Application: Pcbnew
Version: (5.99.0-3657-gab033327c), debug build
Libraries:
wxWidgets 3.0.4
libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-47-generic x86_64, 64 bit, Little endian, wxGTK, ubuntu, x11
Build Info:
Date: Sep 29 2020 17:56:07
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.71.0
OCE: 6.9.1
Curl: 7.68.0
ngspice: 31
Compiler: GCC 9.3.0 with C++ ABI 1013
Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_SPICE=ON
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE=OFF
Edited by Jon Evans