if you've uploaded anything to Shapeways, you've undoubtably 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. The easiest way to do this is to work by extruding existing volumes (start with a simple cube) and use boolean operations to combine volumes. Of course, several 3D or CAD applications will do all this work for you; two examples are SolidWorks and Bonzai3D.
I've found that it's often difficult to retrofit your existing models for 3D printing, so it's best to start from scratch and with each step keep the goal (3d printing) in mind. This is especially true for models that you find online in model libraries - these are often made for visualization, not for 3d printing. Fixing these for 3D printing will make you want to pull your hair out!
Let's first look a little deeper into the upload process to help you understand why you get certain error mails. Directly after uploading, we run a series of automated tests to see if your object will be printable. Depending on the number of polygons in your model, this should take up to 20 minutes.
Now here's the trick: these checks are performed one after another. If one fails, the process will stop and you'll receive an error mail. So even if your model contains multiple errors (it's too small, the normals are inverted and it's not watertight, for example), you'll still only get one mail (too small). Fix the error (the size, in this example), upload again and you'll get the next error (the normals are inverted). It's a bit of a pain, but as some of these checks depend on each other we really can't help it. Sorry!
File format check. Can we read this file? If not, we'll tell you 'The model could not be validated'. If you get this message after uploading an STL file, then your file might be in a 'dialect' that we can't process yet. An easy fix is to download MeshLab, import your STL, save it to STL straight away and upload again. Nine times out of ten this will fix the issue.
Is the file in STL format? If so, then we'll send you a mail saying 'Your model will take longer to process'. STL files take an extra conversion step; just don't worry about it - everything is still going fine.
Polygon count check. Currently, we can process objects of up to 500,000 polygons. Among other things, this has to do with the processing time of the next checks. If you have too many polygons, we'll tell you 'Your model has too many polygons for us to process it'. Spend your polygons wisely and only add them where they matter; subdivide only areas that need smoothness, for example.
Size check. Will the object fit at least in one of our printers, and is it at least 0.3 x 0.3 x 0.3 cm (anything smaller would be *really* hard to find for our operators ;-). If this check fails, you'll receive a 'Your object is too big/small' warning.
Normals check. Face normals define the 'inside' and 'outside' of your model. If some of them are pointing the wrong way, our printers would go into a panic. We'll send you a message saying 'Your model has inverted normals in it'.
Manifoldness check. The granddaddy of all agony. Your model is not watertight, and you'll receive a message saying 'Only manifold objects can be printed'. The good news is that we recently added a tool called 'Problem Visualisation' to our website, that shows the non-manifold areas in red.
Basically, there are two types of non-manifold errors:
Models can be 'open' (think: not 'watertight'). Sometimes the holes may be obvious, but they can be cunningly hidden as well.
Models can contain unwanted additional faces or edges. These are often impossible to spot by visually inspecting only the outside of your model.
I'll show examples of each error and show you how to solve these situations. I won't go in to any application-specific issues here, but rather explain the basics.
For the mathematically interested: 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 more math goodness, visit Wikipedia.
To start with, here's an easy example: the following sube is missing a face: it's 'open'.
Of course, this has an easy fix: just fill up the open areas:
The next one is a bit trickier: try to spot the hole in this object. Hint: it's in the top-front edge ;-)
Hmmmm, did you find it? Here's the answer,A tricky one, eh?
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:
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:
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.