Professional Documents
Culture Documents
Professor: 林裕傑
ID: F11003106
Date: 15/05/2023
1. Introduction
Fused Deposition Modeling (FDM), also known as Fused Filament Fabrication (FFF) is a
technology developed in 1989 by Stratasys Inc. That enables the production of three-
dimensional objects by extruding hot melted thermoplastic through a nozzle tip onto a platform
to build parts layer by layer. FDM gained attention in many industries due to its low cost and
versatility, it is prominently used for fabricating prototypes of engineering parts at early stages
of development.
2. Working Principle
FDM is an additive manufacturing process where the objects are built one layer at a time by
extruding a thermoplastic filament following a predetermined path defined by a CAD file and
the slicing software. The FDM process starts by creating a 3D object in a CAD software, for
example SolidWorks.
After creating a model, it needs to be converted into printing instructions, or G-code, for the
FDM machine to read, this is accomplished by using a printing slicing software such as
UltiMaker Cura Engine that can “slice” the model into separated layers and transform these 2D
layers into a set of points for the nozzle to move to while extruding the heated filament.
The slicer requires 2 different inputs, the 3D model itself and a set of printing parameters that
tells the machine how the actual printing must be done. The object to be printed from the CAD
software must first be converted into a standardized file format. The most common is Standard
Triangle Language (STL), thus the object from the CAD software first needs to be exported
to .stl format. This can be done in SolidWorks by clicking on File →Save as and selecting STL
as the file format output.
UltiMaker Cura is an open-source, free 3D
printing software that allows to set up the
printing parameters and convert 3D objects
into G-code. After downloading and installing
the software, the printer to be used for the
manufacturing needs to be selected in the
configurations.
With the model in a format the slicer can
support, the next step is to set up the printing
details such as layer height, wall, top and
bottom thickness and number, infill density
and infill patterns, temperature of the nozzle,
printing speed, build plate adhesion type and
Figure 3. Resulting STL file viewed in Paint 3D support.
The 3D model itself can also be partially modified, the position to print, its scale and orientation
can be changed in the software.
Figure 4. The STL file loaded in UltiMaker Cura, the print settings are displayed on the right.
The optimum settings will change depending on the type of 3D printer, material to be used,
and object to be printed. Once the setup is completed, the Slice button on the bottom right is
pressed to initialize the slicing using the CuraEngine slicing algorithm. The resulting kinematics
of the nozzle can be previewed by clicking on the Preview button.
M140 → Sets a target temperature for the bed of the 3D printer and starts to heat it.
M104 → Sets a target temperature for the printer’s hot end and heats it.
M190 → Waits for the bed to get to the desired temperature before executing other lines.
M109 → Waits for the printer’s hot end to reach the desired temperature.
G1 → Linear movement from one point to another. F is the linear speed, XYZ are the
coordinates. The E parameter is the amount of filament to extrude, in this case, the extruder is
in absolute mode.
G92 → Sets offset from home position.
G0 → Rapid movement command, it does not lay down any filament while moving.
There are many more commands in the G-code library but these are the essentials and the ones
shown in the fragment code in Figure 6.
Now that the instructions for the printer are ready, we need to use an external memory to transfer
the G-code from the computer to the printer’s disk. In the FLSUN V400 it is possible to transfer
the code directly from the computer via Wi-Fi.
All 3D printers need to connect the software (The code) with the hardware (motors, sensors,
among others). This is done by using what is called Firmware. For 3D printers, the firmware is
stored on the machine’s mainboard, it is in charge of parsing G-code files, regulating
temperature and controlling the motion of the printer. Marlin is considered today’s most popular
firmware package, but there are other alternatives such as Klipper firmware. The main
difference with Klipper firmware is that it utilizes an additional computer board to make a pre-
calculated plan for the G-code commands, so your printer only needs to carry out the commands,
not calculate them. This lowered the effect of processing time and improved printing
performance, specially for printers that used an 8-bit mainboard.
Figure 7. Klipper makes use of an extra computer board to perform the calculations, the 8-bit computer only
carries out the commands. Source.
Essentially, when you pass the G-code to the 3D printer, the firmware will parse it and will
control the sensors, the heater temperature, and the motion of the motors to carry out the
commands given.
If the printer is new and has not been used before, it first needs to be calibrated.
In the FLSUN V400 this is done by clicking:
Configuration → Bed Level → Calibrate.