Skip to content

MiCADangelo: Fine-Grained Reconstruction of Constrained CAD Models from 3D Scans

Conference: NeurIPS 2025 arXiv: 2510.23429
Code: None
Area: Other Keywords: CAD reverse engineering, sketch constraints, cross-sectional slicing, differentiable extrusion optimization, parametric modeling

TL;DR

MiCADangelo emulates the reverse engineering workflow of human CAD designers: it extracts 2D patterns via multi-plane cross-section analysis, predicts constrained parametric sketches, and optimizes extrusion parameters, achieving for the first time complete parametric model reconstruction with sketch constraints in 3D CAD reverse engineering.

Background & Motivation

CAD reverse engineeringโ€”converting 3D scans (meshes) into parametric CAD modelsโ€”is a critical step in manufacturing and product development. Existing deep learning methods fall into two categories, each with notable shortcomings:

Bottom-up methods (e.g., Point2Cyl): Starting from geometry to predict individual extrusion solids, preserving local detail, but producing outputs that are not fully parametric and cannot be seamlessly integrated into CAD software.

Top-down methods (e.g., CAD-SIGNet): Directly predicting sketch-extrusion sequence parameters from point clouds, yielding fully parametric outputs, but often dominated by large-scale structures at the expense of fine-grained geometric detail.

More critically, existing methods entirely ignore sketch constraints (e.g., parallel, perpendicular, tangent), which are central to CAD modelingโ€”they encode design intent and govern how a model responds to edits.

The authors observe that human designers perform reverse engineering by: extracting 2D cross-sections โ†’ reconstructing profiles with parametric curves and applying constraints โ†’ extruding into 3D solids. MiCADangelo automates this process.

Method

Overall Architecture

Given an input 3D mesh \(\mathbf{M}\), MiCADangelo executes three sequential stages: 1. Sketch plane detection: Uniformly sampled cross-sectional planes along the x/y/z axes to identify key cross-sections. 2. Constrained sketch parametrization: Predicting parametric sketch primitives and constraints for closed loops within key cross-sections. 3. Differentiable extrusion optimization: Optimizing extrusion parameters per sketch to best fit the input mesh.

Key Designs

  1. Sketch plane detection network: \(N\) equally spaced planes are sampled along each of the three axes (default: 40 per axis), yielding cross-sectional slices \(\{\mathcal{S}_i\}_{i=1}^N\). Each slice is projected into a binary image \(\mathbf{X}_i \in \{0,1\}^{128 \times 128}\), encoded via a ResNet34 backbone, augmented with three context embeddings (position index, axis identity, normalized parameters), and passed through a 4-layer 4-head Transformer encoder for global interaction. A binary classifier then predicts whether each slice constitutes a key sketch plane.

  2. Constrained sketch parametrization network: Each closed loop in a key cross-section is rendered as a binary image, encoded by ResNet34, and passed into a Transformer encoder-decoder that predicts embeddings for \(n_p\) sketch primitives. Two prediction heads follow:

    • Parametrization head: Predicts primitive type (line segment / circle / arc) and geometric parameters (endpoints, center, radius, etc.).
    • Constraint prediction head: Predicts 13 constraint types between primitive pairs (coincident, concentric, equal, horizontal, vertical, parallel, perpendicular, tangent, etc.).

The network operates in a quantized space, pre-trained on the SketchGraphs dataset and fine-tuned on synthetic noisy closed-loop images.

  1. Differentiable extrusion optimization: For each sketch \(\mathcal{K}_j\), anchor points \(\{\mathbf{r}_k\}\) are sampled along the loop boundary, and a shared learnable extrusion length \(h_j\) generates extrusion vectors \(\rho_k = \mathbf{r}_k + h_j \mathbf{v}_j\). Points \(\mathcal{Q}\) sampled on the mesh minimize the distance to the nearest extrusion vector: $\(\mathcal{L}_{extr} = \frac{1}{n_M} \sum_{l=1}^{n_M} d(\mathbf{q}_l, \rho_{min})^2 + \lambda \sum_{i,j} h_j^2\)$ Extrusion type (add/cut) is determined by the nesting level of the loop (outermost = add, alternating thereafter).

Loss & Training

  • Sketch plane detection: Binary cross-entropy loss, trained for 20 epochs on the DeepCAD training set, learning rate \(10^{-4}\).
  • Sketch parametrization: Pre-trained on SketchGraphs, fine-tuned for 50 epochs on synthetic noisy closed-loop images.
  • Extrusion optimization: 200 gradient descent iterations, learning rate \(2 \times 10^{-4}\).
  • Both networks share a ResNet34 encoder, first trained with the parametrization network, then fine-tuned during plane detection training.
  • Optimizer: AdamW.

Key Experimental Results

Main Results (DeepCAD & Fusion360)

Method DeepCAD CDโ†“ DeepCAD IoUโ†‘ DeepCAD IRโ†“ DeepCAD ECDโ†“ Fusion360 CDโ†“ Fusion360 IoUโ†‘ Fusion360 IRโ†“ Fusion360 ECDโ†“
DeepCAD 9.64 46.7 7.1 โ€” 89.2 39.9 25.2 โ€”
Point2Cyl 4.27 73.8 3.9 โ€” 4.18 67.5 3.2 โ€”
CAD-Diffuser 3.02 74.3 1.5 โ€” 3.85 63.2 1.7 โ€”
CAD-SIGNet 0.28 77.6 0.9 0.74 0.56 65.6 1.6 4.14
MiCADangelo 0.20 80.6 2.6 0.46 0.48 68.7 3.2 2.66

Complex Models and Constraint Robustness

Test Scenario Method CDโ†“ IoUโ†‘ IRโ†“ ECDโ†“
Models with โ‰ฅ4 loops CAD-SIGNet 1.34 49.2 3.2 4.75
Models with โ‰ฅ4 loops MiCADangelo 0.37 68.3 4.1 2.04
Models with >2 extrusions CAD-SIGNet 3.95 40.6 5.4 9.81
Models with >2 extrusions MiCADangelo 0.46 64.8 3.0 2.27
Constraint deformation robustness CAD-SIGNet 2.89 57.4 3.5 20.43
Constraint deformation robustness MiCADangelo 0.38 81.1 4.3 1.29
CC3D real scans CAD-SIGNet 2.90 42.6 4.4 8.68
CC3D real scans MiCADangelo 1.69 50.8 2.2 5.93

Ablation Study

Experiment Key Result Remarks
Context embeddings for plane detection F1: 0.296โ†’0.870 Position/axis/normalization embeddings are critical
Cross-dataset plane detection DeepCAD F1=0.870, Fusion360=0.820, CC3D=0.777 Good generalization
Sketch parametrization (SCD) Davinci: 0.827, MiCADangelo: 0.283 Attributed to noisy closed-loop fine-tuning
Number of extrusion vectors Performance saturates at 8 vectors Minimal impact on inference time

Key Findings

  1. Comprehensively surpasses SOTA on core metrics: MiCADangelo achieves a median CD of 0.20 on DeepCAD (vs. 0.28 for CAD-SIGNet) and IoU of 80.6% (vs. 77.6%).
  2. Advantage is more pronounced on complex models: IoU improves by 19.1 percentage points on models with 4+ loops (68.3 vs. 49.2) and by 24.2 points on multi-extrusion models.
  3. Core value of constraints: Constrained models maintain structural consistency after sketch editing (ECD 1.29 vs. 20.43), demonstrating that constraints are essential for editability.
  4. Robustness to real scans: MiCADangelo outperforms CAD-SIGNet on CC3D real-world scans, improving IoU by 8.2 percentage points.

Highlights & Insights

  • Human-inspired design workflow: Rather than pursuing end-to-end black-box reconstruction, MiCADangelo emulates the cross-section analysis โ†’ sketch reconstruction โ†’ extrusion workflow of human CAD designers, achieving both fine-grained accuracy and full parametrization.
  • First introduction of sketch constraints into 3D CAD reverse engineering: Constraints not only enhance editability but also implicitly restrict the solution space, facilitating more accurate geometric reconstruction.
  • Effective exploitation of cross-section views: By extracting geometric information from 2D cross-sections, the complex 3D problem is decomposed into multiple 2D image understanding tasks.
  • Differentiable extrusion optimization: Casting extrusion parameter inference as a continuous optimization problem avoids the difficulty of discrete search.

Limitations & Future Work

  • Only extrusion operations are supported (consistent with prior work); more complex CAD operations such as revolve and sweep are not handled.
  • Extrusion direction is based on the sketch plane normal, limiting performance on models with non-axis-aligned extrusions.
  • Complex sketch primitives such as B-splines are not supported.
  • The invalid rate (IR) metric is slightly higher than that of CAD-SIGNet, as the latter benefits from test-time sampling of multiple candidates and selecting the best.
  • Plane detection relies on uniform sampling (40 per axis), which may miss key cross-sections that are not axis-aligned.
  • Compared to CAD-SIGNet (top-down) and Point2Cyl (bottom-up), MiCADangelo combines the strengths of both paradigms.
  • Sketch constraint prediction builds on Davinci (2D sketch parametrization) and improves robustness through noisy fine-tuning.
  • The SketchGraphs dataset is leveraged to compensate for the absence of constraint annotations in DeepCAD and Fusion360.
  • Insight: Decomposing complex 3D reconstruction into multiple 2D subproblems reduces learning difficulty and enables independent optimization of each module.

Rating

  • Novelty: โญโญโญโญโญ (First constrained CAD reverse engineering; cross-section analysis is a novel perspective)
  • Experimental Thoroughness: โญโญโญโญโญ (Multiple datasets, diverse scenarios, constraint robustness, real scans, comprehensive ablations)
  • Writing Quality: โญโญโญโญโญ (Clear structure, rigorous formal definitions, intuitive comparison with human workflow)
  • Value: โญโญโญโญโญ (A breakthrough contribution to the CAD reverse engineering field)