Do All 3D Printers Use STL Files?
3D printers require a file to know what to 3D print, but people wonder whether all 3D printers use STL files. This article will take you through the answers and some other related questions.
All 3D printers can use STL files as the foundation for a 3D model before it is sliced into a file type the 3D printer can understand. 3D printers can’t understand STL files by themselves though. A slicer like Cura can convert STL files to G-Code files that can be 3D printed.
You’ll want to know more information, so keep on reading more.
What Files do 3D Printers Use?
- STL
- G-Code
- OBJ
- 3MF
The main type of files 3D printers use are STL files and G-Code files to create the 3D model design, as well as create the file of instructions that 3D printers can understand and follow. You also have some less common types of 3D printer files such as OBJ and 3MF which are different versions of 3D model design types.
These design files can’t work directly with a 3D printer though, since they require processing through a software called a slicer, which basically prepares the G-Code file which can be 3D printed.
Let’s take a look at some of these file types.
STL File
The STL file is the main 3D printing file type that you’ll see used in the 3D printing industry. It is basically a 3D model file which is created through a series of meshes or set of several small triangles to form a 3D geometry.
It’s preferred because it’s an incredibly simple format.
These files work very well to create 3D models and can be quite small or large files depending on how many triangles form the model.
Larger files are ones where there are smoother surfaces and large in actual size because it means there are more triangles.
If you see a large STL file in a design software (CAD), it can actually show you how many triangles a model has. In Blender, you need to right-click the bottom bar and check “Scene Statistics”.
Check out this Bearded Yell STL file in Blender, which shows 2,804,188 triangles and has a file size of 133MB. Sometimes, the designer actually provides multiple versions of the same model, but with lesser quality/fewer triangles.
Compare this with the Easter Island Head STL which has 52,346 triangles and a file size of 2.49MB.
From a simpler perspective, if you wanted to convert a 3D cube into this triangle STL format, it could be done with 12 triangles.
Each face of the cube would be divided into two triangles, and since the cube has six faces, it would require at least 12 triangles to create this 3D model. If the cube had more detail or crevices, it would need more triangles.
You can find STL files from most 3D printer file sites like:
In terms of how to make these STL files, it’s done in CAD software such as Fusion 360, Blender, and TinkerCAD. You can start with a basic shape and start to mold the shape into a new design, or take many shapes and put them together.
Any kind of model or shape can be created through a good CAD software and exported as an STL file for 3D printing.
G-Code File
G-Code files are the next main type of file that 3D printers use. These files are made up from a programming language that can be read and understood by 3D printers.
Every action or movement that a 3D printer does is done through the G-Code file such as print head movements, nozzle and heat bed temperature, fans, speed, and much more.
They contain a large list of written lines called G-Code commands, each performing a different action.
Check out the picture below of a G-Code file example in Notepad++. It has a list of commands such as M107, M104, G28 & G1.
They each have a specific action, the main one for movements being the G1 command, which is a majority of the file. It also has the co-ordinates of where to move in the X & Y direction, as well as how much material to extrude (E).
The G28 command is used to set your print head to the home position so the 3D printer knows where it is. This is important to do at the start of every 3D print.
M104 sets the nozzle temperature.
OBJ File
The OBJ file format is another type used by 3D printers within the slicer software, similar to STL files.
It can store multicolor data and is compatible with various 3D printers and 3D software. The OBJ file saves 3D model information, texture, and color information, as well as the surface geometry of a 3D model. OBJ files are typically sliced into other file formats that the 3D printer fully understands and reads.
Some people choose to use OBJ files for 3D models, mostly for multicolor 3D printing, usually with dual extruders.
You can find OBJ files in many 3D printer file websites such as:
- Clara.io
- CGTrader
- GrabCAD Community
- TurboSquid
- Free3D
Most slicers can read OBJ files just fine but it’s also possible to convert OBJ files into STL files through a free conversion, either using an online converter or importing it into a CAD like TinkerCAD and exporting it to an STL file.
Another thing to keep in mind is that mesh repair tools that fix errors in models work better with STL files rather than OBJ files.
Unless you specifically need something from OBJ like colors, you want to stick with STL files for 3D printing.One of the key differences for OBJ files is that it can save the actual mesh or set of connected triangles, while STL files save several disconnected triangles.
It doesn’t make much difference for your slicing software, but for modeling software, it will have to stitch the STL file together to process, and it isn’t always successful doing this.
3MF File
Another format used by 3D printers is the 3MF (3D Manufacturing Format) file, which is one of the most detailed 3D print format available.
It has the ability to save many details within the 3D printer file such as model data, 3D print settings, printer data. This can be very useful in some cases, but it might not translate to repeatability for most people out there.
One of the flaws here is that there are many factors that make a 3D print successful in each individual situation. People have their 3D printers and slicer settings set up in a particular way, so using someone else’s settings might not bring the desired results.
Some software and slicers don’t support 3MF files either, so it can be tricky making this into a standard 3D printing file format.
A few users have had success with 3D printing 3MF files but you don’t hear many people talking about it or using them. One user mentioned that it could be possible for someone to do a wrong configuration with this file type and end up causing damage to your 3D printer or worse.
A lot of people don’t know how to read the G-Code file, so there would have to be trust involved to use these files.
Another user said that they had terrible luck trying to load multipart 3MF files properly.
Check out the video below by Josef Prusa about how 3MF files compares to STL files. I don’t agree with the title of the video, but he does provide some great detail about 3MF files.
Do Resin 3D Printers Use STL Files?
Resin 3D printers don’t directly use STL files, but the files created originate from using an STL file within a slicer software.
The usual workflow for resin 3D printers will use an STL file that you import into a software that’s specially made for resin machines like ChiTuBox or Lychee Slicer.
Once you import your STL model into your chosen slicer, you simply go through the workflow which consist of moving, scaling, and rotating your model, as well as creating supports, hollowing, and adding holes to the model to drain resin out.
After you have made your changes to the STL file, you can then slice the model into a special file format that works with your specific resin 3D printer. As mentioned before, resin 3D printers have special file formats such as .pwmx with the Anycubic Photon Mono X.
Check out the YouTube video below to understand the workflow of an STL file to a resin 3D printer file
Do All 3D Printers Use STL Files? Filament, Resin & More
For filament and resin 3D printers, we take the STL file through the regular slicing process of putting the model on the build plate and making various adjustments to the model.
Once you’ve done those things, you process or “slice” the STL file into a file type that your 3D printer can read and operate from. For filament 3D printers, these are mostly G-Code files but you also have some proprietary files that can only be read by specific 3D printers.
For resin 3D printers, most of the files are proprietary files.
Some of these file types are:
- .ctb
- .photon
- .phz
These files contain the instructions on what your resin 3D printer will create layer-by-layer as well as the speeds and exposure times.
Here’s a useful video that shows you how to download an STL file and slice it to be ready for 3D printing.
Can You Use G-Code Files for 3D Printers?
Yes, most filament 3D printers will use G-Code files or an alternative form of specialized G-Code that works for a specific 3D printer.
G-Code is not used in the output files of SLA printers. Most desktop SLA printers use their proprietary format and thus their slicer software. However, some third-party SLA slicers, such as ChiTuBox and FormWare, are compatible with a wide range of desktop printers.
The Makerbot 3D printer uses the X3G proprietary file format. The X3G file format contains information about the 3D printer’s speed and movement, printer settings, and STL files.
The Makerbot 3D printer can read and interpret the code in the X3G file format and can be found only in natural systems.
In general, all printers use G-code. Some 3D printers wrap the G-Code in a proprietary format, such as Makerbot, that is still based on the G-Code. Slicers are always used to convert 3D file formats such as G-Code into printer-friendly language.
You can check out the video below to see how to use a G-Code file to control your 3D printer directly.