The KiCad 2024 Fund Drive surpassed all expectations!
Thank you to all who donated. Read More
$100,000+
donated
$100,000 TOTAL

New 3DViewer

After almost 15 months in development and testing, the new 3DViewer developed by Mario Luzeiro has been merged with the product branch in revision 6985 http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/revision/6985 and has since been available in the nightly builds of KiCad.

This viewer was written entirely from scratch and takes advantage of the 3D plugin system to provide visualization of all 3D model formats supported by available 3D plugins.

Features include:

  • Two new render targets: OpenGL (GPU accelerated), and ray tracing with post-processing effects.

  • Takes full advantage of the new 3D plugins system - easier path search and file assignment using environment variables.

  • 3D model cache - fast 3D models loading.

  • Faster board loading.

  • The new OpenGL render is faster than the old one, specially while moving the board - a noticeable feature if you are still using an old GPU.

  • New 3D plugins available: WRL, X3D, IDF.

  • STEP and IGES support is available via the kicad_oce_3D plugin https://github.com/cbernardo/kicad_oce_3D. This brings KiCad one step closer to built-in MCAD export. UPDATE: This plugin has been merged into kicad.

  • Preview of 3D model while browsing the 3D file. See figure 1.

  • 3D preview of the footprint while adding / aligning 3D shapes - provides a real-time feedback on adjusting the values. See figure 2.

  • Render of 3D models according to attributes: Normal, Normal+Insert, Virtual. - Useful if you want to individually show / hide THT or SMD footprints or (as and example) mechanical shapes (eg: enclosures).

  • Pivot rotation centered in one point over the PCB board. See figure 3.

  • Animated camera while moving and rotating.

KiCad may be the first EDA tool to have an embedded ray tracing render engine. Ray tracing is a physical based and mathematical render method. Instead of using triangle approximations for rendering the elements of the board it will use the true mathematically defined elements; as an example it will render a hole by subtracting a perfect cylinder, or it can render a via using a perfect cylindrical ring. The ray tracing algorithm provides shadows, reflections and refractions. Additionally there is a post-processing shader to add an effect of ambient occlusion and global illumination. See the figures 4 to 8.


Model shown in the 3D model file selector in KiCad
Figure 1. Model shown in the 3D model file selector in KiCad

The footprint 3D properties dialog now with the new 3D previewer. Also including the preview of the footprint to assist in alignment.
Figure 2. The footprint 3D properties dialog now with the new 3D previewer. Also including the preview of the footprint to assist in alignment.

Marker for the setpoint of the pivot point used for the rotation center by pressing spacebar.
Figure 3. Marker for the setpoint of the pivot point used for the rotation center by pressing spacebar.

Image rendered with the ray tracer.
Figure 4. Image rendered with the ray tracer.

Image rendered with the ray tracer.
Figure 5. Image rendered with the ray tracer.

Image rendered with the ray tracer.
Figure 6. Image rendered with the ray tracer.

Image rendered with the ray tracer.
Figure 7. Image rendered with the ray tracer.

Image rendered with the ray tracer.
Figure 8. Image rendered with the ray tracer.



See Also

In Development: 3D Plugins
2016-04-08

Seasoned KiCad users are familiar with the venerable 3DViewer tool which has traditionally been used to help verify design by visual inspection and to create images of what a project may look like when it is finished. Historically the 3DViewer could only process a very limited implementation of the VRML2 (aka VRML97) specification as produced by the Wings3D modeler. In the past two years various developers contributed support for VRML1 and a very limited implementation of X3D, which improved the support for VRML generated by FreeCAD.

July and August 2015 Development Summary
2015-09-07

In the spirit of providing insight on KiCad’s development, this report covers some of the development work within July and August. There are many patches that have been applied and this post will only summarize some of them, this is in no way meant to discourage small patches). Stable release Work continues towards a "stable" release for 2015. It is taking longer than desired to reach a "stable" point however many developers do this in their limited spare time.