AAAI 2026 · Text-to-CAD Generation

NURBGen
High-Fidelity Text-to-CAD Generation through LLM-Driven NURBS Modeling

The first framework to generate industry-standard NURBS surfaces directly from text prompts, producing editable, parametric CAD models convertible to STEP format.

1DFKI Kaiserslautern 2RPTU Kaiserslautern-Landau 3MindGarage
* Equally Contributing First Authors † Corresponding author
SCROLL

Welcome to NURBGen

K1
First NURBS-Based Text-to-CAD
First framework to generate industry-standard NURBS representations directly from text prompts using LLMs.
K2
partABC Dataset
300k part-level CAD models with NURBS annotations and automatically generated high-quality captions (~85% accuracy).
K3
Hybrid Representation
Combines untrimmed NURBS with analytic primitives — lines, arcs, circles — for geometric robustness and token efficiency.
K4
State-of-the-Art Performance
Surpasses all baselines with 64.1% human preference and lowest invalidity ratio of 0.018.

Architecture & Pipeline

A two-stage pipeline: data preparation with automated NURBS extraction and captioning, followed by LLM fine-tuning for structured CAD generation.

01
📐
NURBS Extraction

BRep models are normalized and converted to untrimmed NURBS via pythonOCC. Control points, knot vectors, degrees, and weights are extracted for each face.

🔤
02
Caption Generation

Multi-view renders (6 viewpoints) fed into InternVL3-13B with geometric metadata guidance: dimensions, holes, volume, surface area — producing shape-centric captions.

🧠
03
LLM Fine-tuning

Qwen3-4B fine-tuned with LoRA (rank 64, α=128) on 180k steps across 4×H200 GPUs. Maps text captions to structured JSON NURBS representations.

NURBGen Architecture Pipeline
[ architecture-diagram.jpg ]
Figure 2: Overview of partABC dataset, data preparation and fine-tuning pipeline.

Hybrid Representation

Not all surfaces can be robustly represented by untrimmed NURBS. Thin regions around holes or fillets often introduce geometric artifacts. We detect degenerate faces using Chamfer Distance comparison (CD ≤ ε, where ε = 6×10⁻⁴) and fall back to analytic primitives.

70%
NURBS surfaces
30%
Analytic primitives
Analytic primitives include:
Geom_Circle Geom_Line Geom_BSpline Geom_Arc Geom_Ellipse
NURBS face representation (JSON)
// Face encoded as NURBS surface { "face_0": { "poles": [[[0.1285, 0.9999, 0.4857]...]], "u_knots": [1.5707, 3.1415, 4.7123], "v_knots": [-0.1714, 0.1428], "u_mults": [3, 2, 3], "v_mults": [2, 2], "u_degree": 2, "v_degree": 1, "weights": [[1.0, 2]...] }, // Degenerate face → analytic fallback "face_1": { "type": "Geom_Circle", "center": [0.282, 0.083, 0.416], "radius": 0.051984, "normal": [-1.0, 0.0, 0.0] } }
Model
Qwen3-4B + LoRA
rank 64, α=128
Training
180k steps
4×H200 GPUs · 3 days
Context Window
8192 / 14k tokens
train / inference
Throughput
~800 tokens/s
NVIDIA RTX 3090
Optimizer
AdamW
lr=5×10⁻⁵, linear warm-up

Performance Results

NURBGen significantly outperforms all baselines in both geometric fidelity and visual alignment with text prompts.

64.1%
Human Preference
(Top-1)
User eval · 1k samples
61.6%
GPT-4o Preference
(5k samples)
Multi-view comparison
0.018
Invalidity Ratio
(Lowest)
Valid BRep structures
4.43
Chamfer Distance
(×10²)
8192-pt normalized

Human Preference Study (%)

5 CAD designers chose the best reconstruction per prompt. Higher is better.

NURBGen
64.1%
Text2CAD
26.1%
DeepCAD
5.6%
GPT-4o
1.5%
Method User (1k) ↑ GPT-4o ↑
Undecided 2.7 3.2
GPT-4o 1.5 1.9
DeepCAD 5.6 6.1
Text2CAD 26.1 27.2
NURBGen (Ours) SOTA 64.1 61.6
↑ Higher is better. Human evaluation: 5 CAD designers via majority vote on 1k samples. GPT-4o: 2×2 multi-view grid evaluation on 5k samples.
Method IR ↓ CD ↓ HD ↓ JSD ↓ MMD ↓
GPT-4o 0.17 7.20 0.36 72.87 4.17
DeepCAD 0.32 10.28 0.45 89.77 4.43
Text2CAD 0.05 9.66 0.42 85.27 4.54
NURBGen (Ours) SOTA 0.018 4.43 0.25 57.94 2.14
CD, JSD, MMD multiplied by 10². ↓ Lower is better. Evaluated on 7,500 test samples using 8,192 uniformly sampled points normalized to unit cube. IR: Invalidity Ratio, CD: Chamfer Distance, HD: Hausdorff Distance, JSD: Jensen-Shannon Divergence, MMD: Maximum Mean Discrepancy.

The partABC Dataset

A large-scale curated dataset of 300k part-level CAD models with NURBS annotations and high-quality automatically generated captions.

300k Part Models
~85% Caption Accuracy
3 Complexity Tiers

Derived from the ABC dataset (1M CAD models), we decompose assembly-level designs into individual part-level components using PythonOCC, generating 3M instances. A complexity-aware filtering strategy retains 300k geometrically diverse parts.

COMPLEXITY DISTRIBUTION
Simple
10%
Moderate
50%
Complex
40%
Annotation Pipeline
01 4 orthographic renders (512×512) via Blender + Freestyle edges
02 Metadata extraction: dimensions, volume, surface area, hole count via Euler characteristic
03 InternVL3-13B generates shape-centric captions with precise geometric details
partABC caption examples
[ caption.png ]
Figure 5: Sample captions generated by our automated annotation pipeline using InternVL3-13B.

Generated CAD Models

High-fidelity 3D CAD models generated by NURBGen from text descriptions, converted to industry-standard BRep format.

Socket head cap screw
TEXT PROMPT Socket head cap screw with a large countersunk washer. Features a hexagonal socket drive and a cylindrical threaded shank. Dimensions: length 92.96 mm, width 79.38 mm, height 43.66 mm. Ensure smooth curvature at transitions.
Rectangular plate
TEXT PROMPT Design a rectangular plate with dimensions 330.20 mm x 233.40 mm x 6.00 mm. Include two square through-holes near each end.
Cylindrical bushing
TEXT PROMPT Cylindrical bushing with flanges on both ends, featuring a central hollow bore. Symmetrical geometry, suitable for insertion, guiding, or alignment in mechanical assemblies.
Spherical object
TEXT PROMPT A spherical object with subtle indentations on its surface, exhibiting uniform dimensions of 2.33 mm in length, width, and height. The sphere has minor linear markings near the base.

Qualitative Comparison

NURBGen consistently produces more detailed, structurally coherent results with fewer geometric artifacts than all baselines.

Qualitative comparison of generated CAD models

Qualitative Comparison with Baselines.

Citation

@inproceedings{usama2025nurbgen,
title = {NURBGen: High-Fidelity Text-to-CAD Generation through LLM-Driven NURBS Modeling},
author = {Usama, Muhammad and Khan, Mohammad Sadil and Stricker, Didier and Afzal, Muhammad Zeshan},
booktitle= {AAAI},
year = {2026} }