What AdMeshio surfaces that your slicer hides

Six real-world meshes from CAD assemblies, multi-body Bambu user files, AI-generated Hunyuan3D output, and a 147 MB presupported figurine. Each one was audited by PrusaSlicer's --info command (the same data that backs the “Fix through netfabb” UI) and by AdMeshio. PrusaSlicer reports manifold = yes for the first five and undercounts defects 460× on the heavy case. AdMeshio surfaces what's actually wrong.

Why the difference matters

PrusaSlicer's STL loader runs admesh auto-repair silently, so the --info dump always says “manifold”. The fix is real — gcode generation works — but the user never sees what was repaired or how. When a marketplace, print farm, or pipeline that doesn't run the same auto-fix receives the raw file, the silent issues become production failures. AdMeshio's audit is the explicit version of that conversation: every defect is named, severity is scored, and remediation is one CLI command away.

Case 1 — AI-generated mech (Hunyuan3D)

AI-gen blob with inverted normals + scale collapse · 66,252 facets

PrusaSlicer says

number_of_facets = 66252
manifold = yes
number_of_parts = 9
volume = 0.054624

No mention of the inverted normals or that the volume reads 0.054 mm³ — the mesh shipped at 1/100 scale.

AdMeshio says

13 / 100 GRI G 100 · R 13 · I 76
  • INVERTED_NORMALSsurface points inward — slicer treats the model as inside-out
  • TOO_SMALLbbox under printable size — Hunyuan default scale needs 100× uplift
  • BELOW_MIN_FEATURE_SIZEfeatures under nozzle resolution at this scale
  • THIN_WALLwalls thinner than profile minimum

Case 2 — CAD assembly (concealed hinge, 16 parts)

Boolean leak after CAD export — non-manifold edges + self-intersections · 6,012 facets

PrusaSlicer says

number_of_facets = 6012
manifold = yes
number_of_parts = 16
volume = 66588.59

admesh's silent auto-fix flips the manifold flag to yes. The 16 parts include components that the assembly export left non-manifold; you'd never know without opening every part.

AdMeshio says

30 / 100 GRI G 30 · R 41 · I 88
  • NON_MANIFOLDedges with ≠2 incident faces — boolean leak in CAD export
  • SELF_INTERSECTIONStriangles cross each other — geometry is still corrupt after admesh
  • PRESUPPORTED_MAIN_BODY_SISI inside the load-bearing body, not just the support
  • COMPONENT_BREAKDOWNper-part GRI surfaces which of the 16 are bad
  • UNDER_TESSELLATEDlow facet count for the print scale — visible facet edges expected
  • + 9 morereadiness flags: bridge / support / brim / trapped volume

Case 3 — Multi-body Bambu file (Card Shuffler)

Real Bambu user 3MF — silent NM + SI inside the plate · 8,210 facets

PrusaSlicer says

number_of_facets = 8210
manifold = yes
number_of_parts = 1
volume = 2002.71

3MF unwrapped to a single “part” once admesh merged the bodies. The original plate had multiple intersecting bodies; the user-as-author intent is lost.

AdMeshio says

43 / 100 GRI G 50 · R 43 · I 88
  • SLICER_COMPATIBLEplate routes through Bambu/Orca/Prusa correctly
  • NON_MANIFOLDedges between intersecting bodies that admesh merged but didn't seal
  • SELF_INTERSECTIONSoverlapping bodies create SI even after merge
  • STRUCTURAL_NECKnarrow load-bearing cross-section — review before printing
  • ELEPHANT_FOOT_RISKfirst-layer over-extrusion will widen the base

Case 4 — Pre-supported figurine (Collapsible Katana)

Slicer-shipped supports too thin / wrong angle — broken before the print starts · 1,612 facets

PrusaSlicer says

number_of_facets = 1612
manifold = yes
number_of_parts = 1
volume = 3991.67

Topology look-ahead can't see whether the bundled supports will actually hold. PrusaSlicer slices them as-is; failures show up at the printer, not in the audit.

AdMeshio says

28 / 100 GRI G 30 · R 28 · I 88
  • SUPPORT_BRANCH_TOO_THINsupport branches under min printable thickness — will snap during peel
  • SUPPORT_CONTACT_WEAKcontact points too small to anchor the model
  • SUPPORT_ORIENTATION_MISMATCHsupport angle wrong for the printer the file was sliced for
  • SUPPORT_SPACING_TOO_WIDEgrid wider than the slicer's recommended for this resin / printer
  • PRESUPPORTED_MAIN_BODY_SISI in the main body, not just the support cones
  • + 14 moretopology + readiness — full report has the rest

Case 5 — Topology-clean CAD (276Ka100)

Topology is fine — but the shape itself won't print well · 666 facets

PrusaSlicer says

number_of_facets = 666
manifold = yes
number_of_parts = 1
volume = 57443.50

A topology-only check is content. Nothing in --info says the part has a sealed cavity, an unsupported overhang, or a bridge that won't span. The slicer will happily generate gcode that fails halfway through.

AdMeshio says

85 / 100 GRI G 100 · R 85 · I 88
  • TRAPPED_VOLUMEsealed cavity — resin or air gets stuck, print will warp or crack
  • CRITICAL_OVERHANGoverhang past the slicer's bridge limit — needs supports or geometry change
  • EXCESSIVE_BRIDGElong unsupported span — first layer of bridge will sag
  • STRUCTURAL_NECKnarrow load path — will snap if the part takes any weight
  • UNDER_TESSELLATED666 facets for this part size — visible facet edges on curved surfaces

Case 6 — Heavy mesh ($Darkness, 147 MB / 2.95M facets)

Presupported figurine where the slicer scratches the surface but misses 99.6% of the actual defects · 2,948,793 facets

PrusaSlicer says

number_of_facets = 2948793
manifold = no
open_edges = 23
facets_reversed = 14
backwards_edges = 20

Here PrusaSlicer at least admits the mesh isn't manifold, but it reports only 57 surface issues total. Self-intersections aren't part of --info at all. On a 2.95-million-facet mesh that took 8 seconds just to load, that's the entire structural answer the slicer offers.

AdMeshio says

0 / 100 GRI G 0 · R 20 · I —
  • NON_MANIFOLD10,578 non-manifold edges — 460× what --info reports
  • SELF_INTERSECTIONS399,608 self-intersection pairs — slicer never checks for this
  • OPEN_BOUNDARYcrack-class boundary loops, not intentional drain holes
  • PRESUPPORTED_MAIN_BODY_SImost SI sits in the main body, not at support contacts — the relaxed tolerance doesn't apply
  • Audit completed28 seconds on the full 2.95M-facet mesh · no GUI freeze · 21 flags total

The takeaway

PrusaSlicer's --info tells you the file loaded. AdMeshio's audit tells you the file will print. They aren't competitors — they answer different questions. If your pipeline relies on the slicer's silent auto-repair to mask defects, every printer that ingests the raw file becomes a roulette wheel. AdMeshio replaces that wheel with a check list.

Drop your own file in the browser Quick Check — you get the same flag list against your printer profile, in <30 seconds, without uploading the file off your machine.

Methodology: each file was loaded once into PrusaSlicer 2.9.4 with --info (same admesh auto-fix path the “Fix through netfabb” UI runs), and once into AdMeshio's audit command against the bambu_x1c_pla_standard profile. Outputs above are verbatim. Corpus spans three categories: parametric CAD parts (STEP imports), community-shared Bambu 3MFs, and AI-generated meshes (Hunyuan3D output).