B-repLer: Language-guided Editing of CAD Models

Yilin Liu1 Niladri Shekhar Dutt1 Changjian Li2 Niloy Mitra1,3

1University College London 2University of Edinburgh 3Adobe Research

Teaser figure: [short description]
Figure 1: We present B-rep Latent Editor (B-repLer), the first framework to perform generative CAD editing directly in the Boundary Representation (B-rep), without the need for the construction history. Our method can interpret high-level user instructions (in orange) to perform fine-grained modifications on B-rep models with complex and freeform geometries. By operating in the B-rep latent space, B-repLer generates a diverse set of valid B-rep edits from a single fixed input (left). It also supports multi-edit for complex freeform surfaces and functional descriptions, while preserving identities in unchanged areas (right).

Abstract

Computer-Aided Design (CAD) models, given their compactness and precision, remain the industry standard for designing and fabricating engineering objects. However, language-guided CAD editing is still in its infancy, largely due to missing semantic connection between user commands and underlying shape geometry, a problem exacerbated by the shortage of paired text-and-edit CAD datasets. While recent Multimodal Large Language Models (mLLMs) have attempted to bridge this gap, their reliance on CAD construction history -often an expensive and hard to obtain input- severely limits their expressiveness and restricts their usage.

We present B-repLer, a novel framework that directly connects natural language with editing CAD models by operating in a learned latent space. Importantly, our approach bypasses the need for construction history, enabling semantic edits on a wide range of geometries, from simple prismatic parts to complex freeform shapes defined by B-Spline surfaces. To facilitate this research, we introduce BrepEDIT-240K, the first large-scale dataset for this task. We demonstrate how this paired dataset can be automatically generated, (user) validated, and scaled by leveraging existing CAD tools, in conjunction with mLLMs, to create the required paired data without relying on any external annotations. Our results demonstrate that B-repLer can accurately perform complex edits on complex CAD shapes, even when the input edit specifications are high-level and ambiguous to interpret, consistently producing valid, high-quality CAD outputs enabling a class of text-guided edits not previously possible.

Method

Method overview figure

Figure 2: We process the input B-rep model and user prompt using a pre-trained mLLM and a B-rep encoder to extract visual, textual, and B-rep features. These features are fused by a transformer encoder. Subsequently, a decoder autoregressively attends to the fused features to produce a target embedding, which conditions a flow matching network to generate the edited B-rep CAD model.

Dataset

Dataset motivation figure

Figure 3: Existing datasets, such as CADEditor, are often limited by the sketch-and-extrude pipeline and typically contain only single-extrusion data sequences, resulting in limited data variety. In contrast, BrepEDIT-240K directly models the B-rep, thus supporting complex geometry, and providing rich, multi-level annotations.

Multi-edit results (interactable)

Prompt 1: Add an internal cave to the model

Prompt 2: Modify the top face for mounting purposes

Initial model

Edited model after prompt 1

Edited model after prompt 2

Results below are repeated from the paper for completeness and convenient reference.

Comparison and results

Figure 4: Top left: Randomly selected comparison samples from CAD-Editor testset. Top right: Challenging comparison samples from CAD-Editor testset. Bottom: Challenging samples from our BrepEDIT-240K testset.

More dataset samples 1

Figure 5: More samples from our BrepEDIT-240K dataset.

More dataset samples 2

Figure 6: More samples from our BrepEDIT-240K dataset.

More comparison

Figure 7: More comparison samples between our B-repLer and CAD-Editor.

More results 1

Figure 8: More results from our B-repLer method.

More results 2

Figure 9: More results from our B-repLer method.

More results 3

Figure 10: More results from our B-repLer method.