Cover image for An Introduction to 3D Printing

An Introduction to 3D Printing

erikaheidi profile image Erika Heidi ・4 min read


3D printing refers to a variety of processes in which a computer-operated machine creates three-dimensional objects by joining or solidifying material, typically layer-by-layer until the whole object is complete. 3D printing is also commonly referred to as additive manufacturing.

Even though the early years of the technology seemed to regard 3D printing as an expensive process only suitable for aesthetical prototypes, the technology behind additive 3D printing has evolved to an impressive scale in the last few years, lowering barriers and making it more popular and affordable to end-users.

Why 3D Printing

What first got me into 3D printing was my interest in electronics. 3D printing opens up a new world to hobbyists and makers, because it lowers down the barriers around creating original prototypes. But 3D printing is not useful just for prototyping; you can use it to fix stuff in your home, to create useful tools and adapters with different materials, to decorate, and to create funny original toys for your children.

The most exciting part of it is that you can download thousands of existing models for free in sites like MyMiniFactory and Thingiverse, and you can always create your own unique designs with 3D software and even using code!

How it Works

There are different methods of 3D printing out there, but we'll focus on FDM 3D printing because that's the most popular nowadays.

FDM stands for Fused Deposition Modeling, which in practice means that a continuous stream of melted material (usually plastic filament) is extruded through a nozzle and is immediately solidified, fusing together with existing layers on the printing plate.

It is a slow process, but the results can be quite impressive. The following timelapse gives a better idea of how it works. This print took about 20 hours to complete:

Choosing a 3D Printer

I’m not giving you advice on which printer to buy. Go check some Youtube videos, read about it, consider what you plan on doing with it. There are many vendors out there offering 3D printers at different price ranges, from a couple hundred dollars to a few thousands. That being said, we have a Prusa i3 MK3S (upgraded from MK3), and we're very happy with it.

Kit or Assembled?

If you want something that is just "plug and play" (almost, as they usually still require some calibration anyways), you should consider buying a printer that is already assembled. They are more expensive, however you will spare a lot of time and effort into putting everything together – even with the best documentation, for beginners it's still quite hard to assemble everything right.

It is definitely possible thou, so if you want to spare some money and you are not in a hurry (meaning: you will have time and patience to assemble things carefully) you should go for the kit.

Prusa kit

We chose the Prusa MK3, and I'm glad we went for the kit. Assembling the kit has taught us so much! The best thing about the kit is that it teaches you a lot about the machine. You'll get a better understanding of how it works, mechanically speaking. If something breaks, if something doesn’t seem right, you will be in a much better place to understand what happened, and maybe fix it.

3D Printing Filament

In order to print something with a 3D printer, you'll need 3D printing filament. These are typically sold in rolls and measured in weight (1kg rolls, 500g rolls..). There are a lot of different brands and materials, the most popular being PLA.

PLA is the most straightforward material to print. Other materials, such as ABS, can be quite difficult to print, requiring special conditions like a stable room temperature and a very hot print bed.

Another good option that prints easily and offers a much higher resistance than PLA is PETG. PETG is suitable for things that shouldn't break easily and stuff that must endure higher temperatures or just being exposed outdoors.

Other materials include flexible filament, copper-infused (also other metals), carbon fiber, and many more. These are typically harder to print, serving special purposes.

3D Printing Software

3D printing requires special software to turn the STL files we download from sites like MyMiniFactory into actual GCODE that is understood by your 3D printer. The process of turning an STL into GCODE is called slicing. A popular slicing program is Slic3r, and there's also the PrusaSlicer for those who own Prusa printers, either original or derivative ones.

To create original models, you can use a 3D modeling software - there are many to choose from. The following timelapse shows me using Freecad to design a simple shapes toy for my girl:

Even more exciting is to use code to create 3D models. You can do that with OpenScad, an open source platform for creating solid 3D models through code. This enables you to create customizable 3D objects!

Here's a sneak peak of a simple nametag I've created with this tool:

font = "Ubuntu Mono";
letter_size = 60;
padding = 20;

string = "@erikaheidi";
textlen = len(string);

box_width = letter_size*textlen*0.8;
box_height = letter_size + (2*padding);
box_thickness = 20;

start_x = 0 - (box_width / 2) + padding;
start_z = padding;

module text3d(string) {
  linear_extrude(height = box_thickness - 10) {
    text(string, size = letter_size, font = font, halign = "center", valign = "center", $fn = 64);

module tag(width, height, thickness) {
    spacing = 20;
    difference() {
        //tag body
        linear_extrude(thickness) {
            square([width, height], center = true);
        //tag hole for lanyard
        linear_extrude(thickness) {
            hole_x = 0 - width / 2 + spacing;
            hole_y = 0 - height / 2 + spacing;
            translate([hole_x, hole_y, 0]) square([15, height-spacing*2]);

difference() {
    tag(box_width, box_height, box_thickness);
    translate([0+padding, 0, start_z]) text3d(string);

And here is the printed result, among other customized prints:

custom prints

Fun, huh? If you'd like to see more content about 3D printing here, or specifically OpenScad examples, let me know in the comments!

Cheers, and see you next time ;-)

Posted on by:

erikaheidi profile

Erika Heidi


Code sorceress and machine enchantress. Passionate about writing and creating technical content for a variety of audiences.


Editor guide

Nice! I have meant to find a maker space or something like that to start experimenting. One thing I was wondering especially is if the common material is somewhat flexible if thin enough. Is there some good resources to know more about these things ?

Thanks for the article!


PLA is not really flexible no ;) i'll snap


Damn, what shall I use to get something slightly flexible? like for instance the legs of this keycap puller (sorry first example that came to mind)

Something thats slightly flexible might work, you'd have to test it. depends on a lot of factors like infill etc. If you want real flexibility you could print rubber, but that wouldn't work for a keycap puller ofcourse

Cheers, I'll try that out :)

hey :) as @joppedc mentioned, PLA might break easily. I would try PETG, it has some flexibility depending on thickness and infill, but it's still strong enough to use for something like that.

Nice! thanks!

Is there some reference online that would give some flexibility/strongness measurement of these 3D printing materials based on the thickness/infill?

I don't know about such a reference, but something like this might help get a better comparison between materials:


that's a pretty good start! Thanks a bunch!


Nice article! Printing is so much fun, I bought a cheap Ender 3 to test the waters, I make the models on fusion 360 and slice with cura.

The start was a bit rough trying to figure out how to setup the printer, bed calibration, changing filament, etc.

I've printed toys for the kiddos, Nasa rocket ships, to fix broken parts around the house or my wood shop. It's an amazing feeling creating something. If I can do it, anyone can!


Thanks, Erika :) Good job :)


This is awesome! My friend made me a 3D printed Iron Throne (scaled wayyy down), and I love it! I've been wondering about the process of 3D printing and how to get started.


Wow! I just learned so much!


Thank you Jess, that means a lot to me! <3


I know a fair share about 3d printing, but nothing about SCad. Can we make articles here if they're not coding related?