ghbalf/freecad-ai
AI-powered assistant workbench for FreeCAD — generate 3D models from natural language
What it solves
FreeCAD AI provides a natural language interface for 3D modeling in FreeCAD. It allows users to create complex 3D models, modify geometry, and manage assemblies by describing their goals in plain English rather than manually navigating the software's complex UI and Python API.
How it works
The project integrates a chat interface directly into FreeCAD as a workbench. It connects to various LLM providers (including local options like Ollama) to translate user descriptions into executable Python code. It operates in two primary modes:
- Plan Mode: The AI generates code which the user reviews and manually executes.
- Act Mode: The AI automatically executes operations using a library of 50+ structured tools (e.g.,
create_primitive,boolean_operation,fillet_edges) or falls back to raw code generation.
To improve reliability, it includes a sandbox for code validation, error self-correction (automatic retries on failure), and "Skills"—reusable instruction sets for specific tasks like creating gears or electronics enclosures.
Who it’s for
- FreeCAD users who want to speed up their modeling workflow.
- Beginners who find the FreeCAD Python API or UI daunting.
- Developers who want to extend FreeCAD's capabilities using custom AI-callable Python tools.
Highlights
- Broad Provider Support: Compatible with over 20 LLM providers including Anthropic, OpenAI, Gemini, and local Ollama instances.
- Structured Tooling: Uses 50+ pre-validated operations to reduce errors compared to raw code generation.
- Extensible Architecture: Supports user-defined Python tools and "Skills" for complex, repeatable tasks.
- Vision Integration: Supports viewport screenshots and image attachments to provide the AI with visual context of the model.
- Zero Dependencies: Built using only the Python standard library to simplify installation.