Part-aware 3D generation has advanced rapidly, but there is a disconnect between producing individual parts that look right and producing parts that actually hold together as a physical assembly. A chair rendered as separate legs, seat, and back might appear complete in a 3D viewer, but when you simulate gravity, the legs slide through the seat, or the back falls off because nothing connects it. SNAP3D, a new framework from researchers at Carnegie Mellon University, tackles this problem head-on by adding physical grounding to the part generation pipeline.

The core claim is straightforward: existing part-level generators produce meshes that are physically unrealizable. They may interpenetrate, lack valid connections, and collapse under gravity. SNAP3D fixes this in a three-stage post-processing pipeline that resolves collisions, reasons about contact relationships, and optimizes physical connectors using simulation feedback. The result is parts you can actually 3D print and assemble by hand, not just render.

The Gap Between Semantic Decomposition and Physical Assembly

Prior work on part-aware 3D generation falls into two camps. Methods like PartCrafter, OmniPart, PartPacker, and UniPart synthesize part-structured assets directly from images. Others, like PartGen, P3-SAM, and XPart, decompose an existing 3D mesh into semantic parts. Both approaches produce parts that are individually plausible but collectively broken. The problem is structural: these methods optimize for visual quality and semantic coherence, not for the geometric compatibility that physical assembly requires.

Separately, the fabrication community has studied physically valid decomposition and connector design. But those methods typically assume either a valid monolithic shape to decompose or components that are already geometrically compatible. They design the cut surfaces where connectors fit best, without regard to semantic meaning. Part-aware generators produce the opposite situation: semantic parts whose volumes and contact surfaces are not necessarily compatible, requiring both the geometry and the connections to be resolved.

SNAP3D bridges this gap. It takes the output of any off-the-shelf part generator and makes it physically realizable without retraining the generator itself.

Part Geometry Editing: Resolving Volume Overlap

The pipeline begins with a single image. An off-the-shelf method (Hunyuan3D for reconstruction, XPart for decomposition) produces a set of part meshes in a common coordinate frame. These meshes almost certainly overlap. Two neighboring parts may claim the same volume, which is physically impossible.

SNAP3D resolves this through Boolean operations. For each pair of overlapping parts, it computes an intrusion score that measures how strongly one part penetrates the other, factoring in the relative size of the parts, the fraction of each part lying inside the other, and where the overlap occurs spatially. The part with the weaker claim to the shared volume gets trimmed: its geometry is set to the Boolean difference of itself minus the intruding neighbor.

This is not as simple as it sounds. Aggressive trimming can erode thin parts entirely. SNAP3D caps volume loss by flipping the assignment on pairs with the smallest margin between intrusion scores, and it removes thin slivers left behind by Boolean operations. The edited parts retain their original shape to within a small tolerance while eliminating nearly all interpenetration.

The ablation study quantifies the effect. Starting from XPart output with 4.86% interpenetration volume ratio, part geometry editing alone drops that to 0.07% with only minor changes to the mesh (a Chamfer Distance of 0.67 from the baseline). But removing collisions is not enough for stability: only 22% of assemblies survive gravity at this stage, because the parts are not mechanically connected.

Connector Geometry Reasoning: Finding Where Parts Touch

The second stage builds a contact graph. Not every pair of parts needs a connector. Two parts sharing a surface need one; two parts merely near each other do not. SNAP3D defines a contact surface as a region where the edited part surfaces lie within a distance tolerance and have locally opposing normals (meaning the surfaces face each other). An edge appears in the contact graph when the minimum distance between two parts is within tolerance and the facing area exceeds a threshold scaled by the overall assembly size.

For each edge in the contact graph, SNAP3D initializes a peg-and-socket connector. The peg is placed on the smaller part; the socket is carved into the larger part (the receiver), since removing material from a larger part is less damaging. The initial anchor sits at the contact surface point with the largest margin to its boundary, and the initial axis is aligned with the inward normal of the receiver surface.

The connector type matters. SNAP3D uses snap-fit peg-and-socket joints held by interlock, not friction. This means the peg is wider than the socket opening, so once inserted, the parts cannot separate without deformation. Clearance and head geometry are fixed at values suitable for FDM 3D printing.

Each connector is parameterized by six values: two for position (sliding the anchor within the tangent plane of the contact surface), two for direction (tilting the axis relative to the receiver normal), one for shaft radius, and one for insertion length. This parameterization captures the full range of physically valid connector configurations while keeping the search space manageable.

Physics-Based Connector Optimization: Simulation in the Loop

Geometric initialization gets connectors in the right neighborhood, but does not guarantee stability. A connector placed on a thin wall may not hold. A connector tilted slightly wrong may let the part rotate out. SNAP3D optimizes each connector's six parameters using physics simulation feedback.

The optimization uses the Cross-Entropy Method (CEM), a population-based stochastic optimizer. There are no gradients available because the physics simulator is a black box. Each generation evaluates 32 candidate configurations: the original geometry-only proposal (always retained, so the search never returns something worse) plus 31 new samples drawn from a multivariate Gaussian. The top 8 candidates (by objective value) define the next generation's mean and covariance. The full covariance matrix captures dependencies between, say, connector position and optimal orientation.

Before running simulation, each candidate is checked for geometric feasibility: the connector must remain supported by the receiver, there must be enough material for the specified radius and insertion depth, and the connector must not intersect neighboring parts. Infeasible candidates are redrawn.

The objective function has two levels. A pairwise loss measures the maximum relative translation and rotation between the two joined parts during simulation. A global loss checks whether stabilizing one pair inadvertently destabilizes a neighbor. Candidates are first ranked by pairwise loss, then filtered by the global loss. This prevents a design that holds two parts together while causing a third to fall.

The instability localization procedure identifies which parts move too much under gravity, then targets the connectors between unstable and stable parts for optimization. After optimizing one connector, the localization is rerun because fixing one failure can expose the next. A stopping condition terminates the outer loop when no parts exceed the stability thresholds.

The ablation study breaks down the contribution of each stage. Part geometry editing alone achieves 22% stability. Adding contact graph reasoning and connector initialization jumps to 86%. Physics-based optimization adds another 9%, reaching 95%. The geometry metrics (Chamfer Distance, F1 score) barely change across the pipeline, confirming that the edits are conservative.

Evaluation: A Physics-Based Protocol

SNAP3D introduces a physics-based evaluation protocol that complements standard geometric metrics. Assemblies are dropped under gravity onto a ground plane, with ground-contacting parts pinned. The simulator uses Incremental Potential Contact (IPC) on affine bodies, which guarantees intersection-free states throughout the simulation. This is critical: simulators that tolerate overlap can resolve interpenetration with contact forces that artificially hold parts together, making badly interpenetrating assemblies appear stable.

An assembly is classified as stable if it remains intersection-free and the worst free part translates less than 6% of the assembly size and rotates less than 10 degrees. It is classified as fallen if translation exceeds 10% or rotation exceeds 25 degrees. Shift measures the mean worst-part displacement.

The evaluation uses 100 image-mesh pairs from the HY3D-Bench dataset, with assemblies ranging from 2 to 18 parts across categories like furniture, vehicles, characters, and tools. The baselines are OmniPart, PartCrafter, and XPart, representing both native image-to-3D-part generators and decomposition-based methods.

Results: From Zero to Ninety-Five Percent Stability

The numbers tell a stark story. XPart, the strongest baseline in geometric fidelity (Chamfer Distance 0.85, F1 95.9%), achieves 0.0% stability. OmniPart manages 2.0%. PartCrafter gets 1.0%. SNAP3D reaches 95.0%. The shift metric drops from 73.5 (XPart) and 98.1 (PartCrafter) to 5.6. Interpenetration volume ratio falls from 4.86% to less than 0.01%, and the interpenetrating pair ratio drops from 31.8% to 0.5%.

Geometric quality is preserved. SNAP3D's Chamfer Distance is 0.98 (vs. XPart's 0.85), and its F1 is 94.8% (vs. 95.9%). These are small degradations for a dramatic improvement in physical realizability. The per-part metrics (p-CD 1.72, p-F1 80.6%) are nearly identical to the baseline (1.67, 81.3%), confirming that the individual part shapes are barely modified.

The connector search space ablation shows that position and scale matter most. Removing any one of the six parameters from the search costs stability: the full model achieves 95%, while variants without direction, scale, or position search drop to 92%, 90%, and 90% respectively. A connector anchored where the contact surface offers no material, or sized beyond what the local wall admits, cannot be rescued by adjusting the remaining parameters.

Limitations and Trade-offs

SNAP3D has clear boundaries. The simulation treats parts and connectors as rigid bodies, ignoring deformation of printed material. In practice, a peg slightly too large for its socket will flex and hold, or crack. The rigid-body model misses both outcomes. The optimization is also computationally expensive: narrow clearances require high-fidelity contact resolution, and each CEM generation runs 32 simulations.

The pipeline edits geometry it is given and never regenerates it. This means the quality of the input meshes bounds what SNAP3D can achieve. Boolean editing assumes closed solids; open shells from generators leave small residue, which is why 0.5% of part pairs still intersect. The remaining unstable assemblies are those whose contact surfaces are too thin to host a connector large enough to hold the parts they join.

SNAP3D currently supports peg-and-socket connectors. More complex joint types (hinges, sliding rails, snap-fits with detents) could expand the range of assemblies but would require a richer parameterization and possibly different optimization strategies.

What This Means in Practice

For developers working on 3D content pipelines, SNAP3D demonstrates that physical realizability does not require retraining generative models. A post-processing stage that resolves collisions, reasons about contact, and optimizes connectors can bridge the gap between visual quality and physical assembly. The approach is generator-agnostic: it takes any part decomposition as input.

The 3D printing validation is particularly relevant. The authors printed and manually assembled SNAP3D's output, demonstrating that the connectors work in the real world. For anyone building tools that go from image to physical object, whether for rapid prototyping, educational kits, or custom fabrication, this pipeline provides a concrete path from "looks right on screen" to "holds together in hand."

The physics-based evaluation protocol is also a contribution worth adopting. Standard geometric metrics (Chamfer Distance, F1) say nothing about whether an assembly will stand up. SNAP3D's protocol, with its intersection-free simulation and explicit stability thresholds, gives a much more honest assessment of part quality. Any team evaluating part generation methods should consider running assemblies through a physics simulator, not just comparing point clouds.

The biggest takeaway is the magnitude of the gap SNAP3D exposes. The best existing generators produce parts that are geometrically excellent and physically useless. Zero percent stability is not an exaggeration, it is the measured result. Adding physics to the generation loop, even as a post-processing step, changes the outcome fundamentally.