3D printing your Blender models is one of the most exciting techniques.
What's cooler than magically materializing a digital 3D mesh into a tangible real-life object?
But a digital object needs preparation in order to be suitable for 3D printing.
This article shines a light on preparing a mesh for 3D printing in Blender, divided into a number of checks and options - with Suzanne as our example.
What you'll find in this article:
- Check 1: Does the mesh have enough polygon detail?
- Check 2: Does the object need support?
- Check 3: Is the Blender mesh manifold?
- Check 4: Are the object's dimensions correct?
- Option 1: Do you want to paint your 3d model?
- Option 2: Do you want your 3d printed object to be hollow?
- The final step: exporting your model for 3D print
Check 1: Does the Blender mesh have enough polygon detail?
In virtual 3D space, low polygon detail can be obscured using a shader, giving a 3D object’s surface the illusion of smoothness in renderings.
This effect can’t be translated to a 3D-printed object, so you’ll need to ensure that an object has sufficient polygon detail to avoid visible facets, unless you’re aiming for a stylized execution.
Let’s delete all default scene elements, and add a Suzanne (Monkey) head to Blender.
The default monkey head has a very coarse amount of polygons.
While the head is selected, press Control + 3 to add a Subdivision modifier with three subdivision iterations.
This will smooth out Suzanne’s surface, so we’ve got proper polygon detail for 3D printing.
Hover your pointer over the Subdivision modifier and press Control + A to apply the subdivisions to the monkey head.
Check 2: Does the object need support?
In virtual 3D everything floats by default. But once 3D-printed, an object will fall over if there is insufficient balance.
In the case of Suzanne, you could put her on a table with a tilted head, but it might still roll to the side.
So let’s create support, so the head can keep the same orientation as in the 3D viewport.
Orbit the viewport to view Suzanne’s chin, then Shift + right-click on the bottom of her chin to place Blender’s 3D cursor there.
Press Shift + A ➔ Mesh ➔ Cylinder to add a cylinder to the 3D cursor position. Enter Edit Mode and manipulate the cylinder vertices as you wish, moving vertices, adding edge loops, and extruding faces.
I’ve kept it simple and minimalistic. Added two subdivisions with the subdivision modifier, extruded a middle part, and added some edge loops, also inside the caps, to make the features a bit sharper.
So before you 3d print, consider these two things:
- The balance. Suzanne’s large head volume needs to be taken into account when creating support.
- The robustness. If your mesh has small or thin features, those might break off during the 3D printing process or afterward. In the case of Suzanne, make sure the support and Suzanne’s chin are overlapping enough to handle the weight of the entire head.
Check 3: Is the Blender mesh manifold?
Although Blender’s viewport shows us something that seems ready to be 3D-printed, some more work is still necessary.
In this case, the monkey mesh exists of three separate parts, featuring open edges: the head and two eyes.
In order to be ready for 3D-printing, an object needs to be manifold, or ‘watertight’.
This means the object should have a continuous surface without loose parts, open edges, and other anomalies that might exist in virtual 3D space.
How to make a Blender object 'watertight' for 3d printing:
Make sure the support has its subdivision modifier applied by hovering your pointer over the modifier and pressing Control + A to apply it.
- Select both the head and the support in Object Mode, then press Control + J to join the objects into one mesh.
- Add a Remesh modifier, make sure Voxel mode is active and set the Voxel Size to a detail level you like. Using the default Suzanne dimensions, I set the Voxel Size to 0.007.
- To soften the artifacts caused by the voxel remeshing, add a Smooth Corrective modifier, check Only Smooth, set the Smooth Type to Length Weight and adjust the Repeat value to your liking. I’ve set the Repeat value to 10.
- Hover your pointer over the Remesh modifier and press Control + A to apply it, then do the same with the remaining CorrectiveSmooth modifier.
The entire model and its support are now one seamless, manifold mesh that’s almost ready for 3D printing.
Check 4: Are the object's dimensions correct?
So far we’ve worked with Blender’s default monkey head size, which is 2 meters (approximately 6.5 feet).
You would need quite a large 3D printer, a huge amount of print materials, and a lot of space in your room for that, not to mention the necessary expenses.
You can check your object’s scale in the N-key panel ➔ Transform ➔ Dimensions.
Make sure Blender is set to your local unit system
As a European resident, I’m working with metric units, so for the scope of this article, it would be convenient if US readers would change their Blender units to metric as well, if necessary.
This can be realized in the Scene Properties tab ➔ Unit System ➔ Metric.
After setting the Unit System to Metric, one more important setting needs to be changed: set the Unit Scale to 0.001.
This will synchronize Blender units with a scale of millimeters, because Blender’s 1.0 Unit Scale equals 1 meter. Most 3D file formats used for printing use millimeters for the dimension values.
How to resize our Blender masterpiece to a proper scale:
- Select the object, and make sure the Transform ➔ Dimensions values are visible in the N-key panel.
- Press S to activate Scale mode, and type a scale factor that makes the object’s dimensions correspond to the real-life size you desire. (I’d advise resizing the model to around 0.1 meters, which equals 100 mm or 10 cm. Press Enter to confirm the new size.)
- Check the scale in the Transform section of the N-key panel. The largest dimension (X, Y or Z) should not be much larger than 0.1 m.
- Move the scaled object back to the world center if necessary.
- This last step is very important: press Control + A ➔ Apply ➔ Scale to hardwire the new scale into the mesh. The Scale values in the N-panel (not the Dimensions) should now indicate 1.0.
Your mesh now has proper dimensions and is ready to be exported to a 3D printer!
Be it the software of your own 3D printer or an online 3D print service, you're ready.
But there still a few options you might consider.
Option 1: Do you want to paint your 3d model?
You can choose to paint the model digitally -- or in real life, once it’s printed.
Painting your 3d printed model digitally
If you go the digital route, vertex painting is the best option for our model, because we’ve lost the UV coordinates during the mesh processing, and the voxel remeshing has given the model high and consistent vertex detail, ideal for vertex painting.
In case you had already painted the original model, you could try using the Data Transfer modifier to reproject the original model’s vertex colors onto the 3D print-prepared model.
But before adding or reprojecting paint you might first want to consider the next option...
Option 2: Do you want your 3d printed object to be hollow?
Right now, the object will be considered as a solid volume by the 3D printer.
This is fine if the object is small, but when the object is 10 cubic centimeters or larger, the amount of necessary print material for a solid volume can become pricey, drain your print material supply, and the object will also have more weight than if you would make it hollow.
Hollow object = cheaper 3d print
Making an object hollow is not simply a matter of making a copy of the mesh and downscaling it a little to create an inside surface (unless it’s a very basic shape.)
Usually, you’ll need to create an even offset of the complete surface, ensuring a consistent wall thickness everywhere in the model.
How to make an object hollow in Blender (non-destructively, for any object complexity, withoutfor add-ons)
First, create an object to subtract from the to-be hollow result, in order to establish a support material vent, and to have the mesh recognized as hollow.
Usually, this can be a simple shape, like a cylinder or box. In this case, a wide cylinder has been placed through the bottom side of the support, to become a hole there.
Next, select the 3D print model and add the following modifiers and settings:
- Solidify modifier, with Mode set to Complex, and Thickness set to your desired wall thickness. For example, a value of 0.002 equals 2 millimeters in metric units.
- Boolean modifier, set to Difference, with the vent object set as the Boolean Object, to form the hole at the bottom.
- Remesh modifier, in Voxel mode, with the Voxel Size set low enough to maintain the small object’s details.
- Smooth Corrective modifier, set to Only Smooth, the Smooth Type set to Length Weight and the Repeat value adjusted to your liking. I’ve set the Repeat value to 5.
- Optionally, add a Decimate modifier, in Collapse mode, and set the Ratio to something like 0.5. Usually, this doesn’t change the object visibly, but halves the number of polygons.
💡 Tip: In case the Boolean operation fails, try slightly moving the vent object. The Boolean failure might be caused by coinciding faces or edges.
This modifier-based hollowing approach is completely non-destructive
The model without a hollow inside remains intact as well.
Below is a wireframe view of the final hollow mesh, including some decimation at the end. As you can see, the modifier stack automatically stops hollowing where parts would become too thin, such as the ears.
However, this is only suitable for non-colored objects for 3d print
A disadvantage of this modifier-based hollowing approach is that color information in the shape of vertex colors or UV maps will be destroyed, so this hollowing method is only suitable for non-colored objects.
Hopefully, a future version of the Remesh modifier will include preservation/reprojection of vertex colors.
For now, you could try using the Data Transfer modifier to reproject existing vertex color data, or you can choose to paint the final, hollowed model.
This would require applying all modifiers, in order to paint on the resulting mesh.
The final step: exporting your model for 3D print
Once your model is finished, it’s ready to be exported to a 3D file format that is supported by your 3D printer or 3D print service.
Be sure to check if the 3D file format supports color information. If the model doesn’t include color, the STL format is much-used.
If a required 3D file format is not present in the File ➔ Export menu, check the Add-ons section of Blender’s Preferences. Some file format export add-ons are not activated by default.
When exporting, make sure the scale is set to 1.0 in the file format options, so the dimensions of your object will be correctly included in the 3D file.
Happy 3D printing! 🐵