The difference between Non-Manifold and Manifold geometry has been a commonly asked topic at TransMagic. For all our customers and followers, what is the difference between Non-Manifold and Manifold geometry?
The first question is really what does manifold or non-manifold mean?
Manifold is a geometric topology term that means: To allow disjoint lumps to exist in a single logical body. Non-Manifold then means: All disjoint lumps must be their own logical body. Of course that definition is often more confusing so perhaps the best way to think of Manifold and Non-Manifold is this: Manifold essentially means "Manufacturable" and Non-Manifold means "Non-manufacturable". In other words manifold means: You could machine the shape out of a single block of metal....and with a non-manifold shape you could not.
If you have a copy of TransMagic, click on this link Non-Manifold Example to download this file and load it into your copy of TransMagic.
This file consists of two cubes that were Boolean United along a single shared edge - resulting in ONE logical body. This is a simple yet effective illustration of a non-manifold body - where each block is a "disjoint lump" yet there is a single body. The shared edge between the blocks is the actual non-manifold condition. Since this edge is infinitely thin there is no manufacturing process that could create such a shape as an infinitely thin edge can not be manufactured. In reality, eventually you'd just separate the two blocks. TransMagic is an example of a non-manifold geometry engine - a math engine where these types of shapes are allowed to exist. There are two types of modeling engines: manifold modeling engines and non-manifold modeling engines. TransMagic, ACIS, CATIA V4, Inventor, CATIA V5 & Pro/E are all examples of non-manifold modeling engines. NX, SOLIDWORKS, Solid Edge and Parasolid are all examples of manifold modeling engines.
Manifold modeling engines are not allowed to represent disjoint lumps in a single logical body. Each lump must be its own body. To see proof of this concept for yourself do the following:
- Load the non-manifold.tmr file into TransMagic.
- Open the Assembly Browser (Tools->Assembly Browser) and note the single part.
- Save this file as a Parasolid *.x_t file.
- Re-load this Parasolid *.x_t file and open the Assembly Browser.
The screenshot at below shows what you will see in the Assembly Browser with the TMR (or any ACIS format) on the left, and the Parasolid format on the right.
A by-product of simply saving the Parasolid *.x_t file out of TransMagic is to separate geometry where necessary to conform to Parasolid's manifold requirement. When using a non-manifold modeling application such as CATIA V5, for example, during the creation of very large and complex parts it is possible that non-manifold conditions get created inadvertently from operations such as Booleans, blending, sweeping, lofting, shelling, etc. When TransMagic takes these very large and complex non-manifold solids and saves them out to a manifold modeling format such as Parasolid - these conditions will necessarily need to be "split" at the non-manifold locations. When solids can’t be created then a surface model is created. It's simply a matter of communicating two different mathematic models and this splitting cannot be avoided.
Written by Craig Dennis, CTO at TransMagic, Inc
Created: Monday, 16 September 2013