-
Notifications
You must be signed in to change notification settings - Fork 68
Home
alf edited this page Mar 30, 2026
·
21 revisions
Alpha software -- this project is in early development. Expect rough edges, breaking changes, and the occasional FreeCAD crash from LLM-generated code. Save your work frequently.
FreeCAD AI is a workbench that adds an AI chat assistant to FreeCAD. Describe what you want to build in plain language and the assistant creates 3D models using structured tool calls or generated Python code. It supports multiple LLM providers, reusable skills, and project-level instructions -- all with zero external Python dependencies.

- Chat interface -- dock widget with streaming LLM responses
- Plan / Act modes -- review generated code before execution (Plan) or let the assistant execute automatically (Act)
- 37 built-in tools -- structured FreeCAD operations (sketch, pad, pocket, revolve, loft, sweep, fillet, chamfer, shell, patterns, mirror, boolean, viewport control, etc.) wrapped in undo transactions
-
6 built-in skills -- reusable instruction sets the model invokes autonomously or via
/command(enclosure, gear, fastener holes, thread inserts, lattice, skill-creator) -
Skill optimizer -- iteratively improve skill instructions via test-evaluate-modify loop (
/optimize-skill) - Hooks -- user-defined Python hooks for lifecycle events (block tools, modify input, log activity)
- Thinking mode -- enable LLM reasoning chains (Off / On / Extended) for complex multi-step tasks
- Context compacting -- automatically summarizes older messages when approaching context limits, with configurable context window size
- Session resume -- conversations auto-save; reload any of the last 20 sessions
- 20+ LLM providers -- Ollama, Anthropic, OpenAI, Gemini, OpenRouter, and 15 more (see table below), plus any OpenAI-compatible endpoint
- Dark mode -- chat widget automatically adapts to FreeCAD's light/dark theme (theme changes require FreeCAD restart)
- Vision routing -- auto-detects LLM vision capability; non-vision models use MCP fallback
- Image support -- attach viewport screenshots and images to chat messages (capture, attach, drag-drop, paste)
- AGENTS.md support -- project-level instructions with include directives and variable substitution
-
User extension tools -- register your own Python functions as LLM-callable tools (
.pyor.FCMacro) - MCP integration -- connect external Model Context Protocol servers to extend available tools
-
Zero external dependencies -- uses only Python stdlib (
urllib,json,threading,ssl)
- Installation -- clone or symlink the repo into FreeCAD's Mod directory
- Configuration -- select a provider, enter your API key, test the connection
- Getting Started -- open the chat panel and build your first model
Requires FreeCAD 1.0+ and an LLM provider (local Ollama or a cloud API key).
| Provider | API Key | Notes |
|---|---|---|
| Ollama | No | Local models, default http://localhost:11434
|
| Anthropic | Yes | Claude models via native API |
| OpenAI | Yes | GPT models |
| Gemini | Yes | Google AI via OpenAI-compatible endpoint |
| OpenRouter | Yes | Multi-provider gateway |
| Moonshot | Yes | Kimi models (temperature locked) |
| DeepSeek | Yes | DeepSeek-V3 |
| Qwen | Yes | Alibaba DashScope (international) |
| Groq | Yes | Ultra-fast inference |
| Mistral | Yes | Mistral models |
| Together | Yes | Open model hosting |
| Fireworks | Yes | Fast inference |
| xAI | Yes | Grok models |
| Cohere | Yes | Command models |
| SambaNova | Yes | Fast inference |
| MiniMax | Yes | MiniMax models |
| Llama | Yes | Meta's official Llama API |
| GitHub | Yes (PAT) | GitHub Models marketplace |
| HuggingFace | Yes (hf_...) |
Serverless inference API |
| Zhipu | Yes | GLM models (z.ai international) |
| Custom | Varies | Any OpenAI-compatible endpoint |
- Tutorial: Simple Box -- create a parametric box from scratch (beginner)
- Tutorial: Enclosure -- build an electronics enclosure with lid and snap-fit (intermediate)
- Tutorial: Gear -- generate an involute spur gear (intermediate)
See Tutorials for the full list.