CAD Modeling Through Conversation: A Hands-On Guide to Zhejiang University's Open-Source CADDesigner
Type one sentence or sketch an outline and CADDesigner generates the 3D model. Zhejiang University's open-source LLM-driven CAD agent, with a workflow guide and pitfalls to avoid.


CAD Modeling Through Conversation: A Hands-On Guide to Zhejiang University's Open-Source CADDesigner
Type one sentence or sketch an outline and CADDesigner generates the 3D model. Zhejiang University's open-source LLM-driven CAD agent, with a workflow guide and pitfalls to avoid.
Traditional CAD modeling means learning professional software like SolidWorks or AutoCAD, and memorizing the command paths for "extrude, revolve, sweep, loft" alone can take months. CADDesigner, open-sourced by researcher Du Peng's team at Zhejiang University, reduces all of that to a single chat message — you describe the model you want, or jot down a rough sketch, and the agent generates the 3D CAD model for you. This guide explains what it is, how to use it, and which scenarios you can put it to work in right away.
What CADDesigner Is
CADDesigner is an LLM-based CAD conceptual design agent, open-sourced by Zhejiang University's State Key Laboratory of CAD & CG.
Its core positioning is turning "modeling" from "operating commands" into "describing intent":
- Input: a single natural-language description ("make a round table with four cylindrical legs") or a hand-drawn sketch
- Output: a 3D model that imports directly into mainstream CAD software, complex assemblies included
The key innovation is the team's ECIP (Explicit Context Imperative Paradigm). You can think of it as handing the LLM an "idiot-proof operations manual" — it gives the model a clear rulebook when generating CAD modeling scripts, so it guesses less, takes fewer detours, and makes fewer mistakes, translating your design intent into reliable geometric modeling results.

CADDesigner wraps the professional command path of "extrude → revolve → sweep" into scripts that an LLM can generate reliably, dropping the modeling barrier from "learn the software" to "be able to type."
Core Capabilities
Natural-language-driven modeling
The most direct capability is text-to-CAD. You only need to describe the model's structure, for example:
"Generate an L-shaped bracket, 100mm long, 60mm wide, 10mm thick, with a mounting hole 8mm in diameter on each end face."
CADDesigner first understands your design intent, then uses the ECIP paradigm to generate the corresponding modeling script (sketch → profile → extrude → drill holes) and finally outputs the geometric model.
This approach is more reliable than simply asking an LLM to "generate a piece of OpenSCAD code," because ECIP structures the modeling process — every step has explicit context, so the model doesn't go off track over ambiguous commands.
Sketch input
Beyond text, CADDesigner also supports sketch input. Draw a rough outline and the agent recognizes the shapes and completes them into a parametric model.
According to the team's comparison in the paper, vectorized sketch input is clearly superior to pixel input — the vector approach is like reading the drawing's "source code" directly, while the pixel approach is like trying to understand a precision drawing through a blurry photo.
Multi-agent collaboration for complex assemblies
CADDesigner is internally a multi-agent architecture. When handling complex assemblies, different sub-agents take on:
- Structure decomposition (splitting the whole machine into parts)
- Single-part modeling
- Assembly-relationship reasoning (hole alignment, mating fits)
- Consistency verification
This division of labor lets it output stable results even on multi-part models like gearboxes and linkages.
How to Use It: Getting Started
Step 1: Get the code and paper
CADDesigner is open source. Core resources:
- Paper (arXiv):
CADDesigner: Conceptual Design of CAD Models Based on LLMs, number 2508.01031 - Author homepage: https://dupengtomas.github.io/ (includes the project link CADDesigner-Code)
- Contact email: dp@zju.edu.cn
Note: for the open-source repository, follow the CADDesigner-Code link shown on the author's homepage and in the paper, so you don't clone an unrelated project with a similar name.
Step 2: Prepare the environment
Typical dependencies (defer to the official README; here is the expected list):
- Python 3.9+
- OpenSCAD or FreeCAD as the backend geometry engine
- An LLM interface (the open-source build usually hooks up locally deployable models such as Qwen / DeepSeek)
For exact version requirements, defer to the repository README; installing inside a conda virtual environment is recommended to avoid polluting your system Python.
Step 3: Run a minimal example
The most common onboarding flow:
- Write a one-line design description (Chinese or English both work; test in English first, then switch)
- Call the agent to generate the ECIP script
- Export to STEP / STL / OpenSCAD files
- Open and verify in FreeCAD or an online viewer
Input: "a round table with four cylindrical legs, top diameter 80mm, height 75mm"
Output: table.step (imports directly into FreeCAD/SolidWorks)Step 4: Verify the geometry
For every generated model, do two things:
- Mesh check: use FreeCAD's Part Check Geometry to confirm there are no non-manifold edges or self-intersecting faces
- Dimension recheck: ECIP is stable, but an LLM occasionally reads "diameter 80mm" as "radius 80mm" — build the habit of cross-checking against your original description

Tip: for sketch input, use clean single-color lines and avoid shadows and noise; it noticeably improves recognition accuracy.
Best-Fit Scenarios
| Scenario | Recommended? | Notes |
|---|---|---|
| Rapid prototyping at the concept-design stage | Strongly recommended | CADDesigner's sweet spot; concepts in minutes |
| Teaching / training demos | Strongly recommended | Helps newcomers grasp that "modeling = sketch + features" |
| Standard parts / common structures | Recommended | L-shaped brackets, flanges, gear blanks, and the like |
| High-precision engineering drawings | With caution | Tolerances still need refining in professional CAD |
| Free-form / organic shapes | Not recommended | Current version has limited NURBS surface support |
Common Issues
- Generated model has wrong dimensions: check whether the LLM confused "diameter/radius" or "length/width"; when describing, write it explicitly as "diameter 80mm (not radius)."
- Complex assembly generation fails: split the machine into 2-3 sub-assemblies, generate them in batches, then assemble manually.
- Chinese descriptions perform poorly: run the flow in English first, confirm the environment is fine, then switch to Chinese; some LLM backends handle Chinese CAD terminology weakly.
- Can't find the official repository: follow the CADDesigner-Code link on the author's homepage at https://dupengtomas.github.io/ and don't trust third-party mirrors.
Related Links
- Author homepage: https://dupengtomas.github.io/
- Paper on arXiv: https://arxiv.org/html/2508.01031v1
- State Key Laboratory of CAD & CG, Zhejiang University