NURBGen: High-Fidelity Text-to-CAD Generation through LLM-Driven NURBS Modeling
Muhammad Usama, Mohammad Sadil Khan, Didier Stricker, Muhammad Zeshan Afzal
2025-11-11
Summary
This paper introduces a new system called NURBGen that can create detailed, editable 3D models from just a text description. It's a big step forward because most existing systems either create less useful model types or need a lot of existing design data to work well.
What's the problem?
Currently, turning natural language – like a sentence describing an object – into a usable 3D model is really hard. Existing methods often produce models that aren't easily modified (like simple meshes) or they require a large database of previous designs to learn from, which isn't always available. Creating precise, editable CAD models directly from text has been a major challenge.
What's the solution?
The researchers fine-tuned a powerful language model to translate text into a specific format (JSON) that contains all the information needed to build a 3D model using NURBS, a mathematical way to represent curves and surfaces. They also developed a clever way to combine NURBS with simpler shapes to handle complex parts more effectively and keep the instructions for the model concise. To help with this, they created a new dataset called partABC, which contains individual 3D parts with detailed descriptions.
Why it matters?
This work is important because it opens the door to easily creating custom 3D models just by describing what you want. This could be huge for designers, engineers, and anyone who needs to quickly prototype or visualize objects. The ability to generate high-quality, editable CAD models from text could significantly speed up the design process and make 3D modeling accessible to more people.
Abstract
Generating editable 3D CAD models from natural language remains challenging, as existing text-to-CAD systems either produce meshes or rely on scarce design-history data. We present NURBGen, the first framework to generate high-fidelity 3D CAD models directly from text using Non-Uniform Rational B-Splines (NURBS). To achieve this, we fine-tune a large language model (LLM) to translate free-form texts into JSON representations containing NURBS surface parameters (i.e, control points, knot vectors, degrees, and rational weights) which can be directly converted into BRep format using Python. We further propose a hybrid representation that combines untrimmed NURBS with analytic primitives to handle trimmed surfaces and degenerate regions more robustly, while reducing token complexity. Additionally, we introduce partABC, a curated subset of the ABC dataset consisting of individual CAD components, annotated with detailed captions using an automated annotation pipeline. NURBGen demonstrates strong performance on diverse prompts, surpassing prior methods in geometric fidelity and dimensional accuracy, as confirmed by expert evaluations. Code and dataset will be released publicly.