Research
SO(3)-Equivariant Learning on CAD Boundary Representations
Overview Research area: Geometric deep learning for computer-aided design (CAD), specifically graph neural networks operating on boundary representations (B-reps) with rotation symmetry built into the
- arXiv
- 2611.05449
- Published
- 2026-11-03
- Authors
- Matteo Ballegeer, Dries F. Benoit
AI summary
Overview
Research area: Geometric deep learning for computer-aided design (CAD), specifically graph neural networks operating on boundary representations (B-reps) with rotation symmetry built into the architecture.
Technical level: Advanced. The paper assumes familiarity with group representation theory (irreducible representations, Wigner D-matrices, Clebsch–Gordan tensor products) and with message-passing graph neural networks.
Scope: The paper introduces SO3brep, an SO(3)-equivariant graph neural network on the B-rep face-adjacency graph, and benchmarks it against invariant B-rep networks and equivariant point cloud networks on three face-segmentation and two shape-classification datasets under random test-time rotations.
What This Paper Is About
CAD models are not stored in a canonical orientation, yet most B-rep networks read coordinates and surface normals in the world frame, so their predictions change when a part is rotated. The one existing fix, encoding each face in its own local reference frame, buys invariance but reduces messages between faces to scalars, throwing away how neighboring faces are oriented relative to each other. SO3brep instead lets features rotate with the part and only discards directional components at the readout, so faces can still exchange directional information while the final prediction stays pose-independent.
Key Contributions
-
First equivariant message passing on B-reps. The authors state that, to their knowledge, no prior B-rep network passes equivariant rather than invariant messages between faces. SO3brep is presented as the first.
-
Per-face local frames rotated into a shared frame. Node features are computed in each face's local reference frame (anchored at the center of the UV bounding box, with axes from the CAD kernel's parametric tangents and normal) and then mapped into one shared world frame using Wigner D-matrices.
-
Clebsch–Gordan coupling with inter-face directions. Four unit vectors per directed edge (center-to-center, center-to-boundary-midpoint, boundary-midpoint-to-center, and the signed edge chord) are encoded as spherical harmonics and coupled with sender features by CG tensor products, with gates produced by a radial network over nine invariant edge scalars plus a 16-bin Gaussian expansion of the center distance.
-
A controlled comparison of message functions. Holding SO3brep's input features fixed, the authors compare CG-based equivariant messages against attention-based and concatenation-based non-equivariant messages and against an invariant local-frame variant, isolating the effect of equivariance from the effect of the new input features.
Main Findings
-
Best accuracy with fewest parameters on segmentation. SO3brep reaches 99.45% accuracy and 98.47% mIoU on MFCAD++, 92.80% and 78.54% on MFTRCAD, and 95.11% and 82.05% on Fusion 360, with 0.40–0.41M parameters versus 0.59M for FoV-Net and 1.36–1.37M for UV-Net.
-
Margins over the strongest baseline. Relative to FoV-Net (the strongest baseline, also invariant), SO3brep gains 0.4, 2.5, and 3.4 accuracy points and 1.2, 6.7, and 8.4 mIoU points on MFCAD++, MFTRCAD, and Fusion 360 respectively.
-
Original and rotated scores coincide. Because the output is invariant, SO3brep's aligned and randomly rotated test scores are identical, whereas UV-Net loses 19–58 accuracy points under rotation (for example 98.62% to 41.09% on MFCAD++, and 97.36% to 9.22% on SolidLetters).
-
Classification results are mixed on one dataset. SO3brep is best under rotation on both classification sets (97.03% on SolidLetters, 81.68% on BenDFM), but UV-Net is 0.33 points more accurate on aligned SolidLetters (97.36% versus 97.03%). The authors attribute this to pose-dependent labels: the extruded letters b, d, p, and q are close to rotations of one another. On BenDFM, SO3brep's +0.55-point margin over FoV-Net is within the seed spread.
-
Equivariance beats invariance mainly at low data. Against the invariant local-frame variant with identical inputs, SO3brep is 0.1–0.3 accuracy and 1.1–1.5 mIoU points higher at full data with 40% fewer parameters, but with 100 training parts the gap grows to 1.9 accuracy and 3.7 mIoU on Fusion 360 and to 13.5 and 13.1 on MFTRCAD.
-
Non-equivariant message functions break under rotation. Using the same world-frame features with attention or concatenation instead of CG products loses 7–18 accuracy and 19–21 mIoU points under rotation and uses 1.7–2× the parameters.
-
Data efficiency. On aligned MFCAD++ segmentation, SO3brep is the most accurate model at every training-set size; with 10 training parts it is about 20 points more accurate than FoV-Net and about 45 points more than UV-Net, and with 50 parts it reaches 91.8%.
-
Numerical equivariance confirmed. Relative equivariance error on last-layer vector features over 1,000 SolidLetters inputs and 100 rotations each is (3.46 ± 4.91)×10⁻⁶ for SO3brep, (9.83 ± 9.80)×10⁻⁶ for VN-PointNet, and (1.00 ± 0.36)×10⁻⁷ for CSEConv.
-
Ablations rank the components. On Fusion 360, removing node features costs 17.4 accuracy and 29.3 mIoU points; removing edge features costs 3.1 and 9.6; replacing attention with summation costs 0.8 and 2.1. Among node encoders, the UV-grid CNN contributes most (3.9 and 7.2) and the ray field least (0.5 and 1.5). Lowering ℓmax to 1 costs 0.3 and 1.0 points, and to 0 costs 1.7 and 3.2.
-
Point cloud baselines trail badly on segmentation. VN-PointNet reaches 17.5–31.4% mIoU against 71.8–98.5% for FoV-Net and SO3brep.
Methodology in Plain English
The input to every model is the face-adjacency graph of a B-rep: nodes are parametric faces, edges are the curves two faces share. The hard problem is that a CAD part's orientation in space is a convention — SOLIDWORKS and Fusion 360 even let the user choose whether Y or Z is up — so a network should not depend on it.
SO3brep's approach is to describe each face in a coordinate system attached to that face. For each face, the paper anchors a frame at the parametric center of the face, using the surface's own tangent directions and normal as axes. Because the frame rotates with the part, quantities expressed in it do not change when the part is rotated.
Each face gets three kinds of features. First, analytic attributes read directly from the CAD kernel: five surface-type flags (plane, cylinder, cone, sphere, torus), a rational free-form surface flag, and log-scaled area. Second, a 10×10 grid of samples over the face's UV parameter domain, recording 3D position, normal, and a trim indicator, passed through a small CNN. Third, a "ray field": 72 rays cast over each of two hemispherical Fibonacci grids defined in the face's frame, recording hit/no-hit, distance, and the angle to the surface normal at the hit, then summarized as spherical-harmonic coefficients. All of this is computed in the local frame and then rotated into a shared frame using Wigner D-matrices, which is what makes the features steerable.
For each directed edge, four unit vectors capture how the two faces sit relative to each other, and these are encoded as spherical harmonics. Nine rotation-invariant scalars (the cosine between face normals, two convexity flags, log arc length, a closed-curve flag, four curve-type flags) plus a 16-bin expansion of the center distance feed a small network that produces per-channel gates.
Message passing then multiplies sender features against edge directions using Clebsch–Gordan tensor products, which is the operation that lets a vector and a direction combine into a scalar (dot product), a vector (cross product), or a matrix. Messages are aggregated with 8-head scalar attention, followed by an equivariant feed-forward block with gated nonlinearities, all with residual connections and per-irrep RMS normalization. Three such layers are used, with channel widths of 64, 16, and 8 for degrees 0, 1, and 2.
At the end, only the rotation-invariant (degree-0) components are kept, so the prediction cannot depend on pose; positions enter only as differences, so the network is translation-invariant too. Classification pools over the graph, and segmentation concatenates each face's descriptor with the pooled graph descriptor.
Evaluation is deliberately adversarial: all models are trained on the original orientations with no rotation augmentation, then tested both on the original test set and on a copy where every part is rotated by random angles between 0 and 2π about the three coordinate axes.
Why This Matters
Impact on research. The paper makes a clean conceptual point: invariance and equivariance are not interchangeable, and for B-reps the invariant route costs expressivity. The controlled experiment in Table 3, where inputs are held fixed and only the message function changes, isolates that claim from confounds. The paper also connects B-rep learning to the broader equivariant GNN literature (NequIP, MACE, Equiformer, tensor field networks) and reports that a very small equivariant network (0.36–0.41M parameters) outperforms larger baselines, which is relevant to a field where labeled CAD data is expensive.
Real-world applications:
- Manufacturing feature recognition, where a network assigns machining features to faces (MFCAD++, MFTRCAD, Fusion 360) so downstream CAM planning can be automated.
- Design-for-manufacturability screening, as in BenDFM, where sheet-metal parts are classified by whether they can be bent without the tooling colliding with the part.
- Part retrieval and assembly, where a library of proprietary parts is stored in arbitrary orientations inherited from assemblies and must be matched or classified.
- Low-data industrial deployment, where a shop has only a handful of expert-labeled parts and needs a model that trains on tens rather than thousands of examples.
Industry relevance. The paper's motivating observation is practical: CAD systems leave the choice of up axis to the user, and parts saved inside assemblies carry the assembly's coordinates, so pose is a convention rather than a property of the design. A model whose accuracy collapses under rotation is therefore fragile in deployment, and the reported drop from 98.62% to 41.09% for UV-Net on MFCAD++ quantifies that fragility.
Future Directions
-
Equivariant outputs rather than invariant ones. The authors note that tasks whose outputs must rotate with the input — predicting a machining approach direction, a drilling axis, or a part-to-part mating transform — cannot be expressed by invariant architectures, and that public CAD benchmarks for these tasks are still missing.
-
Richer edge descriptors. The current edge features are limited to four unit vectors and nine scalars; the authors suggest more expressive surface-to-surface descriptors are possible.
-
Better-behaved local frames. In-plane tangent directions are defined only up to rotation about the face normal, so the u/v axes and edge orientations depend on parameterization conventions and may be inconsistent across cross-system B-rep exports. Operations that preserve the solid but change its B-rep, such as splitting faces with axis-aligned planes or re-parameterizing surfaces as NURBS, also reduce accuracy.
-
Cheaper tensor products. Clebsch–Gordan products scale as O(ℓmax⁶) in the maximum degree, which limits ℓmax in practice; the paper points to reduced-cost alternatives in the literature. A related open question is benchmark saturation: with full training data all message functions in the controlled comparison sit within 1.5 mIoU points on aligned parts, so harder benchmarks are needed to expose the expressivity gap.
Target Audience
Researchers and graduate students in geometric deep learning and equivariant neural networks, and specifically those working on learned representations of CAD geometry. It also serves practitioners in CAD/CAE and manufacturing automation who need shape models that are robust to part orientation and that train on small labeled datasets. Readers without a background in group representation theory will find the method sections demanding, but the experimental design and the data-efficiency results are accessible to a broader engineering audience.
Authors’ abstract
Learning on boundary representations (B-reps) requires robustness to the pose of a part, since CAD models are not stored in a canonical orientation. Existing B-rep networks either operate on world-frame coordinates and normals, and thus degrade under rotation, or encode each face in a local reference frame. Local frames yield invariance, but reduce inter-face messages to scalars and discard the relative orientation of adjacent faces. We propose SO3brep, an SO(3)-equivariant graph neural network on the B-rep face-adjacency graph. Node features are computed in local frames and mapped into a shared frame by Wigner D-matrices. Clebsch-Gordan tensor products couple these features with the directions between adjacent faces, so that relative orientation is preserved throughout message passing and the output remains SE(3)-invariant. Across three face-segmentation and two classification benchmarks with randomly rotated test parts, SO3brep achieves the highest accuracy among the compared B-rep networks and equivariant point cloud networks, with the fewest parameters. Its advantage is largest with few labeled parts, a setting typical of industrial CAD. Code is available at https://github.com/UGent-CVAMO/so3brep.