Skip to content
alf edited this page Mar 30, 2026 · 21 revisions

FreeCAD AI -- AI-Powered 3D Modeling Assistant

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.

FreeCAD AI workbench overview

Key Features

  • 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 (.py or .FCMacro)
  • MCP integration -- connect external Model Context Protocol servers to extend available tools
  • Zero external dependencies -- uses only Python stdlib (urllib, json, threading, ssl)

Quick Start

  1. Installation -- clone or symlink the repo into FreeCAD's Mod directory
  2. Configuration -- select a provider, enter your API key, test the connection
  3. 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).

Supported Providers

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

Tutorials

See Tutorials for the full list.

License

LGPL-2.1

Clone this wiki locally