# Working with Meshes

{% hint style="danger" %}
The following guide assumes that you are using Rhinoceros
{% endhint %}

## Setup <a href="#id-0-2-checking-tolerances" id="id-0-2-checking-tolerances"></a>

### Vertex Snap

Ensure you ha Osnap turned on at the bottom, and vertex snap turned on. Vertices are the point sub-objects of a mesh, and can only be snapped to this way.

### Checking Tolerances <a href="#id-0-2-checking-tolerances" id="id-0-2-checking-tolerances"></a>

Check your tolerances are set correctly and suitable for 3D printing. For most cases, you should the smallest 3D printable detail size / 10. For NExT Lab machines, 0.001mm is more than enough to suffice.

```
Command : Units
```

![Figure 0.2 - Check your tolerance is set correctly in your rhino file](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LOG7zoThcXp7wN40luI%2F-LTyg6I8tN-kpug70YGg%2F-LTyjbmCvXj79T7Q20yy%2FTolerances.PNG?alt=media\&token=76074c24-bcfd-4ac9-bf9b-76beff017391)

### Brute Force Mesh Reduction <a href="#id-0-3-checking-polygon-count" id="id-0-3-checking-polygon-count"></a>

A model with too many polygons comes with several drawbacks.

* Has problems being processed by 3D printers
* Unnecessary mesh detail that will be lost to printing
* Slow to work with as it takes up lots of computing resources

&#x20;If this is the case reducing your mesh can make printing and working with the file much easier. Reducing your mesh can result in a lower resolution so a judgement call will need to be made to on how much resolution is acceptable to lose.

```
Command: Reduce Mesh
```

## Mesh Properties and Modelling

The afore-mentioned properties in Mesh 101 are represented by the mesh topology.&#x20;

The strict description of a valid mesh can be expressed as the following:

* [ ] **All edges are manifold:** Each edge belongs to 2 faces only.
  * [ ] If an edge is used by only 1 face, this means it is a ***naked edge.***
    * [ ] **All manifold edges / 0 naked edges means that the mesh is closed.**
  * [ ] If an edge is used by 3 or more faces, it is a ***non-manifold edge.***
    * [ ] A mesh can be closed yet still have non-manifold edges.
* [ ] **All faces are pointing in the same direction**
  * [ ] If some faces are pointing inwards or outwards, this means that there is no conclusive inside or outside.

### Viewing Mesh Properties

Based on these mesh properties, it would be helpful to be able to view **face direction (backfaces in Rhino), naked edges and non-manifold edges.**

1. Head into your Rhino Options, command: Options
2. From `View > Display Modes` tab, create a **copy** of the standard Rhino **Shaded** mode, or you may edit the default **Shaded** mode instead.
3. Apply the following **Backface** and Mesh Edge Settings, use bold, high-contrast colours!

![Adjust the Backface Settings to 'Single color for all backfaces'](/files/9xYRqseKw3iEP9NR4Z40)

![Under the, Shaded > Objects > Meshes menu, apply the following settings. You may adjust the colours and Edge Thickness for more prominent edges.](/files/h2d1R3ZQYhgX0rkiGzYX)

### Examples

![](/files/jRDErCQAnybZhohjCxvG)

From applying these view settings, mesh issues can be spotted immediately! Most obviously is if you see any backfaces, this means that there is usually a **hole and therefore naked edges.**

![A closed mesh can still suffer from these instances where faces cross over each other. Sometimes these are not coloured properly by Rhino.](/files/WMHARRAUX9PlgEW8kBrz)

![Another common issue is very small gaps.](/files/kcMFt11pqn5oWCNvWlTI)

## ShowEdges

`[ShowEdges]` is the quickest way to identify any mesh issues. Simply select all the objects you want to check and type in the command.

![](/files/rYu7nh4FvlmISdOHgprq)

### &#x20;<a href="#id-1-1-displaying-backfaces-naked-edges-and-non-manifold-edges" id="id-1-1-displaying-backfaces-naked-edges-and-non-manifold-edges"></a>


---

# 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://ms-kb.msd.unimelb.edu.au/next-lab/3d-printing/key-techniques/mesh-techniques/working-with-meshes.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.
