If you want to design a 3d model for a rendering or video game, you don’t need to pay any attention to reality. You can completely ignore the physical world. Most 3d scenes and objects will only contain the outer meshes and layers that are visible, objects don’t need to really connect, and there can be some acceptable topology issues, bad meshes and dupklicated vertexes as well, which won’t affect the end results. Some of you might have already experienced, that once you start working with 3d printers, this is very different!
There are several software needs for 3d printer users: open-source 3d modeling tools, like OpenSCAD or Blender, slicing tool, to “compile” the 3d geometry to a set of G-Code instructions for the toolpath of the extruder tool of the 3d printer, such as Skeinforge or Slic3r; and finally a 3d printer controller program, such as Printrun, Cura or RepetierHost.
Whether you use a web-based (webGL or html5) 3d modeler optimized for 3d printing (such as Leopoly) or a professional CAD tool like Rhinoceros, 3dsMax, Maya, SketchUp or Blender, designing objects for 3D printing demands expertise in everything from structural engineering to material science.
Most common basic 3D software which are available out there are tools like Blender or SketchUp, which have a freely available version, and they are really easy to learn because there are a plenty of well-documented tutorials available online. There are also sites like Leopoly (click here) and Tinkercad, which are in browser based 3D modeling tools that allow you to rapidly create and download a file that you can 3d print on your desktop 3d printer. If you want it to get more advanced you can get into things like Rhino and Grasshopper or Solidworks which are professional level engineering softwares. Or you can go into the AutoCAD suite where you have things like 3D Max, Maya, and AutoCAD.
3d modeling for 3d printing with Blender
Blender is an open-source 3d modeling software that you can use to create your very own models for 3d printing. It is completely free, and there are a plenty of good sites and tutorials if you want to learn how it works. The latest edition came with a 3d printing toolbox as well, designed especially for the needs of modeling for 3d printing. At the beginning, we have to set up the scale and dimensions of our scene. Metric units are easier to notate in blender than imperial units, and the most common 3d printing services use metric measurements (meters and centimeters) rather than the standard blender unit.
You also can scale your 3d model by its volume, it can be useful if you want to optimize your cost of 3d printing (most services charge by volume and material, and you don’t want to pay a huge amount of money just because you haven’t optimized your .stl file the right way). You can check the volume of your object in the 3d print toolbar, and if it is too big, you can actually scale the model automatically so that it is exactly a certain volume. To do this, under the Print3D tab, find Scale To and click volume. Then you have to type in your desired volume in cm3, and it will automatically scale down your model for you. If the volume values are pretty high, your 3d printed object would be quite expensive, so you’d better fix that by making the model hollow.
Common FDM 3d printers can only print things down to certain dimensions, so you should check your machines technical boundaries. Minimal wall thickness, best resolution (minimal layer height) and additional supports (if needed) are the most important aspects of optimizing your 3d model for 3d printing. If you want to add thickness to your mesh surface, select your 3d object in your scene, then add the Solidify modifier. After these steps, you only have to export your 3d model as an .stl file. Before doing this, please double check your measurements and dimensions to make sure everything is at optimal scale, and then above the export button, designate a file path and click export. You should now have a .stl file at your designated location, which can be prepared for slicing and generating the g-code, just like I have described it in the last blog post about checking .stl files before 3d printing.
3d modeling for 3d printing with SketchUp
If you want to get started making awesome models for 3d printing, SketchUp might be a nice and free tool at the beginning. It is the 3d modeling tool of Google, which can help you to design some objects and then 3d print them. Whatever you’re designing, keep in mind the real world. Your 3d model will become an actual object, so you must consider dimensions, strength and gravity. Unlike Blender, SketchUp doesn’t have a 3d printing toolbox, you have to set the parameters for 3d printing manually or use some nice open-source plugins. For example, Cura can directly import the “.dae” file format that SketchUp natively export to. We only have to define the inside and outside of our closed mesh.
Does our computer actually know what is the inside or outside? This important thing should be clear to us, but most computer software needs you to specify this, this is called ‘orienting the faces’ in SketchUp (or ‘unify mesh normals’ in Rhino). There usually is a front and a backside to a ‘face’. In SketchUp there is a slightly different color for the front an back sides. The inside and outside are not understood to a ‘dumb’ computer, so you have to help it! There are some nice tutorials here.
3d models for 3d printing must be “watertight” or “Solid” to be 3d printable. This is by far the most common problem beginners have when modeling for 3d printing. If you were to fill it with water, none would drain out, and the model must not have any extra lines or faces. If you make your object into a group or component, Sketchup will indicate when its solid in the Entity Info dialog box (Window > Entity Info). Plugins can also help you work faster or do things that Sketchup simply can’t do. Solid Inspector is a great tool for detecting bad meshes and topology issues that prevent your geometry from forming solids. The parameters are the same just like in Blender: wall thickness, scale and print material specifications and limitations should be checked before exporting the .stl file. For exporting, there is a great plugin called SketchUp STL Exporter. There is a great tutorial by Shapeways here.
3d modeling for 3d printing with Rhino and Grasshopper
3d design using ‘visual programming’ for 3d printed output might be really cool, but actually, it isn’t available to output a Grasshopper design to be printed with a 3d printer, but the visual programming language of this awesome tool allows us to create some custom mesh optimization algorithms and then bake the results in the Rhino environment. There are some really useful mesh analysis tools to detect and remove bad meshes and we also can check the curvature of the object for additional supports. Grasshopper runs within the Rhinoceros 3D CAD application, which is a professional NURBS 3d modeling environment but without ‘explicit history’ feature or parametric tools.
Rhino is basically a surface modeler, but it can work with solids as well. By putting components on the canvas we can make some really useful definitions to optimize our model for 3d printing, and those fluid forms created with mathematical algorithms look really fancy if realized. These are the most useful components and plugins which can help us to give thickness to our mesh surfaces and make them watertight like Weaverbird and MeshAnalysis.