What is the difference between slicer and common 3d design software?

What is the difference between slicer and common 3d design software? Could someone explain me with easy understandable words? Because i can't found the real difference of them thanks in advance :D

October 21, 2017

ryanz ryanz
11 posts

5 replies

Hello Ryanz,
With 3D design software you can model a 3D object. For example with Sketchup: it has a intuitive user interface were you can draw a square and by clicking on it "pull it up" so it's a cube.
There are professional CAD programs as well. Such as AutoCad, which is expensive. I use ArchiCad, because I'm an architect. They have all their good and bad points.
I heard a lot of good things about Fusion360 which is for free. But Sketchup is good as well.

But what they all have in common, is that they are all capable export 'some kind' of file that holds 3D information of the exported 3D model.

The most common used kind of file is an "stl" . An stl is a simple text file that describes that 3D model by "triangles" . As you can approach whatever 3D model with a lot of connecting triangles. But not completely: as a pure sphere isn't possible with a stl. That circle will be described with a lot of very small triangles, so it seems to the naked eye a nice sphere. Beside a lot of triangles in that stl, each stl has also an inside and an outside; described by a "normal".

Like this:
facet normal 0.997355 -0.072686 0.000000
outer loop
vertex 176.413345 385.493042 0.000000
vertex 175.577454 374.023407 48.099174
vertex 175.577454 374.023407 0.000000

All those triangles and normals describe the 3D model you have exported from whatever design program.

What all slicers do (like CraftWare) is to 'make slices" of that 3D model.
They project a "plane" on each layer (for example each 0.2mm layer) and 'cut' it through your 3D stl model. By that there are a bunch of cuts of your model on each 0.2mm height. That cut's, or slices, are (for each layer, or Z height) actually simple 2D drawings, with faces belonging to each cut of your 3D model.
After that the slicer does a lot of nerdy things as determing the outside loops, the infill, the needed support, and so on. But simply said, each slice of your 3D model is converted by the slicer in an optimal path of the extruder to extrude filament. After it's ready, the bed goes down 0.2mm and the process is repeated.
So the slicer is only turning your 3D model (often an stl) to slices and an output the printer understand.

That output is called a Gcode. Also a simple text file with simple instructions on each line. For example: go to point X100Y100 and after that go to point X200Y200 and extrude filament (that's the E value) and by 40mm/s speed for example (that's the F value).

It looks like this:
G92 E0
G1 X131.628 Y85.651 E0.0069 F1200
G1 X132.650 Y84.279 E0.0695
G1 X132.755 Y84.148 E0.0756
G1 X133.337 Y83.468 E0.1084

So in short: After modelling a 3D model in design software, the slicer translates your 3D model (stl) to code (gcode) the 3D printer understand. The Design software is only able to produce 3D volumes you designed. And the slicer is only able to translate that 3D volume to code a 3D printer understands.

It's like typing in Word: you type highly intelligent stuff in a wordprocessor (like a 3D design program), but only after translating it with some driver, your printer can print it on a sheet on paper

October 21, 2017

Bartaar Bartaar
Service partner
1682 posts

ah i see thanks that such a deep explanation! :D
by the way one more question. the software inside most of 3d printer is only can read g-code for example CURA am i right?

October 23, 2017

ryanz ryanz
11 posts

Yes, the most printers only can read gcode. Although some have their own version of it, so people can't use other slicers. They are closed source.
The software and firmware (firmware is the software that is in the printer itself) of CraftUnique is closed source (so other software developers can't alter or improve it). But it's open to gcode of other slicers, so in that way, it's 'open source'.

But Cura isn't software (or firmware) in the printer itself. It isn't 'firmware'. It's like CraftWare, KISSlicer, Simplify3D, just a slicer capable to convert a 3D model to gcode.

So the process is like this:

  • Drawing in some CAD software like Sketchup, Autocad or so
  • Exporting that 3D model to an stl.
  • Importing that stl in slicer software like Cura, CraftWare, KISSlicer
  • Making settings in that slicer software belonging to your specific printer
  • Slicing that object and exporting the resulting gcode to for example an USB stick
  • Putting that USB stick on the printer and excecute the gcode
  • The specific firmware of the printer translate that gcode with it's firmware to actual printmoves.
  • Firmware in the CraftBot is called 'Pr3dator' for example, but for Reprap printers it's "Marlin" . As one can update that firmware, your printer is always fitted for new developments.

October 23, 2017

Bartaar Bartaar
Service partner
1682 posts

I would like to thank Mr.Bart ter Haar for an in-depth answer for this question. your answer helps me to differentiate both.

February 12, 2018

HMS Naveen HMS Naveen
9 posts

To add further insight into this discussion, it is important to understand that a 3D printer is just one example of a general class of machines called CNC machines. CNC = Computer Numerically Controlled and signifies any type of machine that can input computer-generated data and use to to control how the machine moves it's "end effector" to create or make something in the real world. (The end effector is the part of the machine that does the actual work of creating the finished part. For a 3D printer it is the hotend.)

There are many different types of CNC machines: milling machines that cut parts out of solid material like metal or wood, lathes, routers, weaving machines, plotters, and of course 3D printers (to name just a few).

All CNC machines have one thing in common - they can only move their end effector in straight line segments. So to make a curved surface the machine has to make moves that are quite short. The length of each move is determined by calculating the difference between the middle of the line segment and the surface of the part being made. This is the tolerance of the finished part and is typically small enough to make the finished part appear to have smooth curvature.

The software used to create geometry does not know or care about any of this. A curved surface created by a CAD program is in fact truly curved and smooth. And each CAD program has it's own way of doing this. But no such surface can be actually made because of the way CNC machines work. So a second piece of software is required to read the curved surface definition and produce what are called GoTo points for the CNC machine to follow. These are the points in 3D space to which the CNC machine moves it's end effector.

Slicers are the programs that do this for 3D printers. In addition to calculating the GoTo points the slicer also creates commands for temperature, extrusion amounts, speeds (called feedrates in CNC terms), upidates to the printer LCD panel, etc.

In the GCode examples given above the G is shorthand for GoTo, the X and Y values specify the hotend's position at the current Z (layer) value, the E tells the extruder motor how much filament to feed, ad the F is the speed (feedrate). When it's time to move to the next layer the slicer will generate a new Z value in addition to the X & Y ones.

The printer's firmware reads the GCode statements and uses it to send appropriate codes to the printer's stepper motors, hotend heater, LCD display, etc. GCode itself has very well established standards, so it is easy for different firmwares to read it and produce the commands needed by its printer's hardware.

The tricky part, of course, is how the slicer goes about reading the CAD software input file and converting that into GCode. How that is done is what determines how well a slicer can produce the GCode to print a 3D design you create.

July 1, 2019

Birk Binnard Birk Binnard
707 posts
To start a discussion or reply to a post please Login or Create an account.