Software for designing 3d objects
We are often asked what software we use to create 3d models for printing. The answer depends on the type of project. This potted guide explains some of the software we use in the production of our 3d models.
The basic workflow for any 3d printing or CNC project is
- create a digital 3d model.
- break this down into commands the machine can understand.
- send the commands to the machine.
In this article, we are mainly concerned with the first step, creating the digital 3d model.
See also: An Overview of 3d Printing.
The right tool for the job
If the model is driven by dimensions, say it has to have a specific pattern of holes, or a specific size, we use CAD (Computer Aided Design) software.
Some projects involve more organic shapes, or a highly detailed surface. For these, we use mesh modelling tools.
Repairing issues with mesh files is a specialist job for mesh analysis and repair tools.
Sometimes, mainly for CNC and laser cutting, we just need the outline, or a path to follow with an engraving or cutting tool. For these we need drawing software that can create paths or vectors.
CAD (Computer Aided Design)
CAD software is all about dimensions. If you know that something has to be a certain thickness, with specifically sized holes in exact locations, these can be created in CAD software in a matter of seconds. In CAD software, if the dimensions change later in the design process, you can quickly find the parameter, and change it. The software will apply the change and update all the downstream characteristics that depend on that parameter. So, if you placed a feature in the center of an object, but later change its width or length, your feature is still in the center.
This ability to drive the design by defining and updating parameters is known as parametric modelling, and it is very powerful. Especially when working in an iterative design process where changes are frequent.
CAD File Formats
CAD software has been widely used for decades. Over the years, several industry standard file formats have emerged. It is usually straightforward to import and export files between different CAD packages using these formats. IGES and the newer STEP format are the most common. These file formats preserve all the dimensional data in the design.
For 3d printing however, files need to be exported in a mesh format. The most common format is STL (Simple Tesselation Language). The STL format describes the surface shape like a digital lump of clay. STL files contain no information about units, colour or materials. While you can still take measurements, the STL format does not contain any of the parameter information from the CAD version. Converting to STL format creates a series of triangles for the surface. A flat plane can be described using a few of these triangles. A sphere may use thousands. If you zoom in on a curved surface in an STL file, it will be made up of many small flat surfaces. If the resolution of the surface is not high enough, these will show in your final print.
While editing CAD designs by updating parameters is fast and easy, making changes once it has been converted into STL format is difficult and time consuming.
When working with organic shapes, say a landscape or a figurine, it is more important to have precise control over the overall shape and form rather than just be driven by dimensions. More like digital sculpting than engineering design. It may also be necessary to make changes to an existing STL file where the original CAD version is not available. In these cases, you need to use software that allows direct editing of the surface mesh.
Mesh software breaks down into two main categories, analysis and fixing of issues with the mesh, and authoring tools to create your own mesh from scratch.
What's a Mesh?
A mesh comprises of a series of vertices (points in space), connected by edges (connecting two vertices) and faces (enclosed by three or more edges). While the STL file format works with triangles, Faces with four edges (quads) are easier to work with when editing. It is also possible to work with faces with more than four edges (polygons).
For 3d printing, the mesh needs to have thickness and volume, fully enclosing a space without any holes. A mesh that successfully encloses a volume is known as watertight or “manifold” and is essential for 3d printing. If 3d printing software comes across holes in the mesh, or a face that does not enclose a volume, it will either fail or have unpredicted results when trying to print.
Getting the mesh right is critical to a successful 3d print. This applies equally to files that have been exported in STL format from CAD software and to files that have been created from scratch in mesh modelling software. It also applies to 3d models that might have come from another source – like a 3d scan.
Scanning software creates thousands of reference points from an object, known as a point cloud. Many scanning packages can convert these point clouds into a mesh. Essentially this involves treating the points as vertices and joining them together with edges and faces. The resulting mesh often needs clean-up to fix holes in the model where the software found insufficient points to join together.
At Celtic3d we use several industrial strength tools to analyse and fix mesh issues prior to 3d printing.
MeshLab (http://www.meshlab.net) is available as Open Source under GPL licence and is an invaluable tool to find and fixing issues with your 3d model file. It has features to automatically find and fill holes as well as fix the most common mesh issues.
Creating Your Own 3d Models
While exporting from CAD, downloading STL files from the web or scanning objects are all viable ways to get your 3d model file. Often 3d modelling from scratch is the best option. Our go-to software for creating 3d models from scratch is Blender. It is not just a great tool for digital sculpting and mesh modelling. It is also a full-featured 3d authoring environment. Blender covers everything from CGI (Computer Generated Images), animation, video editing, physics simulations, materials, textures and lighting.
It has superb 3d modelling capabilities and has an included 3d printing add-in (enabled via User Preferences) to export files in STL format. Like any software of this breadth of capability, you will need to invest some time to get to grips with it. However, the payback is enormous. Health warning: if you get the bug, it can take over your life. But, you will be joining a massive online community of artists who have created a large library of tutorials and resources to get you started.
Blender is Open Source, available at blender.org and is a free download. We encourage you to make a contribution if you find it useful.
Celtic3d is a member of the Blender Professional Network.
Creating a guide to using Blender for 3d print projects is beyond the scope of this article. For those of you who have already dipped a toe in the water, some quick tips for using Blender specifically for creating 3d printable models.
- Sort out your scale from the outset. The STL file format does not include any information about units, however most software assumes 1 unit = 1 mm in the real world. Blender, by default, uses it’s own unit scale when exporting STL files. The easiest way to handle this is to adopt a convention where 1 Blender unit = 1 mm.
- Pay attention to real-world sizes and thicknesses. It is easy to get sucked into spending hours on details that turn out to be too small to see in the 3d print.
- Use non-destructive modifiers. A quick way to ensure that all your wall thicknesses are 3d printable is to model using planes and add a “solidify” modifier to make them a defined thickness. (Remember to “Apply Scale” when modelling and turn on the “Apply Modifiers” option in the 3d Print utility.)
Although strictly not relevant to 3d printing, we frequently combine 3d printed parts with 2d CNC machined components in the same model. CNC machines and laser cutters need a defined path to follow. These paths, or vectors, are created in 2d drawing software. We use Adobe Illustrator for this purpose, mainly because we can also then use Illustrator for other graphics work.
There are Open Source vector drawing tools available but unfortunately their functionality generally lags behind Autodesk’s.
Preparing and creating files for 3d printing involves a whole toolbox of software. Fortunately, much of what you need is readily available and often free to download and try. Choosing the right tool depends on the type of job in-hand. We have hopefully given you some pointers. If you found this article useful, please link and share.