3D new library for Mechanical CAD exporting and enclosure design


Did they finally got back to you on that one?

No problem from my end.


Not really, but we can precede them :wink: (and in fact follow gEDA people)


My script is finished. I just send the pull request.
The current versions of my XH connectors can be found over at my repository.
I used GPL v2 (or newer) with the symbol exception from above.
Should this exception also be within the license file of the repo?


I merged your code… going to test it


if you mean the license for the scripts, I would stay on GPL2 for those; just the models would need this exception for an easy ECAD MCAD collaboration

I think that many kicad users and @kammutierspule would appreciate these nice rendering with material properties 3D models …

Thanx for contributing… :smiley:


With the merge of the new 3D plugin system into the KiCad main branch, you should now be able to view STEP models at least in the 3D browser preview - but due to various issues not yet fully resolved, the OCE-based STEP support is in a separate project:

To actually see the results in the 3D viewer you will need to use Mario’s branch:


I’ve added a feature in the 3D preview which renders a simplified model of the component footprint so that the user can align the model within the preview page, but that feature hasn’t been merged yet:


However, at the moment the only sensible way to produce a STEP assembly is to use Maurice’s StepUp tool. If you use Mario’s new 3D viewer branch, you will be able to assign STEP models rather than VRML models and forget about producing an intermediate VRML model. I’ll nag people to use Mario’s branch because we need more users trying it and giving feedback. When the time comes to propose a merge it will be good to have a lot of regular users posting on the comments about how they love the new viewer and want it in the main branch.

I also need people (devs) to test the 3D OCE plugin and some help ensuring that it installs and works on OSX and MSWin.


I’m a real noob when it comes to compiling/etc… any chance there is a simple step-by-step tutorial how to set this up or even more convenient (for me) a pre-compiled binary for windows? :blush:


I’ll ask our awesome volunteers if they can set up an automated build of Mario’s branch for OSX and MSWin. I’m sure there’s also a Linux build but I’m not sure which particular distro/release. Building the OCE plugin is a different matter though - I have to find specific devs to help out to get the project to a point where automated builds can be done. I have a sinking feeling that the automated builds will need to build OCE on OSX and MSWin (but not necessarily on linux).


Don’t stress it, I just asked this direction as I have not enough time to bughunt a compiling system/setup to get KiCAD working from source - at least not yet.
Unless you need a lot of testers for that/those branches I’d rather see you guys doing more worthwhile work :wink:


@Joan_Sparky I love that macro!
I made a subset of that just to create a preview of all my 3D models … it works like a charm :smiley:


I think I sat there and looked at mine for 15 min yesterday :wink:

OK, didn’t just look, I checked them over and picked the ones with wrong materials or other stuff…


Hi @Joan_Sparky … if you want @Rene_Poschl has added the VRML export with Material Properties also to my CadQuery scripts (I need to update some model generation)
with few material_substitutions calls
export_objects, used_color_keys = expVRML.determineColors(Gui, objs, material_substitutions)
the new WRL file with materials is created, small as latest, but with material props on …
you can have a look @ here:
you may consider to add shiny & realistic material properties also to your nice 3D models :smiley:
I made a list of 20 colors/materials as per Mario doc … I think they can be fine for most of 3D models
material_properties_names=[“as is”,“metal grey pins”,“gold pins”,“black body”,“resistor black body”,
“grey body”,“dark grey body”,“brown body”,“light brown body”,“blue body”,
“green body”,“orange body”,“red_body”,“pink body”,“yellow body”,“white body”,“light brown label”,
“led red”,“led green”,“led blue”, “led white”]


I’ll definitely have a look at it when I get time.
Need to figure out how to get this done automatically, or is it automated already?


yes, it is automated already
you only need to decide your color map association to the material added as per Mario doc


@maui, one doubt.
Since Kicad already has support to STEP models now, do we still need to generate VRML in order to use your StepUp tool ?


Well the step support is not added to the stable version of kicad.
I think it will take a quite some time until we can drop the support for vrml models in 3d libraries.


Hi @chrishawk
thx for using my StepUp tools :smiley:

Since STEP has been supported directly in Kicad, StepUp tools have implemented this feature too :slight_smile:
you don’t need anymore VRML model to convert your board and part to STEP if you are using kicad dev release or 5.0 (coming quite soon)
I would need to update a bit the User Manual :wink:
actual release is kicad_StepUp_tools_v3116

I still use VRML models to have all the Material properties features both in 3D viewer and in Blender when I export my models…
More of all, one option is really useful in VRML, the ability to have transparency in 3D viewer … that is useful for checking enclosures on the pcb board and parts…

just for completeness I’m summarizing what kicad StepUp tools are for:

  1. export kicad board and parts to STEP (or IGES) for a full ECAD MCAD integration
  2. convert your STEP model of parts, board, enclosure to VRML for a bidirectional use back in kicad
  3. ability to load directly the .kicad_mod footprint in FreeCAD to easy align the mechanical model to kicad footprint
  4. ability to load directly the .kicad_pcb board and parts in FreeCAD
  5. ‘bounding boxes’, ‘minimum volume’, ‘minimum heigh’, ‘drill size’, ‘blacklist’ and ‘virtual’ options to tailor your MCAD exporting
  6. interference and collisions detect for enclosure and footprint design
  7. exporting of VRML models with Material Properties for best result in 3D rendering/raytracing
  8. ability to create simple models in MCAD using boxes or cylinders with dimensions as in scale values of wrl models


  • kicad stable >= 4.0 or development release
  • FreeCAD stable >= 0.15 or development release
  • a library of STEP (or IGES) 3D models
  • each parts must be be a single 3D object (union of parts in FC)


  • never use a scale different from 1:1:1 in your 3D models
  • configure your [prefix3D] in ksu-config.ini to your KISYS3DMOD path
  • use STEP or IGES or VRML or mixed type of models in your board

for some ready to go libraries please refer to:

and other useful libs in up this thread :slight_smile:

I would consider to keep VRML support still if this format will not the only one supported, because with VRML it is possible to:

  1. improve 3D rendering/raytracing with material properties
  2. have transparency in 3D models (enabled or disabled it just toggle-ing material properties)



Hey Maurice, thanks for the explanations and for the excellent tool !


The latest kicad (dev) has completely rewritten VRML1/2/X3D parsers. I don’t know if anyone will improve these parsers to support more VRML features (these already support much more than the older parsers) but I don’t imagine VRML support will be dropped unless VRML becomes extinct in the future. Since the parsers are already written, there is little point in removing them.



Anyone knows where I can find SOT891 3d model ?



you could use this one:

and convert it with stepup
or perhaps generate your own using