Cympha

Model repair: repair a mesh with Fix model in Cympha Studio

Fix model is Studio's one-pass model repair: it repairs a raw STL, PLY or OBJ scan, closing holes up to 5 mm and keeping the largest region, before the file goes into the dental case.

Audience: Clinicians and lab designers who have just loaded an .stl, .ply, or .obj mesh that needs to be cleaned up before registration, measurement, or export — typical sources are raw intraoral scans, segmented tooth meshes, third-party exports, and any geometry that arrived as triangle "soup".

You'll come away knowing: when to reach for Fix model versus more targeted tools, how to invoke it from the mesh right-click menu, what the pipeline does to your geometry, how to read the status messages while it runs, and the one gotcha that catches people out — the "largest region" step.

Time required: Seconds. The pipeline takes a moment on a single arch scan and noticeably longer on a dense full-mouth mesh.


Before you start

You need:

  • A mesh already added to the scene — via the top-toolbar Add model (+), ☰ Open optical scan file…, drag-and-drop, or a URL. Formats: .stl, .ply, .obj.
  • No GuideMia case loaded. Fix model and the other standalone cleanup commands appear on the right-click menu only for user-added meshes when no full .gvw case is open. If you have a case loaded and want to clean a separate scan, use ☰ → Clear scene first, or open the scan in a fresh Studio tab.
  • A backup of the original file. Fix model rewrites geometry in place. <kbd>Ctrl</kbd>+<kbd>Z</kbd> restores the previous geometry — but it's a one-step undo, so if you notice a problem only after further edits, you'll want the original to reimport.

Sign into studio.cympha.com and open your mesh.

When Fix model is the right hammer. Use it when you want a single conservative pass over the entire mesh — typical for a fresh STL straight out of a scanner or a third-party export with small holes, duplicate vertices, or non-manifold edges. Use the targeted tools instead (Smart cleanup…, Delete region…, Local smoothing…) when you can see exactly where the defect is and want to leave the rest of the surface untouched. See How to clean up meshes with the brush tools.

Step 1 — Open the mesh context menu

  1. Right-click directly on the mesh body in the main 3D view. Right-clicking empty space won't open the cleanup menu — Studio needs a pick on the mesh itself.
  2. The menu opens at the cursor. The menu title shows the file name of the mesh you clicked, so on scenes with two arches you can confirm which mesh is about to be edited.
  3. Click outside the menu, or press <kbd>Escape</kbd>, to close it without doing anything.

If Fix model isn't in the menu. Most likely a GuideMia case is loaded — standalone cleanup is hidden in that mode so case geometry can't be accidentally rewritten. Use ☰ → Clear scene if you're working with a standalone scan and don't need the case. The command is also hidden if you right-click on a mesh that carries case metadata (a tooth from a .gvw plan), even if you also have other user-added meshes in the scene.

Step 2 — Run Fix model

  1. In the right-click menu, choose Fix model.
  2. The viewer switches to a wait cursor while the pipeline runs on the main thread. The browser tab will feel unresponsive on dense meshes for a few seconds — that's expected, not a hang.
  3. Watch the status line at the bottom of the viewport. It reports:
    • Start: "Fix model: running pipeline…"
    • On success: "Fix model complete (holes ≤5 mm, non-manifold, clean, smooth)."
    • On failure: "Fix model failed: …" with a short reason.
  4. On success the cleaned geometry replaces the original in the scene.

What the pipeline actually does

Fix model is a fixed sequence of conservative cleanup steps, applied in this order, over the entire mesh:

  1. Merge coincident points. Welds triangles that share a position but didn't share a vertex index, so edges actually connect. This is the main fix for "STL soup" where every triangle is its own island.
  2. Remove non-manifold structure. Strips non-manifold points and problematic edges, then drops internal and hanging elements.
  3. Clean again, then keep the largest connected region. This step drops floating islands — stray triangles that aren't connected to the main shell. This is the step that can surprise you (see the gotcha below).
  4. Fill small holes — twice. Small openings are closed; larger ones are deliberately left open so the filter doesn't bridge across a real gap. Two passes catch holes the first pass exposed.
  5. Clean once more, then a gentle smooth. Deliberately light — just enough to remove triangle-scale stair-stepping without rounding anatomy.
  6. Recompute vertex normals. So shading is stable in the viewer regardless of how the original file stored normals.

You don't get to tune any of these steps — Fix model is intentionally one-click. If you need different hole-fill behaviour or smoothing strength on just one part of the mesh, use the targeted tools instead. See How to fill holes and smooth the whole surface and How to clean up meshes with the brush tools.

What success looks like

  • The status line reads "Fix model complete (holes ≤5 mm, non-manifold, clean, smooth)."
  • The visible mesh keeps its overall shape, with small holes closed and the surface a touch smoother than the original.
  • The mesh entry in Models (top toolbar) is still present with its colour and visibility settings, just rewritten in place.
  • If you save the scene as a .cyp project after this, the cleaned mesh is what travels with the project — not the original input file.

The largest-region gotcha

The "keep largest connected region" step is the one place Fix model can do something you didn't intend. If your scan contains two real shells that aren't physically connected — for example a segmented mesh exported as upper-arch plus separately-segmented isolated teeth, or a facial scan with the ear region detached — the pipeline keeps only the biggest piece by triangle count and discards the others.

This is conservative for most raw scanner output, where the disconnected islands are noise. It's the wrong choice when the smaller piece is something you wanted to keep.

If you notice the result is missing material:

  • Don't keep working on the reduced mesh. Press <kbd>Ctrl</kbd>+<kbd>Z</kbd> straight away — mesh geometry edits keep exactly one step of undo, and it restores the pre-Fix model geometry. If you've already made further edits, reimport the original file instead (Add model again, browsing to the same source). Then either skip Fix model entirely or use the targeted brush tools on the bad region only.
  • For a scan that genuinely is two-or-more separated shells you want as one mesh, register or merge them in your scanning software before bringing them into Studio. Fix model can't tell which islands are anatomy and which are noise.

Troubleshooting

The right-click menu doesn't show Fix model. Most likely a .gvw case is loaded — clear the scene with ☰ → Clear scene if you're working standalone. Or you right-clicked on a mesh that carries case metadata; right-click on a user-added mesh instead.

Status line says "Fix model failed: empty result." The pipeline ran but produced no triangles. Usually means the input mesh was too pathological for the cleanup passes (every triangle was non-manifold, or the largest connected region was empty after cleanup). Reimport the original and try Fill holes or Smart cleanup… on the problem area first.

The mesh looks "softer" than before but I didn't want any smoothing. Fix model always finishes with a gentle smoothing pass — light, but visible on high-resolution scans. If you want zero smoothing, don't use Fix model; combine Fill holes with targeted brush cleanup, or open the scan in a dedicated mesh-editing tool.

Fix model dropped a tooth / a small floating piece I wanted to keep. That's the largest-region step. Press <kbd>Ctrl</kbd>+<kbd>Z</kbd> to restore the previous geometry (one step of undo), or reimport the original, and decide: either pre-merge the islands in your scanning software, or skip Fix model and use the brush tools on the specific defect.

The browser tab feels frozen for several seconds. The pipeline runs on the main thread, so the UI is unresponsive while it works. Wait for the status line to update — a dense full-mouth mesh can legitimately take a while. Don't reload the tab mid-pipeline.


Related how-tos: How to fill holes and smooth the whole surface · How to clean up meshes with the brush tools · How to build a virtual patient in Cympha Studio · Cympha Studio operations reference

CymphaLMSCymphaStudio