Source-linked AI summary
JoinABLe: Learning Bottom-up Assembly of Parametric CAD Joints
Karl D. D. Willis, Pradeep Kumar Jayaraman, Hang Chu, Yunsheng Tian, Yifei Li, Daniele Grandi, Aditya Sanghi, Linh Tran, Joseph G. Lambourne, Armando Solar-Lezama, Wojciech Matusik
TL;DR
CAD joint definition is time-consuming, and many assemblies have missing or partial joints. JoinABLe learns bottom-up assembly of part pairs from weak supervision in parametric CAD files, without object classes or human guidance. Its joint-axis accuracy approaches human performance, and the paper releases a dataset with rich assembly information.
Problem
Joint definition is time-consuming and often incomplete, motivating the question of whether part pairs can be assembled without global-design knowledge, class labels, or human input.
Source: §1 · p. 2Method
JoinABLe learns local connections between part pairs using weak supervision from parametric CAD files, without object or part class labels, human annotation, or user guidance.
Source: §1 · p. 2Results
79.53% joint-axis prediction accuracy approaches the 80% human performance baseline, while outperforming multiple baselines with fewer network parameters.
Source: §1 · p. 2Takeaways & Limitations
The released Fusion 360 Gallery assembly dataset contains information on joints, contact surfaces, holes, and underlying assembly graphs.
Source: §1 · p. 2The approach may be limited for large assemblies where global composition matters, relies on B-Rep CAD data, and has been tested only on mechanical CAD.
Source: §6 · p. 8
Abstract
from arXiv · showhide
Physical products are often complex assemblies combining a multitude of 3D parts modeled in computer-aided design (CAD) software. CAD designers build up these assemblies by aligning individual parts to one another using constraints called joints. In this paper we introduce JoinABLe, a learning-based method that assembles parts together to form joints. JoinABLe uses the weak supervision available in standard parametric CAD files without the help of object class labels or human guidance. Our results show that by making network predictions over a graph representation of solid models we can outperform multiple baseline methods with an accuracy (79.53%) that approaches human performance (80%). Finally, to support future research we release the Fusion 360 Gallery assembly dataset, containing assemblies with rich information on joints, contact surfaces, holes, and the underlying assembly graph structure.
1. Introduction
Joint definition in CAD is time-consuming, and many assemblies therefore have missing or partial joints. JoinABLe learns to assemble part pairs from weak supervision in parametric CAD files without class labels or human guidance, and its joint-axis accuracy approaches human performance.
Motivation
- Joints constrain relative part pose and degrees of freedom, allowing designers to make parametric changes while preserving part relationships and design intent.Without joints, defining global positions for individual parts becomes cumbersome and prone to error.Source: §1 · p. 1
- Joint definition consumes roughly one third of CAD time, and many assemblies have missing or partly defined joints.Predicting joints could ease joint definition and support applications including CAD assembly synthesis and robotic assembly.Source: §1 · p. 1
Research question
- The paper asks whether part pairs can be assembled without prior knowledge of the global design, class labels, or additional human input.The authors describe solving this problem as a fundamental building block for learning-based methods with assemblies.Source: §1 · p. 2
Approach
- JoinABLe learns local connections between part pairs from partial joint labels in parametric CAD files, without object or part class labels, human annotation, or user guidance.Its approach combines an encoder and joint-axis prediction network with neurally guided joint-pose search.Source: Figure 1 · p. 1, §1 · p. 2
Contributions
- The paper releases the Fusion 360 Gallery assembly dataset, which includes joint, contact-surface, hole, and assembly-graph information.The dataset is presented as support for future research.Source: §1 · p. 2
Results
- 79.53% joint-axis accuracy approaches the 80% human baseline, while outperforming multiple baselines with fewer network parameters.The method makes predictions over graph representations of solid models and performs well on difficult cases where heuristic algorithms can struggle.Source: §1 · p. 2
2. Related Work
Prior assembly research spans part combination, structured shape generation, robotics, and learning-based assembly. JoinABLe differs from approaches that depend on class-labeled synthetic assemblies or user-selected guidance by learning pairwise assembly from parametric CAD joint information.
Shape Combination
- Prior shape-combination work finds compatible parts for assemblies, while other work targets media content and physically fabricated assemblies or assembly instructions.JoinABLe instead automates pairwise assembly of real-world CAD parts without class labels or human guidance.Source: §2 · p. 2
Structure Aware Deep Generative Models
- Structure-aware generative models incorporate assembly structure to synthesize parts, whereas JoinABLe assembles existing parts in the B-Rep format.Source: §2 · p. 2
CAD Informed Robotic Assembly
- Prior CAD-informed robotics work uses assembly knowledge for planning and sequencing; the authors envision their method aiding reinforcement-learning sampling when joint information is absent or incomplete.Robotic assembly planning and sequencing are cited as uses of prior CAD assembly knowledge.Source: §2 · p. 2
Learning to Assemble
- Learning-based assembly methods often predict absolute poses for sets of parts, while some recent work uses local contact-point supervision to address alignment noise.JoinABLe uses parametric CAD joint information as weak supervision, enabling reconstruction as editable parametric CAD files.Source: §2 · p. 2
- Prior methods often train on manually segmented synthetic assemblies with object classes, part labels, and consistent orientations, while JoinABLe trains without object classes using weak supervision in standard parametric CAD files.Semantic segmentation may be incompatible with real-world CAD assemblies organized by manufacturing process, and generalization to unseen categories remains an ongoing research area.Source: §2 · p. 2
Concurrent Work
- AutoMate recommends joint solutions from user-selected areas, whereas JoinABLe creates editable joints automatically without user guidance or a predefined input area.Source: §2 · pp. 2–3
Part Mobility
- Part-mobility systems predict relative joint configurations from point clouds, but the cited approaches rely on strong class priors and heavily annotated synthetic assembly data.The paper compares its method with adaptations of several part-mobility baselines.Source: §2 · p. 3
3. Method
JoinABLe learns to assemble pairs of CAD parts from weak supervision in parametric CAD files, without class labels or human guidance. It predicts joint axes over B-Rep entities and searches for joint poses.
3.1. CAD Joints
- The method targets rigid joints between part pairs, predicting per-part joint axes and a relative pose while leaving full multi-part assembly and non-rigid joints to future work.CAD users define axes from selected B-Rep entities; an axis comprises an origin point and direction vector.Source: §3.2 · p. 3, §3.1 · p. 3
3.3. Input Representation
- B-Rep faces and edges become graph vertices, adjacency defines graph edges, and a dense cross-part graph represents every candidate entity pairing.This makes joint prediction a categorical link-prediction problem over the exact entities used to define joints.Source: §3.3 · p. 4
3.4. Weak Supervision from CAD Joints
- Sparse, incomplete CAD joint labels create extreme class imbalance and a positive-unlabeled learning problem, since unlabeled pairings may still be plausible joints.Joint consolidation combines known joints for identical part pairs to avoid contradictory samples; equivalent entities sharing a joint axis are also labeled, and ambiguous sibling entities are excluded from validation and test sets.Source: §3.4 · p. 4
3.5.1 Encoder
- A shared-weight encoder processes face and edge features with separate MLPs, concatenates their embeddings, and uses graph attention message passing to produce per-entity representations.The message passing extracts local features from each B-Rep entity and its neighborhood.Source: §3.5.1 · p. 5
3.5.2 Joint Axis Prediction
- The joint-axis branch uses cross-graph edge convolution to score candidate connections, framing axis prediction as link prediction between the two parts.A cross-entropy term trains edge predictions against joint labels; symmetric cross-entropy addresses sparse positives by contrasting joints with more likely non-joints.Source: §3.5.2 · p. 5
3.5.3 Joint Pose Search
- After predicting joint axes, a neurally guided search selects offset, rotation, and flip parameters using overlap and contact costs, with Nelder-Mead optimization.The cost encourages contact while penalizing penetration; the overlap penalty is increased when overlap cost is at least 0.1.Source: §3.5.3 · p. 6
4. Dataset
The Fusion 360 Gallery assembly dataset contains assembly-level and joint-level data, with joint samples pairing parts and recording their user-selected B-Rep entities and joint parameters.
4. Dataset
- The dataset contains 8,251 assemblies with 154,468 parts, plus 32,148 joints defined between 23,029 different parts.The data and supporting code are publicly available for non-commercial research.Source: §4 · p. 6
- Each joint sample is a pair of parts with one or more joints; user-selected B-Rep faces and edges provide labels alongside joint-axis and pose information.Figure 4 illustrates the dataset overview and a joint-set example.Source: §4 · p. 6, Figure 4 · p. 6
- The passage names training, validation, test, and original-distribution test sets; validation and test exclude samples with potentially ambiguous sibling entities, while the original-distribution test includes them.Source: §4 · p. 6
5. Experiments
The experiments evaluate joint-axis and joint-pose prediction against adapted methods and a human CAD expert. Joint-axis results are strongest on the No Hole subset, while pose search can resolve some prediction errors and overlaps.
5. Experiments
- Experiments evaluate joint-axis and joint-pose prediction against a human CAD expert and adapted methods, including Hole and No Hole settings.The study reports performance on both hole-containing and hole-free samples because traditional algorithms can struggle in the No Hole case.Source: §5 · p. 6, §5.2 · p. 7
5.1. Human CAD Expert Baseline
- 80% of the CAD expert’s joint axes matched ground truth in a study using 100 randomly sampled part pairs.The study excluded potentially ambiguous sibling entities and found isolated-part assembly challenging without object-assembly context.Source: §5.1 · p. 7
5.2. Joint Axis Prediction
- 8.14% is the gap over B-Heuristic, widening to 11.62% on No Hole; B-Rep approaches outperform point-cloud methods with fewer parameters.The method is also reported within 0.5% of the human CAD expert.Source: §5.2 · p. 7, Table 1 · p. 7
5.3. Joint Pose Prediction
- Ours better matches ground-truth joints than B-Pose by average CD, while Ours + Search can resolve overlaps and some incorrect axis predictions.CD is approximate because the ground truth contains finite discrete states, while other plausible continuous states may exist.Source: Table 2 · p. 7, §5.3 · p. 8, Figure 5 · p. 8
6. Discussion
The discussion presents multi-part assembly as a preliminary application of JoinABLe’s joint-axis network and pose search. It also identifies limits involving global composition, B-Rep dependence, and mechanical-CAD scope.
6. Discussion
- A preliminary demonstration assembles multiple parts sequentially from a supplied assembly sequence using the joint-axis network and pose search.Figure 6 shows an example sequence assembled correctly in a bottom-up fashion.Source: §6 · p. 8, Figure 6 · p. 8
- At each step, the search strategy minimizes overlap volume with the partial assembly and maximizes contact area with the new part.The strategy is adapted from the pairwise search cost function.Source: §6 · p. 8
- The approach may be limited when global composition matters, relies on B-Rep CAD data, and has not been tested beyond mechanical CAD.The network also omits geometric loss terms that may help avoid undesirable overlap and generalize to other joint parameters.Source: §6 · p. 8
7. Conclusion
The conclusion presents bottom-up learning of parametric CAD joints as an initial step toward assembly-aware tools and robotic assembly or disassembly. It reports promise relative to human CAD experts and hopes the dataset will aid further research.
7. Conclusion
- The work takes first steps toward learning bottom-up assembly of parametric CAD joints, with results showing promise in approaching human CAD expert performance.The authors describe assembly-aware design tools and robotic assembly and disassembly as long-term motivations.Source: §7 · p. 8
- Assembly-aware tools could suggest and automatically place parts, potentially supporting reuse of existing components in new designs.The conclusion links component reuse to potentially reducing manufacturing and supply-chain cost and environmental impact.Source: §7 · p. 8
- The authors hope publication of the Fusion 360 Gallery dataset will aid future research.The conclusion also connects understanding part assembly to robotic assembly and disassembly.Source: §7 · p. 8
A.1. Dataset
The Fusion 360 Gallery assembly dataset contains linked assembly and joint data. Its data and supporting code are publicly available for non-commercial research.
A.1. Dataset
- The dataset consists of two inter-related sets: assembly data and joint data.The section outlines related datasets, processing, documentation, and dataset statistics.Source: §A.1 · p. 13
- The data and supporting code are publicly available on GitHub under a license allowing non-commercial research.Source: §A.1 · p. 13
- The dataset section covers related datasets, data processing steps, documentation, and dataset statistics.Source: §A.1 · p. 13
A.1.1 Related Datasets
Existing CAD and synthetic-assembly datasets provide useful geometry or joint annotations, but differ from the Fusion 360 Gallery dataset in assembly information and how joints are defined. The Gallery dataset draws on designer-authored CAD information rather than relying solely on extensive human annotation.
- Unlike the ABC dataset’s million B-Rep assemblies, the Fusion 360 Gallery dataset includes joint information absent from ABC and other cited B-Rep datasets.Source: §A.1.1 · p. 13
- Compared with synthetic assemblies extended from ShapeNet and PartNet, the Gallery dataset contains more realistic CAD designs, including fasteners, with designer-defined connectivity and hierarchy.Source: §A.1.1 · p. 13
- Designer-selected B-Rep faces and edges define joints in the Gallery dataset, and its release includes both B-Rep and mesh representations with metadata.Source: §A.1.1 · p. 13
- The authors argue that CAD models provide domain-expert knowledge of shape definition and assembly without extensive human annotation.Source: §A.1.1 · p. 13
- The authors identify preserved sub-assembly hierarchy as a potential advantage over the concurrently announced AutoMate dataset, which has more designs.Source: §A.1.1 · p. 13
- The dataset exposes contact, joint, or designer-defined assembly-tree representations, plus contact surfaces, hole types, materials, and user-specified tags.Source: §A.1.1 · p. 13
- Joint consolidation groups known joints for each part pair to avoid contradictory positive labels, and the validation and test sets remove potential positive-unlabeled samples.Source: §A.1.1 · p. 13
A.1.2 Data Processing
The Fusion 360 Gallery dataset was built by parsing native CAD files, validating reconstructed designs, and removing failures and duplicates.
- Approximately 20,000 native Fusion 360 .f3d designs were parsed into JSON parameter files and B-Rep and mesh geometry files.Source: §A.1.2 · p. 13
- Each extracted design was rebuilt and compared with its original, and failures were excluded from the dataset.Source: §A.1.2 · p. 13
- Duplicate assembly designs were identified using counts and rounded surface-area and volume matches, removing approximately 840 designs; joint duplicates were handled by consolidation.Source: §A.1.2 · p. 13
A.1.3 Assembly Data
The assembly data captures parts, hierarchy, joints, contacts, holes, and geometry in a structured dataset. It also supplies graph representations and splits, while processing failures and sparse joint annotation bound its coverage.
- The assembly data contains 8,251 multi-part assemblies comprising 154,468 separate parts.Source: §A.1.3 · p. 13
- Assemblies are provided as JSON with UUID-linked elements, including designer-defined component hierarchy, bodies, and occurrences.Source: §A.1.3 · p. 15
- Joints constrain relative part motion and degrees of freedom, while contacts identify faces coincident or within 0.1 mm of one another.Source: §A.1.3 · pp. 16–17
- The dataset includes hole features with geometry and type information, and assembly-level metadata such as geometric, physical, online, and user-selected properties.Source: §A.1.3 · pp. 17–18
- Body geometry is available as B-Rep and mesh files, with mesh groups mapping triangles and polylines to B-Rep faces and edges.Source: §A.1.3 · p. 18
- The cross-dataset split prevents overlap between train assemblies and test joints, but the authors warn that it may be biased and is not normally distributed.Source: §A.1.3 · p. 19
- Contact, joint, and designer-defined hierarchy information support parts graphs and hierarchical assembly graphs with different vertex and edge meanings.Source: §A.1.3 · p. 19
- Processing failures affect contacts in 13% of assemblies and joints in 2%, and only 20% of designs have defined joints.Source: §A.1.3 · p. 19
A.1.4 Joint Data
The joint dataset packages designer-defined joint examples with entity labels, contact labels, and graph geometry for prediction research. Its consolidation procedure groups repeated part-pair configurations, while the prediction task excludes multi-entity joints.
- The joint dataset contains 19,156 joint sets and 32,148 joints spanning 23,029 parts, with train, validation, test, and original-distribution test splits.Source: §A.1.4 · p. 19
- Designer-selected B-Rep faces and edges provide ground-truth entity labels, while contact labels mark faces coincident or within 0.1 mm in assembled joints.Source: §A.1.4 · p. 20
- The dataset includes a B-Rep topology graph whose vertices represent faces or edges and whose edges encode adjacency.Source: §A.1.4 · p. 20
- Joint consolidation hashes part-pair topology and geometry to group joints, with roughly 70% of resulting joint sets containing one joint and 30% containing multiple joints.Source: §A.1.4 · p. 20, Figure 23 · p. 21
- The prediction task includes only joints with one selected B-Rep entity per part, excluding multi-entity configurations that account for 9% of assembly-data joints.Source: §A.1.4 · pp. 20–21
A.1.5 Supporting Code
This appendix covers supporting CAD and data tooling, experimental procedures, and analyses of feature use, label augmentation, human performance, and joint-axis and pose prediction. It also discusses sequential multi-part joint-pose search and its limitations and extensions, alongside motivations for sustainable component reuse and intellectual-property risks.
A.1.5 Supporting Code / A.3.1 Future Applications
- Supporting code rebuilds parametric CAD assemblies from JSON, handles and visualizes mesh files, and constructs NetworkX assembly graphs; a demonstration derives assembly sequences from part graphs.The rebuilt models include component hierarchies and parametric joints.Source: §A.1.5 · p. 21, §A.3.1 · p. 28
A.2.1 Training / A.2.2 Evaluation
- Experiments use 100 epochs and five random-seed runs; evaluation averages five models and separates samples with holes from those without.Samples are evaluated on CPU, and 83% of the test set has holes; quantitative and qualitative results use different model-selection procedures.Source: §A.2.1 · p. 21, §A.2.2 · p. 21
A.2.3 Input Feature Ablation Study
- Hole-sample performance is consistently higher; edge length is the most critical input feature, followed by entity type, while face area hurts performance.The authors remove area, dihedral angle, and convexity in the main-paper experiments.Source: Figure 24 · p. 21, §A.2.3 · p. 22
A.2.4 Label Augmentation Study
- No label-augmentation strategy improves performance, and adding Equivalent labels during training hurts it, despite Equivalent-label evaluation increasing accuracy.The authors attribute the training effect to a 137× increase in label quantity and diversity; training on original Joint labels still performs despite extreme imbalance.Source: §A.2.4 · p. 22, Figure 25 · p. 22
A.2.5 Human CAD Expert Baseline
- Human Hole/No Hole accuracy was 77/88 (82.95%)/7/12 (58.33%) on the test set and 66/87 (75.86%)/1/13 (7.69%) on the uniform test set.Each study included only 12 or 13 No Hole samples, limiting the breakdown; the authors note that joints without an apparent fastening mechanism are harder to infer.Source: §A.2.5 · p. 23
A.2.6 Joint Axis Prediction
- On the uniform-distribution test set, accuracy drops for every method but their relative ranking stays unchanged; potential positive-unlabeled samples make it unreliable for judging accuracy.The authors emphasize removing potential positive-unlabeled samples for accurate evaluation.Source: Table 6 · p. 24, §A.2.6 · p. 25
- Our method outperforms B-Grid and B-Heuristic at every top-k setting, while learning-based and heuristic methods saturate at k ≈50.B-Rep predictions align naturally to geometry, whereas point-cloud regressions show noisy alignment.Source: §A.2.6 · p. 25, Figure 28 · p. 25, Figure 29 · p. 26
A.2.7 Joint Pose Prediction
- Joint-pose search optimizes offset and rotation for each top-k axis prediction, with and without a flip, and takes an average 2.58 seconds per sample excluding inference.For rotationally symmetric parts, it optimizes only offset and sets rotation to zero.Source: §A.2.7 · pp. 25, 28
A.3.1 Future Applications
- The method iteratively searches for joints between the current assembly and each next part, adapting overlap-volume and contact-area costs until all parts are placed.It starts with a predicted joint pose for the first pair of parts.Source: §A.3.1 · p. 28
- Multi-part pose search is harder with multiple axes; early errors compound, small-part placement can fail, and the method assumes a supplied sequence, motivating a future top-down/bottom-up hybrid.A wrong first-step prediction can make later assembly diverge from the ground truth; the proposed hybrid combines top-down object and part knowledge with bottom-up local joints.Source: §A.3.1 · pp. 28, 30
A.3.2 Future Extensions
- Proposed extensions include geometry- or physics-based losses to avoid undesirable overlap and conditioning predictions on the current assembly state to resolve joint-connection ambiguities.The suggested approaches include B-Rep points with a geometric loss or reinforcement-learning physics simulation.Source: §A.3.2 · p. 30
A.4. Broader Impact
- The work aims to encourage sustainable reuse of existing components and reduce new tooling’s cost and environmental impact, while acknowledging risks of unauthorized design appropriation.The authors note that publicly available datasets and component suppliers’ freely provided CAD models balance that risk.Source: §A.4 · pp. 30–31