Fixing Non-Manifold Models
If you've uploaded your 3D file to Shapeways, there is a chance you have received a few 'non-manifold' or 'mixed normals' errors. This tutorial will explain what these errors mean, and how you can fix them.
Before you begin modeling, always remember that when you're modeling for 3D printing that you should create volumes that make sense in a physical world. While some 3D software may address non-manifold geometry for you, it helps to know what is going on behind the scenes and be prepared to errors manually if you are in a jam.
When starting a new 3D model for printing, it helps to keep in mind your ultimate goal: creating a printable design. Be careful when using files from online model libraries, because they are often created for CG Renders and not for 3D printing.
Types of Non-Manifold Errors
Generally, there are two types of non-manifold errors:
- Open Objects: When there are holes in the object (think: the opposit of 'watertight').
- Unwanted Faces:When a model has unwanted extra faces or edges. Sometimes this extra geometry is hard to spot by only looking at the outside of the model.
To explaing further, we'll look at examples of possible non-manifold geometry and show you to resolve the errors. For now, let's put software-specific issues to the side and focus on the basics.
For the mathematically inclined:: Shapeways requires all objects to be 2-manifold. This means that each edge should be connected to exactly two faces. 'Open' objects are typically 1-manifold (or even 0-manifold for stray edges), models containind unwanted faces are 3- or more manifold. For a more indepth definition of manifoldcheck out this Wikipedia article.
This open object is missing a face:
Solution: Close the hole, by creating a new face.
In this example, an edge is not fully connected. Can you find it?
The video below can help you find the loose edge.
What you're seeing here is that two edges overlap with another edge. Dragging the center-front vertex away shows that the faces at the top and the front of the cube SEEM to be connected, but they're not (at least not as far as your computer is concerned). So while visually correct, this object is still considered 'open'. This is a good example of an object that would work great for vizualisation or video purposed, but a 3D printer can't handle it.
Finding these overlapping vertices in complex models can be hard. Check if your 3D app has a function to find holes or 'non-manifold edges'. Fixing this one requires a little remodelling, but it shouldn't be too hard. In addition, you should get a much cleaner geometry which is always a nice bonus:
Unwanted faces: internal faces
Now we're getting to the more interesting bits. The following cube looks fine from the outside; there are no additional vertices in suspect areas, and while dragging the vertices around you don't see anything wrong with it.Switching to wireframe view reveals an additional face on the inside of the cube:
Even while this face does nothing for the printed result, the printer software can't handle this kind of geometry. The solution is to just delete the face.
Unwanted faces: overlapping faces
A bit along the same line as the previous sample, but slightly trickier to spot are the overlapping faces. The front face of the cube below has been triangulated - it should consist of two triangles. However, somewhere along the modeling process two additional faces were added, overlapping with the first two:
Again, removing the additional faces will not change the geometry and the printed result, so go for it!
Don't worry - we're here to help. Just mail your file to firstname.lastname@example.org and we'll look into it for you. Please make it easy for us to help you though, and add the following information:
- The error message that you received.
- Your 3d file, either as STL or OBJ (we can't just grab it from your account). Even though our servers can handle X3D and Collada, the desktop tools we use to check and fix the files can't. Computers, eh?
- The expected dimensions of your model.
Please leave feedback on this tutorial in this forum thread. Thanks!
Get more help in our Forums