3D printing is an awesome technology, but it can have quite the learning curve. This article aims to eliminate some of the confusion with preparing your 3D prints. To do so, we are going to be discussing, the roles of Computer Aided Design (CAD) software, “Slicing” and repair software, GCODE and STL files, transmission media, and end with basic 3D printing filaments.
Computer Aided Design (CAD) Software
CAD software is what we use to design a 3D object, whether it is used in 3D printing or other aspects of engineering. It is important remember, however, that CAD software is not used for “preparing” a 3D model to print. This is done by a “Slicer,” which we will discuss later.
There are plenty of CAD software suites out there, ranging in both price and complexity. A simple, easy-to-use CAD program is SketchUp by Trimble Navigation. SketchUp is very well known for it’s ease-of-use, but lacks some in depth features desired by many devoted engineers and makers. Also on the free spectrum is the Blender project; known for producing clean models at the cost of ease-of-use.
There are also several paid programs such as SolidWorks, AutoCAD, and Rhino 3D. SolidWorks is closely relatable in its operations to SketchUp, as most work in SolidWorks is done with, well, solids. On the other hand, AutoCAD and Rhino both prefer to work with mathematical formulas to create precise, and clean models, but still retain some simple solid interaction.
That being said, for simple projects and quick fixes, you can’t go wrong with SketchUp. However, SketchUp is not ready to be used in producing STL files right out of the box. In most cases, you will have to install two plugins to finish the job: “Solid Inspector²” and “STL Import & Export;” both available in the SketchUp Extension Warehouse. Solid Inspector will help to identify potential problems in your CAD model, and attempt to fix them before you export the model to an STL. STL Import & Export, as the name suggests, adds the ability to import and export STL models into SketchUp, so that you can create your own models, or edit your favorites off the web.
Slicers are where the magic of 3D printing starts. The slicing software interprets the Stereolithographic (STL) files exported by CAD programs and prepares these files in accordance with variables defined by the user in a profile. The slicer uses the STL file and user profile to generate a GCODE file. This file is made up of a list of commands to be sequentially executed by the printer.
The commands used in GCODE files are usually defined by the Marlin firmware; the most common, open-source firmware for 3D printers. GCODE files will contain commands which tell the printer how hot to get, how much material to extrude and where, along with a long list of other commands.
The most common slicing software and engines include:
- Ultimaker CURA (free).
- Repetier & Repetier-Host (also free).
- 3DPrinterOS (again, free).
- AstroPrint (free).
- Simplify3D (Not free, but our personal favorite)
Most Slicer’s also have the ability to identify errors within STL files that may cause issues to appear in the GCODE and, consequently, the print. Some slicers with this ability will attempt to fix the problem on the spot, while other will mark the area in question, so that it can be manually fixed in CAD.
As previously stated, GCODE files basically tell your printer what to do. They consist of a list of commands which are executed sequentially over time. Below are a couple examples of this.
This GCODE makes up the starting script for most of our Creality Ender3 printers, and is used to clean and prime the nozzle in preparation for printing
G90 M82 M106 S0 M140 S70 M104 S200 T0 M109 S200 T0 M300 S880 P300 M300 S880 P300 M300 S880 P300 M117 Preparing printer... G28 ; home all axes G92 E0 ; reset extruder G1 Z1.0 F3000 ; move z up little to prevent scratching of surface G1 X0.1 Y20 Z0.3 F5000.0 ; move to start-line position G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line G1 X0.4 Y200.0 Z0.3 F5000.0 ; move to side a little G1 X0.4 Y20 Z0.3 F1500.0 E30 ; draw 2nd line G92 E0 ; reset extruder G1 Z1.0 F3000 ; move z up little to prevent scratching of surface M117 Printing...
When talking about “transmission media,” we are referring to how the gcode files are relayed, stored, or otherwise sent to your printer. Transmission media are broadly described in two categories: online and offline printing. With online printers, your printer is either controlled by an external card or computer, or has its own controller card built in which allows it to be connected to a wireless network. Offline printers rely primarily on storage devices, such as USB drives and SD cards.
Online printers behave much a like a normal print server. You send your files to the card and then the card will prepare the printer which will produce the product. In most cases, the controller card itself will retain the gcode file, while commands are individually relayed via a USB cable to the printer. This offers the benefit of being able to prepare your printer more quickly (such as preheating, bed leveling, and file storage). However, if connection between the printer and controller is lost, or the controller loses power, your print may fail and you will have to start over. Online print server software (such as OctoPrint) feature plenty of other useful features, such as webcam integration, print statistics, and real-time GCODE emulation, which can be helpful for tracking your prints.
With offline printers, you save the GCODE file to an external storage device from the computer being used to slice the STL. This storage device is then inserted into the printer and the print can be started using the printer’s own subsystem. This offers the benefit of being able to print without the need for additional hardware or system complexity. However, this is often comes at the cost of ease-of-use with most consumer printers.
Filament is the raw material used by 3D printers to produce models, and knowing your filament can have a significant impact on print quality. In most cases, filament consists of plastic wire sold on a spool. The most common 3D printer filament is PLA (Polylactic Acid), a plastic made of organic materials such as cornstarch, sugar cane, or tapioca root; hence it’s often sweet smell during printing. On the other hand there is ABS (Acrylonitrile, Butadiene, Styrene), a petroleum based plastic known for easy post-processing, high strength, and high temperature resistance. Another emerging filament is known as PETG (Polyethylene terephthalate – Glycol Stabilized). PETG is favored for its high impact resistance, ability to be sterilized, and is well known for combining the flexibility of ABS with the reliability, and low printing temperatures of PLA.
What do we do?
Our current personal preference is to use SketchUp to build CAD models, export those models as STLs using the STL Import & Export tool, and prepare GCODE from those STLs using Simplify3D. We then upload the GCODE file from our workstations to the OctoPrint controller cards attached to our Creality Ender3 printers. After uploading the file, we use the OctoPrint interface to preheat and level the printer. Once the print starts, we usually monitor the print closely during the first few layers to verify build plate adhesion and overall quality at the start of the print.
We hope that this article helped to shed a little light on the subject of 3D printing. As always, be sure to follow us on Facebook and check back often for more 3D printing articles.
If this article made things clear as mud, feel free to contact us, or reach out on Facebook!