Why it won't print

We Put 20 AI-Generated Models Through a Print Check. 9 Failed, and the Failures Had Fingerprints.

Four photos, five image-to-3D models, twenty raw meshes, one strict slicer check: 45% failed, each generator in its own recognizable way. The numbers.

MikaelUpdated 6 min read

On this page
  1. What "failed" means here
  2. The numbers
  3. Fingerprint 1: torn seams and dust (TripoSR)
  4. Fingerprint 2: pinches where the shape is thinner than a cell (TRELLIS and TRELLIS.2)
  5. Fingerprint 3: perfect pieces, no glue (SAM 3D Objects)
  6. Fingerprint 4: nothing (Hunyuan3D 3.1)
  7. What we did with the failures
  8. Frequently asked questions

We keep a small torture set for our pipeline: a dragon with thin spikes, a mug with a real through-handle, a pair of wire-frame glasses, and a robot with floating parts. In August we ran all four photos through five image-to-3D models, exported the raw mesh, and put it through the same check a slicer runs before it warns you. No repair, no cleanup, exactly what you'd get by downloading the file.

Short version: 9 of 20 raw meshes failed a strict print check. Which ones failed was not random. Each generator architecture leaves the same kind of damage every time, so once you know the fingerprint you know what to look for before you slice.

Five architectures, five fingerprints: marching-cubes seams, dual-cube pinches, one-object-at-a-time shells, API post-processing
Five architectures, five fingerprints: marching-cubes seams, dual-cube pinches, one-object-at-a-time shells, API post-processing

What "failed" means here

A mesh passed only if the file on disk, reread and recounted, had zero open edges, zero non-manifold edges and vertices, zero degenerate triangles, consistent winding and positive volume, and could be rebuilt by manifold3d, a library that refuses non-manifold input by construction. That is the same bar Bambu Studio uses for its warning icon; the condition in the source is literally !manifold() || has_open_edges() || repaired() (GUI_ObjectList.cpp). What "watertight" and "manifold" mean in plain words is in what watertight actually means →.

Models tested: TripoSR (open source, 2024), TRELLIS and its higher-resolution successor TRELLIS.2, Meta's SAM 3D Objects, and Hunyuan3D 3.1 through a hosted API. Commercial apps such as Meshy or Tripo wrap models like these behind their own post-processing, so read this as a test of the engines, not the storefronts. Dataset date: 6 August 2026.

The numbers

Generator Architecture Failed Multi-shell files Open edges, total Non-manifold edges, total Worst single file
TripoSR triplane field → marching cubes 4 of 4 4 of 4 1,485 5 mug: 612 open edges, 93 shells
TRELLIS sparse latent → SDF → FlexiCubes 1 of 4 2 of 4 0 0 glasses: 1 non-manifold vertex
TRELLIS.2 same, higher resolution 4 of 4 3 of 4 1,980 3,975 robot: 3,163 non-manifold edges, 113 shells
SAM 3D Objects per-object reconstruction, then assembled 0 of 4 4 of 4 0 0 robot: 23 separate shells
Hunyuan3D 3.1 (API) closed pipeline 0 of 4 1 of 4 0 0 clean

Nine failures out of twenty is 45%. Two engines produced nothing a slicer would flag, one of them by being clean and one of them by hiding a different problem entirely.

Fingerprint 1: torn seams and dust (TripoSR)

The oldest architecture stores the shape as a neural field and extracts triangles with classic marching cubes. Neighboring cells compute their shared vertex independently, and floating-point rounding puts the two copies a ten-millionth apart. Your eye sees one point; the slicer sees two, with a hairline gap between the triangles. Hundreds of those gaps become hundreds of open edges. The same noisy field also crosses the threshold in empty air here and there, so the file fills up with bubbles of garbage: the mug came with 93 shells, one of which was the mug.

This is the fingerprint that auto-repair handles best →: weld the twins, delete the dust, and the model is usually intact underneath.

Fingerprint 2: pinches where the shape is thinner than a cell (TRELLIS and TRELLIS.2)

The newer family extracts the surface with FlexiCubes, which places vertices freely inside each cell and produces far cleaner meshes. TRELLIS gave us a dragon and a mug with zero warnings, and the mug's handle was a real hole, not a dent. The one defect it produced is telling: a single non-manifold vertex on the glasses, exactly where two wires ran closer together than one grid cell. When two sheets of surface land in the same cell, the extractor has nowhere to separate them and welds them into a pinch.

TRELLIS.2 pushes resolution higher and chases finer detail, which means it plays at that boundary more often. On the robot it lost completely: 3,163 non-manifold edges and 113 shells. The lesson is uncomfortable for anyone shopping by "detail level": more ambition at the thin end produces more pinches, not fewer.

Fingerprint 3: perfect pieces, no glue (SAM 3D Objects)

SAM 3D reconstructs each segmented object on its own and places them together by predicted pose. Every shell it produced was flawless; our checker and Bambu Studio both stayed silent on all four files. And yet the files contained 12, 13, 23 shells respectively for dragon, mug and robot. Meta says so itself: the model "predicts objects one at a time and isn't trained to reason about physical interactions, such as contact or interpenetration" (Meta AI blog). Parts that touch in reality sit half a millimeter apart in the file, or touch at a single point, or overlap and leave double walls inside the body.

None of that is a mesh error, so no warning fires. It is a printing error: a limb hovering 0.4 mm off the torso falls over on layer 12. The only tell is the shell count, which is why our validator reports it as information rather than an error and why we're adding a boolean union step for exactly this class.

Fingerprint 4: nothing (Hunyuan3D 3.1)

Four clean files, one of them with three shells that were all legitimate (the glasses come apart into lenses and frame). A hosted API can afford a repair pass on its side, and this one clearly runs one. That does not mean the printed result matches the photo, which is a different axis entirely (how much a photo can be trusted →), but it does mean you will not spend the evening in a repair tool.

What we did with the failures

All twenty went through our repair pipeline and all twenty passed the same strict check afterward. Sixteen needed only the cheap steps: weld, delete degenerates, drop dust below a size threshold, fix orientation, cap holes, cut out the non-manifold faces and re-cap. Four needed the nuclear option, a full volumetric rebuild, and all four were TRELLIS.2 or the wire-frame glasses, the cases where the surface itself was ambiguous. That matches what the fingerprints predict.

If you generate through PHORM, that pass runs before you ever see the download, with a report of what changed. If your file came from somewhere else, the same pipeline takes outside STL, GLB and 3MF (repair a file →). The catalog of what each defect looks like in the slicer is in why AI models fail to print →.

Frequently asked questions

Which AI 3D generator is best for 3D printing?

On raw mesh cleanliness in this test, the hosted Hunyuan3D 3.1 and the first TRELLIS were the cleanest, and TripoSR the worst. But cleanliness is only one axis: a clean file can still hover its parts (SAM 3D) or lose detail you saw in the preview (why the print is smoother than the preview →).

Does a higher-resolution generator produce more printable models?

In our set, the opposite. TRELLIS.2 chases thin detail harder than TRELLIS and produced pinches and welds wherever the geometry got thinner than one grid cell. Resolution helps looks and hurts topology at the thin end.

My file shows zero warnings but the print fell apart. Why?

Check the shell count. A file made of separate pieces that touch at a point or float slightly apart passes every mesh check and still fails on the plate. Union the shells or add bridges before slicing.

Was this test independent?

No, it's ours: our four photos, our checker, our repair. The check is the same condition Bambu Studio uses, the raw files are untouched exports, and the method is reproducible. Treat it as one data point with clear rules, not as a benchmark of storefront products.

Try it on your own idea

2 free models to start · no card needed. No 3D modeling skills required.