The basics of 3D printer Software
A FDM 3D printer is, in essence, a plastic extruder that can deposit the extruded material in an xyz space. How the material is deposited in the xyz plane depends on the 3D printer, i.e. sometimes the print head moves and sometime the platform moves or sometimes it is a combination of both. What is consistent is that the z-axis on FDM 3D printers is produced by adding layers of extrudate upon layer, the same principal as building a coiled pot.
The role that software has in three 3d printing for FDM printers is three-fold. Firstly, a 3D design is produced in some 3D modelling software; secondly that design is converted into slices or the layers that the printer will lay down; thirdly these slices are converted into machine code that the printer can understand. In this article we are going to give a brief introduction to these different levels of software control over your additive manufacturing projects. Hopefully this can help you on the road to designing your own 3D printable projects. Most importantly you will need to have command of a good 3D design software package. Slicer software may not be such an important consideration for you depending upon which 3D printer you currently have.
- 3D modelling software – tools to create your 3D designs
- G-code – how your 3D printer is controlled by software
- Slicer Software – converting your 3D designs into a language your 3D printer understands
- Some conclusions on 3D printer software
3D modelling Software
– Polygonal Mesh 3D modelling Software
Three dimensional modelling software broadly speaking models an objects in one of two ways, as a solid object or it models just the shell or boundary of an object. The latter method is by far the most common. When it comes down to actually creating the model the most common method is for the software to build the object from a series of points in 3D space interconnected by straight lines to form a polygonal surface, or mesh. This is a very common method as computers can handle this type of 3 dimensional representation easily, however, their limitation is that to represent curves the software generates lots of polygons, some what like limit theory in differentiation, its a digital approximation of an analogue world, the more polygons the closer to the real surface the model is. Cubify Design 3D modelling software uses polygonal mesh 3D modelling techniques.
There are a lot of 3D modelling software solutions available, however most of these are not geared towards 3D printing, they are designed with the experienced 3D modeller in mind. Some common free 3D modelling software is Blender, Google’s Sketch-up or TinkerCAD. Generally speaking these packages are not designed for the beginner, Blender for instance is very powerful but not intuitive to use and so does require some motivation to use. Of course once learnt you can do some amazing things with it and there is a lot of support materials available. We sell 3D modelling software, specifically designed for 3D printing made by 3D systems Cubify. We stock Cubify Invent and Cubify Design software.
– Digital Sculpting 3D modelling Software
The latest kid on the block, with regard 3 dimensional modelling is digital sculpting, this is what Cubify Sculpt does. This is a method of allows the user to manipulate a mesh file by pushing or pulling upon the 3d model as if it where a sold material like clay. Digital sculpting is very good for producing organic forms, objects with curved surfaces. Generally speaking it is a form of 3D modelling used in conjunction with more traditional polygonal mesh modelling software tools.
There are free alternatives available for digital sculpting, most notably they are Sculptris, Mudbox, or the web based SculptGL. There isn’t many options for free 3D sculpting programs at the moment, sculptris is there but it only works on Mac and Windows but the SculptGL platform is definitely worth a look and will export your files in .STL, .OBJ or .PLY format.
The point to think about when picking 3D modelling software, in the first instance, is can it produce 3D model files in the right format for my printer or slicer software? Secondly, can it import other common types of file format. 3D printing is becoming increasingly about sharing designs so you want to be able to open other peoples 3D model files and you want people to be able to use yours. The best 3D model file formats are .STL, .OBJ and .PLY. The .STL file type is the most commonly used 3D printer file type but some 3D printer manufacturers also have their own format so you will be reliant on the printers bundled software to interpret 3D model files.
The Standard Tessellation Language file format or .STL was designed by 3D Systems for stereo-lithography CAD software created by 3D Systems. The .STL file is a simple polygonal mesh file that describes the surface of a 3 dimensional object without colour, texture or other common CAD model attributes. Likewise .OBJ files are polygonal mesh files but with an added component of texture. This file format was created by Wavefront Technologies for its Advanced Visualizer animation software. It is a commonly used 3D modelling file format. Take a look at our Comet67p .OBJ file so you can get a 3 dimensional print of this historic comet. The .PLY format takes it a step further with respect to additional attributes, it has the functionality to store additional attributes like colour and transparency, surface normals, texture coordinates and data confidence values.
Machine code or G-code
In order to tell your 3D printer how to work itself the printer understands a language called G-code. This is a very common computer language used in the computer aided control of manufacturing machinery. G-code it is a numerical control programming language. G-code is quite simple but not necessarily easy to read. Each line is starts with an action code e.g. G1 or move, then a series of parameters for instance the position of the print head in xyz space. The syntax for a G-code command is COMMAND ARGUMENTS FREQUENCY. Multiple arguments can be placed on online and Some arguments support variables.It is possible to write you own
G-code but it would take a prohibitively long time. Most 3D printers retain the ability to load G-code especially via a usb stick. But as with the evolution of most technology the distance between the user and the underlying mechanics of an object grows so as to allow easier use i.e. I am not writing this article using binary code. This really brings us on to our next subject, slicer software. This bridges the gap between the 3D mesh files and the G-code.
A slicer is a piece of software that is required to convert a 3 dimensional model file into a set of instructions that your 3 dimensional printer can understand. Essentially, the slicer software takes your 3D mesh file and converts it into layers, it slices it up. But, more than this slicer software generates toolpaths to fill them and calculates the amount of material to be extruded, it tells the printer how it is going to make each layer. Basically Slicer software turns 3D mesh files into G-code.
The future of stand-alone slicer software for the desktop 3D printing market would have to be uncertain. It is becoming more common for 3D printers to be bundled with their own slicer software so that the software best matches the architecture of the printer. When choosing a printer for your additive manufacturing projects getting a look at its slicer software or seeing what slicer software you can use with it is perhaps a good idea. Some packaged slicers will have limited capabilities, also not all printers will accept g-code files. Here we have some common slicer software: Slicer; kisslicer; repetier host.
Some conclusions on 3D printer software solutions
Tools for designing and controlling your 3D printing jobs tend to follow the golden rule: The greater control you want and the more powerful the solution the more complicated the process. If you want to quickly and easily produce 3D printables bundled and proprietary solutions are probably more what you are looking for. If you want to control every part of the process then really you need to build your own printer and take advantage of some of the very powerful, open source solutions. So for a school classroom I would not suggest you make the students have to learn a complicated 3D modelling suite, all of your lessons will be taken up with them learning how to use the software and the principals of product design will be lost.
So that was our brief guide how your 3D printing projects are controlled by software and what the various software tools do. You will have to explore the solution that best fits your needs.