FreeCAD Jupyter Integration
Google Summer of Code 2020

Interactive demo showing real-time manipulation of FreeCAD objects within Jupyter, including face and edge index visualization crucial for notebook-based scripting.
Overview
The FreeCAD Jupyter Integration project enables designers and engineers to interact with FreeCAD's powerful CAD capabilities directly within Jupyter Notebooks. Originally inspired by creating a parametric lamp design, this implementation allows for real-time 3D visualization and parameter manipulation without launching the full desktop application, making CAD design more accessible and programmable. Read the full project story and technical details here Key Features:
- Real-time 3D visualization of FreeCAD objects in Jupyter Notebooks
- Interactive parameter manipulation through Python scripting
- WebGL-based rendering using pythreejs
- Face and edge index visualization for precise scripting
- Seamless integration with FreeCAD's Python API
Technical Details
The project bridges Coin3D scene graph with WebGL rendering through pythreejs, a Jupyter widget implementation of Three.js. This enables high-performance 3D visualization directly in the browser while maintaining access to FreeCAD's parametric design capabilities.
- Coin3D scene graph extraction via pivy
- WebGL rendering through pythreejs
- Python-based widget implementation
- FreeCAD Python API integration
- Interactive UI components