Friday, September 26, 2025
Home3D Printing3D Printing - behind the screen

3D Printing – behind the screen

We design something digging into the depths of our imagination, feed into some flashy software and obtain stunning prints. But how much are we aware of what is going on behind these processes? Let’s explore the behind the screen processes of 3D printing.

CAD design
As already known, the first step of any 3D printing process begins with designing a part in a computer aided design (CAD) software. The figure below shows the sequence to be followed. There are three major types of 3D CAD models. Though we are not much concerned about the algorithm behind these models, it is useful just to know the types, as it may come handy when dealing with design errors.

Wireframe model: The object is visualised as a set of edges or corner points in a wireframe model. It is simple in construction, but does not contain any information about surface or volume of the object. Misinterpretation of the object is also possible because of absence of opaque surfaces.

Wireframe model
Wireframe model

Surface model: In a surface model, as the name suggests the object is visualised as a set of surfaces. Here visible and hidden edges can be differentiated but volume information cannot be obtained.

Surface model
Surface model

Volume model: The actual presence of material is visualised through volume model. The intent of designer can be directly modelled as a volumetric object. Volumetric models are further divided into three more categories, constructive solid geometry, boundary representation model and hybrid model. They differ in terms of mode of construction, but the output functionalities are more or less the same.

Volume model
Volume model

Almost all the CAD software today are intelligent enough to combine all of these features optimally to provide good quality design and low data volume. Once we design the model to be built, we will need to slice it as the next step of 3D printing process. This subsequent process needs to be compatible with the file format output of CAD. As in any other sector, each design software provider also maintains its own data format. Hence an interface was developed, which is a set of rules, conventions and conditions, and defines the information exchange between two entities. In simple words, the CAD file which was created has to be converted into an interface format to process it with another software. IGES, STEP, VDAFS, DXF and STL are some popular interfaces used in CAD data processing.

STL is the interface which is widely used by the 3D printing community, so we will explore a bit of what happens in this data format. Once the CAD modelling is completed, we save it in STL format. STL stands for Standard Tessellation Language, though STereoLithography or Standard Triangle Language is also sometimes used. The entire 3D model is made to represent as connected triangles in this format. Each triangle is represented by its coordinates of edges and surface normal vector (a direction perpendicular to the surface of the triangle). The quality of the part is determined by these triangles. Higher the density of triangular meshing, higher will be the part quality, but resulting in higher data volume as well.

Behind the screen, these STL files specify ASCII and binary representations to be processed by microprocessors or microcontrollers. Binary files are most common as tend to be lighter. A binary STL has the information showing the title for the file, the number of facets, the three vertices of the triangle and the normal vector. A simplified explanation of the syntax is shown below.

Line 1: Header – Title of file
Line 2: Number of triangles
Now for each triangle in the file,
Line 3: Normal vector (specified in terms of I,j,k vectors)
Line 4: X,Y,Z coordinates for vertex 1
Line 5: X,Y,Z coordinates for vertex 2
Line 6: X,Y,Z coordinates for vertex 3
Line 7: Attribute byte count

Lines 3 to 7 are repeated for the total number of triangles present in the STL file. This means that by utilising the proper syntax, the entire CAD model can be written as codes and processed without using a CAD software (though it may make you look a bit geeky).

Slicing
So now we have created our 3D CAD model and converted into STL format. Note that STL is only an interface format to enable communication between entities. The next step is to convert this file into a language which is understood by the stepper motors in our 3D printer. Moreover 3D printing is a layer by layer manufacturing process. So the generated STL file is to be arranged as geometries stacked in the vertical direction. This process is termed as slicing.

A number of software are available for slicing as well. They slice the model into horizontal layers and formulate the path of tool to trace these layers. The STL file generated from previous step is provided as input to the slicing software, and output is obtained in terms of gcode. Gcode is the language which is to be fed to the microcontroller which controls the machine. Each line in a gcode program consists of information about the sequence of operations in the form of pre-defined codes. A small glimpse of an example gcode file is shown below.

M190 S60 ; set bed temperature
M104 S200 ; set temperature
G28 ; home all axes
M109 S200 ; wait for temperature to be reached
G90 ; use absolute coordinates
G21 ; set units to millimeters
G92 E0 ; reset extrusion distance
M82 ; use absolute distances for extrusion
G1 Z0.300 F7800.000
G1 X54.010 Y59.690
G1 F1800.000 E1.00000
G1 X54.190 Y59.510 F540.000 E1.00707
G92 E0
M104 S0 ; turn off temperature
G28 X0 ; home X axis
M84 ; disable motors

The above program has pre-defined keywords such as M190, S60, etc. Each of these keywords has respective meanings understood by the microcontroller. It also means that you can program the entire gcode file and feed to the 3D printer’s microcontroller without needing any CAD/STL file (you can imagine the level of geekiness).

Printing
Once this gcode program is fed into the 3D printer, its microcontroller understands the keywords, reads the values, and provides appropriate voltage signals as output. How the microcontroller converts computer code into electrical voltages is a subject of micro-level operations involving Boolean logic, nevertheless, it is quite sufficient to realise that you can alter the voltage signals by editing the gcode data. These voltage signals are fed to the stepper motors, extruder, heating element and other electrical items in the printer. Thus the table moves, filament gets heated, extruder moves by timed modulation of these signals; and your designed model gets printed in front of your eyes!

It is always beneficial to monitor the output of various processing steps, it helps in troubleshooting too. So ready to type your own gcode program and build your part? Why not give a try?

RELATED ARTICLES

Most Popular

Recent Comments

mperkins37 on 3D Printed Rockets
desitheblonde on New Low-Cost LSAM 3D Printer
Mad3DHatter on Flex3Drive Review
Salvatore_Lacorte on Guide to Successful ABS Printing
Jordi Lopez on 3D Printer Maintenance
Bill Nonnenmacher on 3D Printed Gears Easy!
Andy Marriott on Flex3Drive Review
Denny Hannaford on Creality Ender 3 Announced
Tom Baxter on 3D Printer Maintenance
Daniel Faegnell on How does 3D Printing work?
Tom Baxter on 3D Printer Maintenance
Tom Baxter on 3D Printer Maintenance
Henry Jolly on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
Brian Martin on 3D Printer Maintenance
Melanie F. on DIY etching
Melissa Englebright on 3D Printer Maintenance
Kelly Freeman on 3D Printer Maintenance
Jeremy Fister on 3D Printer Maintenance
Ronan on DIY etching
mperkins37 on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
Leesa R McClure on 3D Printer Maintenance
Charles Goldman on 3D Printer Maintenance
Tom Baxter on 3D Printer Maintenance
mperkins37 on 3D Printer Maintenance
Carol Oddy on DIY etching
Tom Baxter on 3D Printer Maintenance
Michael Perkins on 3D Printer Maintenance
Michael Perkins on 3D Printer Maintenance
Michael Perkins on 3D Printer Maintenance
Richard Bynum on 3D Printer Maintenance
Richard Bynum on Slicers: Which one to use?
Brian Martin on Flexion Retrofit Kit Review
Carol Oddy on DIY etching
Richard Bynum on Flexion Retrofit Kit Review
Michael Perkins on Flexion Retrofit Kit Review
Richard Bynum on 3d printer Extruders
Michael Perkins on DIY etching
Richard Bynum on Rigid.ink Review
Justin K Jones on Wanhao D7 Review
Brian Martin on Creality Ender 3 Announced
Michael Perkins on Creality Ender 3 Announced
Richard Bynum on Autodesk to .STL
Chris Kockler on Creality Ender 3 Announced
Michael Perkins on MG Chemicals wood filament
Ronald Shropshire on MG Chemicals wood filament
Michael Perkins on MG Chemicals wood filament
Richard Bynum on 3D printed CNC Mill
Richard Bynum on 10 Fun Things to 3D Print
Justin Flugum on Creality Ender 3 Announced
Richard Bynum on Creality Ender 3 Announced
Justin Flugum on Creality Ender 3 Announced
David Griffith Rowe on Interesting 3D Printed Drone Projects
Richard Bynum on Wanhao D7 Review
Richard Bynum on ColorFabb Filament Review
Richard Bynum on Who is 3D-PT?
Richard Bynum on BuildTak – Is it Worth it?
Richard Bynum on Who’s 3D model is it?
Sumit Trivedi on MG Chemicals wood filament
Richard Bynum on CAD Review for 3D Printers
Asgor Reidaa on DIY etching
Asgor Reidaa on Wanhao D7 Review
Richard Bynum on MG Chemicals wood filament
Richard Bynum on 3d Print a Rubber band gun
Richard Bynum on 3d Print a Rubber band gun
Justin Flugum on Wanhao D7 Review
Tom Baxter on Wanhao D7 Review
Asgor Reidaa on 3d Print a Rubber band gun
Nathan Cox on Wanhao D7 Review
Nathan Cox on DIY etching
Tom Baxter on DIY etching
Richard Bynum on DIY etching
George Fomitchev on DIY etching
Richard Bynum on Wanhao D7 Review
Richard Bynum on Magnetic PLA Filament
Justin Flugum on Selfcad – A Short Review
Justin Flugum on Top 10 3D Printer Upgrades
Stan Baldwin on Vacuum Drying PLA Pt.1
Richard Bynum on 3D Printed Robots & Figures
Richard Bynum on Marlin a beginners guide
Richard Bynum on G-Codes – Wiki
Richard Bynum on How to NOT Be a 3DHubs Noob
Richard Bynum on 3D-Printing for Scuba Diving
Richard Bynum on Vacuum Drying PLA Pt.2
Asgor Reidaa on 3D Printing Dictionary
Richard Bynum on Vacuum Drying PLA Pt.1
Richard Bynum on What 3D-Printer to buy 2016
Richard Bynum on 3D Printing Homes
Madalyn Nguyen on 3D Printing Dictionary
Daniel Waldner on Prusa i3 MK3 – New Features
Richard Bynum on TOP 5 3D PRINTED CARS
Richard Bynum on 3D Printer safety tips
Annaloa Hilmarsdottir on The Anet A8 3D-Printer DIY Kit Review
David Robert Pemberton on 3D Printed Grenade Launcher
Justin Flugum on 3D Printer safety tips
Darren Scrubb on 3D Printing in the Classroom
Tom Baxter on 3D Printable Tools
Darren Scrubb on 3D Printing Homes
Darren Scrubb on 3D Printing Jewellery
Richard Bynum on Flex3Drive Review
Stan Baldwin on 3D Printed Grenade Launcher
Richard Bynum on Magigoo Adhesive Pen
Linda Beghtel on 3D Printing Jewellery
Richard Bynum on How much to Charge?
Justin Flugum on How much to Charge?
Jon Gardner on Big 3D Printers
Tom Baxter on 3D Printing Dictionary
Richard Bynum on 3D Print Wood Working Tools.
Richard Bynum on Sienci Labs Mill One
Lori Mahan on 3D Printing Jewellery
Tom Baxter on RIP Pinshape 2013-2016
Richard Bynum on 3D Printing Dictionary
Justin Flugum on 3D Printable Tools
B Michenfelder on Sienci Labs Mill One
John Smith on 3D Printing Jewellery
Richard Bynum on 3D Printed Gears Easy!
Stephen Shimatzki on The 3D Printing Gifts Guide 2018
Richard Bynum on Helpful Holiday Safety PSA.
Santiago Archilla on Making Money With 3D Printing
Braxten Brannon on 3D Printing in the Classroom
Stuart Hawton on 3D Print Wood Working Tools.
Richard Bynum on 3D Printing Jewellery
Tom Baxter on 3D Printing Jewellery
Stuart Hawton on 3D Printing Jewellery
Stuart Hawton on 3D Printing in the Classroom
Richard Bynum on 6 Taboos of 3D Printing
Dawn Mateo De Acusta on Holiday Gifts for Your 3D Printer
Todd Whetstone on Folgertech FT-5 R2 – Review
Todd Whetstone on Folgertech FT-5 R2 – Review
Richard Bynum on 3D Printing Filament Review
Sandi McGinnis on Folgertech FT-5 R2 – Review
Andreas Gasser on Folgertech FT-5 R2 – Review
Edward Dekkers on Folgertech FT-5 R2 – Review
Andrew Venkersammy on Holiday Gifts for Your 3D Printer
Braxten Brannon on 10 Hotends for your 3D printer
Jon Acosto (3DPrintnerd.com) on Calidum HALE Heated Bed – Review
Macario on Flex3Drive Review
Tom Baxter on Beer based Filament
Tom Baxter on Rick and Morty 3D Models
Richard Bynum on Rick and Morty 3D Models
Richard Bynum on Top 10 3D Printer Upgrades
eduardo martini on Prusa i3 MK3 – New Features
Richard Bynum on Random Models on Thingiverse
Richard Bynum on Random Models on Thingiverse
Michael Champlin on Random Models on Thingiverse
Richard Bynum on Random Models on Thingiverse
Michael Champlin on How to calibrate a 3D Printer
Michael Champlin on 3D Printer safety tips
Richard Bynum on Selfcad – A Short Review
Richard Bynum on Selfcad – A Short Review
Richard Bynum on The Ultimaker 2 3D Printer
Jared Heifetz on Top 5 3D Printers Under $300
Jared Heifetz on Top 5 3D Printers Under $300
Richard Bynum on Top 5 3D Printers Under $300
Jared Heifetz on 3D Printer safety tips
Richard Bynum on 3D Printer safety tips
Jared Heifetz on Magigoo Adhesive Pen
Jon Acosto (3DPrintnerd.com) on The 13 Phases of 3D Printing
Jared Heifetz on 3D Printable Tools
Richard Bynum on 3D Printable Tools
Jared Heifetz on 3D Printable Tools
David Klein on 3D Printable Tools
Richard Bynum on 3D Printable Tools
mperkins37 on 3D Printable Tools
Jared Heifetz on 3D Printable Tools
mperkins37 on 3D Printable Tools
Dewu Han on 3D Printable Tools
mperkins37 on 3D Printable Tools
Tania Alam on 3D Printable Tools
Jon Acosto (3DPrintnerd.com) on Advertising Your 3D Printing Business
mperkins37 on Sienci Labs Mill One
mperkins37 on Flex3Drive Review
Jeffrey M. Holliman on Flex3Drive Review
tpoage@mindspring.com on The Ultimaker 2 3D Printer
tpoage@mindspring.com on Snapmaker: The All-Metal 3D Printer
tpoage@mindspring.com on The best 3d print bed material
tpoage@mindspring.com on Snapmaker: The All-Metal 3D Printer
Stan Baldwin on 3D Printed Grenade Launcher
tpoage@mindspring.com on 3D Printed Grenade Launcher
tpoage@mindspring.com on A New Era in Desktop 3D Printing
tpoage@mindspring.com on Dynamo3D One Pro Unboxing & First Print
tpoage@mindspring.com on 3D Printed Guns as Illegal 3D File?
tpoage@mindspring.com on 3D Printed Guns as Illegal 3D File?
tpoage@mindspring.com on Get more from your cyclops scanners
tpoage@mindspring.com on 5 kits to get more from your 3D Printer
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on Top 10 3D Printer Upgrades
tpoage@mindspring.com on Media falsely attacks 3d printing again
tpoage@mindspring.com on 3D Printing Communities on Google+
tpoage@mindspring.com on 3D Print Wood Working Tools.
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on 3D Printing Market Trends For 2017
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on 3d Printing Brushless Motors and More
tpoage@mindspring.com on TOP 5 3D PRINTED CARS
jvastine on TOP 5 3D PRINTED CARS
mperkins37 on TOP 5 3D PRINTED CARS
tpoage@mindspring.com on 3D Printer manufacturers list 2020
tpoage@mindspring.com on How Strong is PLA? Lab Experiment!
tpoage@mindspring.com on Vacuum Drying PLA Pt.2
tpoage@mindspring.com on Top 6 Unique CAD Programs (2016-2017)
tpoage@mindspring.com on Finishing & Painting A 3D Printed Alien!
tpoage@mindspring.com on 10 Popular 3D Printing Fidget Patterns
tpoage@mindspring.com on Slicers: Which one to use?
tpoage@mindspring.com on Top 10 Large Format 3D Printers
tpoage@mindspring.com on 13 Best CAD Programs for Kids
tpoage@mindspring.com on 10 Places To Get Free 3D-Printing Files
tpoage@mindspring.com on Upgrading a Prusa i3
tpoage@mindspring.com on Top 7 3D Scanners on a Low Budget
tpoage@mindspring.com on 5 Fun Prints for your new 3d printer.
tpoage@mindspring.com on The Tantillus Part 1
tpoage@mindspring.com on What is Love? 3D Print Me (NSFW)
tpoage@mindspring.com on 3D Printing for the Second Cold War Pt.1
tpoage@mindspring.com on 5 Ways to Feed your 3D Printing Habit
tpoage@mindspring.com on Helpful Holiday Safety PSA.
tpoage@mindspring.com on 3D Printing a Quadcopter: Part 1
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Will your 3D-printer kill you?
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Big 3D Printers
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Testing TinkerCAD Beta
mperkins37 on Testing TinkerCAD Beta
tpoage@mindspring.com on Nanodax Glass Wool Polypropylene Review
tpoage@mindspring.com on Kanesis Hemp Bio Plastic PLA Review
tpoage@mindspring.com on Great 3D-Printers to look for 2016!
choschiba on 3D Printing Fidgets
tpoage@mindspring.com on Folgertech Kossel build Part 1
tpoage@mindspring.com on Build Plate Supported 3D Printing
tpoage@mindspring.com on Top 6 Unique CAD Programs (2016-2017)
tpoage@mindspring.com on Let’s move our prints to the cloud!
tpoage@mindspring.com on The Guardian of Techno phobia
tpoage@mindspring.com on 3D printing your own cosmetics with Mink
tpoage@mindspring.com on 3D Printing Fidgets
tpoage@mindspring.com on Folgertech Kossel build Part 1
tpoage@mindspring.com on Build Plate Supported 3D Printing
tpoage@mindspring.com on Ultimaker 3 – A Quick Review
Nick Kalogeropoulos on Why 3D Printing Must Alter Its Course
Andrew Werby on 3D Printing Homes
Andrew Werby on 3D Printing Homes
Nick Kalogeropoulos on 3D Printing in the Army: Here’s how
mperkins37 on 3D Printing Homes
mperkins37 on 3D Printing Homes
juggernath on 3D Printing Homes
mudface2003 on Upgrading a Prusa i3
Alexis Puentes on Five amazing DIY 3d printers.
lucpet on 3D Printing Piracy
Tony Davies on 10 Fun Things to 3D Print
Italo Soares on 3D Printed Gears Easy!
Frostbite on Vacuum Drying PLA Pt.1
3AM Productions on 3D printer after care Package
3AM Productions on RIP Pinshape 2013-2016
Italo Soares on About me: Italo Soares
Lays Rodrigues on Slicers: Which one to use?
Robbie Pearson on How To Use TinkerCAD
Robbie Pearson on Edit STL Files with TinkerCAD
Tony Davies on Marlin a beginners guide
3AM Productions on 3D PRINTED SEX TOYS
Alexis Puentes on Sintron Prusa i3 Review
Daniel F on Beer based Filament
Curtis J. Pratt on Beer based Filament
bioelectrobot on Beer based Filament
admin on Makergear M2