# Repair

## <img src="/files/2z3y9q7IOiicq65Zhal8" alt="" data-size="line"> Repair <a href="#profiles" id="profiles"></a>

The **MeshRepair** command opens the Mesh Repair panel, providing tools to analyze and repair problematic meshes efficiently. This is especially useful for preparing models for STL/SLA printing, where issues like long, thin facets can cause errors or performance problems.

***

### **How to Use the Mesh Repair Panel**

1. **Select a mesh** and click **Check Mesh**.
   * A detailed report on the mesh is displayed, including an **Edge Analysis** view.
2. Identify problems from the report and click **Repair** to fix them.
3. After resolving all issues, click **Next** to access **Advanced Repair Tools** for further adjustments.
4. Make final edits and click **Finish** to complete the repair process.

***

### **Panel Features and Error Types**

The panel provides a summary of detected mesh errors and tools to address them. Error types are automatically highlighted when detected.

### **Error Statistics and Fixes**

* **Degenerate faces:**\
  Removes faces with all vertices at the same location.
  * See: `CullDegenerateMeshFaces`.
* **Zero-length edges:**\
  Removes edges with overlapping vertices.
* **Duplicate faces:**\
  Eliminates overlapping faces.
* **Non-manifold edges:**\
  Extracts faces joined by non-manifold edges.
  * See: `ExtractNonManifoldMeshEdges`.
* **Inconsistent normals:**\
  Fixes reversed normals.
  * See: `UnifyMeshNormals`.
* **Disjoint pieces:**\
  Separates unconnected parts of the mesh.
  * See: `SplitDisjointMesh`.

***

### **Advanced Repair Tools**

Additional tools for precise mesh editing:

* **Align Vertices:** Aligns selected vertices. (`AlignVertices`)
* **Match Edges:** Adjusts mesh edges to align. (`MatchMeshEdge`)
* **Delete Faces:** Removes unwanted faces. (`DeleteFaces`)
* **Patch Face:** Repairs individual faces. (`PatchSingleFace`)
* **Fill Hole:** Closes a specific mesh hole. (`FillMeshHole`)
* **Fill All Holes:** Automatically closes all detected holes. (`FillMeshHoles`)
* **Split Edges:** Splits selected mesh edges. (`SplitMeshEdge`)
* **Swap Edge:** Adjusts edge connections. (`SwapMeshEdge`)
* **Rebuild Mesh:** Reconstructs the mesh with uniform topology. (`RebuildMesh`)
* **Unify Normals:** Ensures all normals are consistent. (`UnifyMeshNormals`)
* **Undo:** Reverts the last action. (`Undo`)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rhinoartisan.com/commands/mesh/mesh-repair/repair.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
