RHINOCEROS^{®} plug-in & standalone program

Triangle Mesh Completer Downloads

TMC Rhinoceros plugin Manual

TMC Standalone version Manual

Contact information

Frequently Asked Questions

Advanced Mesh Repairing Theory

Alexander Emelyanov,

**Institute of Computing for Physics and Technology**

Protvino, Moscow region, Russia

ae@ae3d.ru

(Updated version of the paper presented on** Graphicon 2010**)

Consider a CAD-model that is an unsuccessful result of work of some surface reconstruction algorithm and has the following properties: the model contains a partially reconstructed surface (**A**), with condition that each part of this surface represents the corresponding part of the original object; the remaining part of the model surface (**A**) is missing; the model can contain unused sampled points (*free points*). Let’s call such model an *incomplete CAD-model *(*ICADM*). In general case, to obtain it, we need to apply a proper filtering procedure that removes all parts of **A** which don’t represent the original object surface. Just an ICADM is the assumed input in our works.

In an ICADM **A** can be represented by one or several isolated coherent regions. Let’s call such regions *islands*.

Any ICADM contains one or several closed boundaries which separate **A** and **A**. Each boundary has connection with one and only one region of **A**. If this region is connected only with the same boundary let’s call such boundary a *hole boundary *or a *complex boundary *(*CB*) otherwise. As a consequence, the aggregate of a hole boundary and the region of **A** that is connected with the boundary is called a *hole*.

Let’s call a hole a *trivial hole *(*TH*) if its region of **A** can be reconstructed by an existing not so complicated algorithm or a *complicated hole *(*CH*) otherwise. A boundary that is not the boundary of a trivial hole will be called a *non-trivial boundary*.

Using the terms defined above the following classification of ICADMs is made: class |
num. of islands |
CB |
CH |
TH |

ICM3 |
>1 |
y |
y/n |
y/n |

ICM2 |
1 |
n |
y |
y/n |

ICM1 |
1 |
n |
n |
y |

ICMT |
1 |
y |
y/n |
y/n |