Become a sponsor to Bernhard
Advanced 3D Code-CAD Visualization
I'm an experienced software developer and IT architect, and for the last 10 years I've been building an ecosystem for Code-CAD visualisation in my free time. My projects help developers by providing professional-grade 3D visualisation in their favourite development environments.
What I’m Building
I am building a 3D CAD Visualization Ecosystem centered around a feature-rich JavaScript-based 3D viewer. The ecosystem provides integrated development environments running under Windows, MacOS, and Linux:
- VS Code - integrated IDE for Code-CAD with visual debugging capabilities.
- JupyterLab: Interactive widget for 3D CAD model visualization for data scientists and engineers.
In addition, the standalone Web Viewer allows to use the editor or IDE of your choice.
Why This Matters
Code-CAD is transforming how engineers approach design problems. Instead of clicking through GUI menus, engineers can write code that precisely describes their intent. This approach enables version control, automated testing, robust parametric Design, fast exploration of design variations, ...
However, without proper visualization tools, Code-CAD remains inaccessible to many engineers. My ecosystem removes this barrier by providing professional-grade visualization that works seamlessly with modern development tools.
The Technical Foundation
At the core is three-cad-viewer, a specialized three.js-based component that handles the complex logic of CAD visualization. Unlike general-purpose 3D viewers, it understands the topology and precision requirements of engineering models. The viewer handles everything from simple geometric primitives to complex assemblies with thousands of components.
The tessellation library ocp-tessellate provides the crucial bridge between precise mathematical CAD representations as provided by OCP on top of OCCT and the mesh-based world of the viewer's web graphics. This enables viewing and analysing of CAD models directly in web browsers without losing precision or detail.
My work currently directly supports two major open-source Code-CAD frameworks:
- build123d - A modern, pythonic approach to programmatic CAD design
- CadQuery - A python parametric CAD scripting framework based on OCCT
and is tightly integrated into
- VS Code as an extension (OCP CAD Viewer)
- JupyterLab as a ipywidget (Jupyter CadQuery)
Sponsorship
I love working on these open-source projects. The positive feedback from developers and engineers using my tools to solve real problems makes the countless hours of development worthwhile.
However, if you find value in this work - whether you’re using the tools directly, or building on top of them - your sponsorship would be highly welcome: it will ensure that these projects continue to evolve and improve over time, and will definitely help me stay motivated to add new features, such as (without any particular priority):
- Support for other IDEs and editors, e.g. bring visual debugging to them
- Support more file formats, e.g. add gltf support to three-cad-viewer
- Provide comprehensive documentation and tutorial videos
- Improve performance of every single component
- Make the Viewer GUI and the Python ecosystem work better together
- Integration of the low-level animation system with a physics engine
- ...
Featured work
-
bernhard-42/jupyter-cadquery
An extension to render cadquery objects in JupyterLab via pythreejs
Python 382 -
bernhard-42/three-cad-viewer
A CAD viewer component based on three.js
JavaScript 318 -
bernhard-42/vscode-ocp-cad-viewer
A viewer for OCP based Code-CAD (CadQuery, build123d) integrated into VS Code
Python 247