FreeCAD Jupyter Integration
Google Summer of Code 2020
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