3D Printing Under Arch Linux

Artificial food created with a 3Dprinter

Brief introduction to 3D printing under Linux

3D technology and 3D printing are under quick development at this time. They have big future and can involve all parts of our live. But they are still quite expensive for normal user. BUT …. everything is changing. The 3D printing based on FDM technology is suitable and accessible for everybody.


The principles of 3D printing is almost  common to all  kinds of technology. The model is printed layer by layer as described bellow by FDM technology.

FDM – (Fused deposition modeling) is an additive manufacturing technology  used for modeling, works on an “additive” principle by laying down material in layers; a plastic filament or metal wire is unwound from a coil and supplies material to produce a part.

3D printing under Arch Linux
3D printing under Arch Linux – FDM

As a filament  the 3D printer uses thermoplastic materials as ABS or PLA in many colors. You can find other materials of course. But these ones are the most using.

3D printing under Arch Linux
3D printing under Arch Linux – filament
3D printing under Arch Linux
3D printing under Arch Linux – type of filaments

ABS – Acylonitrile Butadiene Styrene, is an oil-based plastic. It is a strong, sturdy material that businesses widely use for constructing things such as plastic car parts, musical instruments, and the ever-popular Lego building blocks. ABS has a high melting point, and can experience warping if cooled while printing. Because of this, ABS objects must be printed on a heated surface, which is something many at-home printers do not have.

PLA – Poly Lactic Acid, is a biodegradable thermoplastic aliphatic polyester derived from renewable resources, such as corn starch (in the United States and Canada), tapioca roots, chips or starch (mostly in Asia), or sugarcane (in the rest of the world). In 2010, PLA had the second highest consumption volume of any bioplastic of the world.

Preparing model and data

At the beginning there is the most important thing – your IDEA. You have to know what to print, what do you want to have in real. After that you need to transfer your idea/model to digital data – modeling it by software like CAD or others modeling tools.

But do not be distressed. If you do not know what to print or you do not know how to use software for any reason – there is again your big friend – Internet – with big library of models for you. For example http://www.thingiverse.com where you can choose from many prepared models in suitable format for Slic3r. So you can skip steps about modeling and go straight to prepare data to your printer by Slic3r.


OpenSCAD is a free software for creating solid 3D CAD models.  OpenSCAD provides two main modelling techniques: First there is constructive solid geometry (aka CSG) and second there is extrusion of 2D outlines. As data exchange format format for this 2D outlines Autocad DXF files are used. In addition to 2D paths for extrusion it is also possible to read design parameters from DXF files. Besides DXF files OpenSCAD can read and create 3D models in the STL and OFF file formats.

To install it just type:

$ sudo pacman -Sy openscad

and launch the program:

$ openscad
3D printing under Arch Linux
3D printing under Arch Linux – Openscad


FreeCAD is a parametric 3D modeler  made primarily to design real-life objects of any size and based on OpenCascade, QT and Python,. Parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters. FreeCAD is open-source and highly customizable, scriptable and extensible. It can reads and writes many open file formats such as STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE and many others.

Install program:

$ sudo pacman -S freecad

and launch

$ freecad
3D printing under Arch Linux
3D printing under Arch Linux – Freecad

and finally my favourit program. It is one of the best open source not only modeling programs.


Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.

3D printing under Arch Linux
3D printing under Arch Linux – Blender
$ sudo pacman -S blender
$ blender

After creation of your first model you need to  export it to STL format which is used by Slic3r (see bellow) or other printer preparing software. This is also  time to check if your STL file is not corrupted and fix possible errors.


Netfabb  is an advanced software for professional editing of 3D printing data. It is licensed for non-commercial use only and features most of the tools used daily by professionals in additive manufacturing and 3D printing.

Most CAD systems and scanners for personal use create STL or OBJ data but the files often need to be edited for a good result. You may also wish to make solid parts hollow or add text or graphic elements and other features to a part before starting the 3D printer. netfabb Private will provide you with a fully-loaded tool-box to do all this and much more:

  • fix complicated file errors
  • make late design changes
  • combine parts into one
  • hollow out solid parts into a shell
  • smooth the mesh to improve surfaces
  • reduce file size
  • edit parts on a triangle level to increase quality
  • add text
  • add graphic elements (pictures, textures, logos)
  • design and create 3D parts in full color
  • directly load your scans from Microsoft® Kinect® scanner into netfabb
  • create 3D parts from 2D pictures
  • merge parts together or subtract from each other with powerful 3D Boolean operations
  • cut out areas from surfaces and extract them
  • make design changes and add from a variety of included geometric primitives
  • Text and Image Labeling function
3D printing under Arch Linux
3D printing under Arch Linux – Netfabb

netfabb is not at official repository so you must install it from AUR using yaourt

$ yaourt netfabb-basic
$ netfabb-basic


Slic3r is the tool you need to convert a 3D model into printing instructions for your 3D printer. It cuts the model into horizontal slices (layers), generates toolpaths to fill them and calculates the amount of material to be extruded.



3D printing under Arch Linux - Slic3r
3D printing under Arch Linux – Slic3r

again – not at official repo and need to be build from AUR

$ yaourt slic3r
$ slic3r

The 3D printer is basically CNC machine so it uses G-code. Bellow you can see the part of code which control your printer to print model of Batman:

; generated by Slic3r 1.2.9 on 2015-11-13 at 22:23:39

; external perimeters extrusion width = 0.50mm
; perimeters extrusion width = 0.58mm
; infill extrusion width = 0.58mm
; solid infill extrusion width = 0.58mm
; top infill extrusion width = 0.58mm

M104 S220 ; set temperature
G28 ; home all axes
G1 Z5 F5000 ; lift nozzle

M109 S220 ; wait for temperature to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
G92 E0
G1 Z0.500 F7800.000
G1 E-2.00000 F2400.00000
G92 E0
G1 X57.745 Y72.602 F7800.000
G1 E2.00000 F2400.00000
G1 X68.665 Y64.407 E2.86216 F1800.000

If you have right configured  Slic3r according to your printer you can generate G-code – Expor G-code – and generated file upload to printer. And after some not short time you can see your model in real 🙂

Some my real models made only for presentation – so low quality:

3D printing under Arch Linux
3D printing under Arch Linux – models
3D printing under Arch Linux
3D printing under Arch Linux – models


In this field you have many choices. The best known man of open source 3D printing is Josef Prusa (Czech man and I am proud of him) and his open source project RepRap.  His newest printer Prusa i3 Plus (2015) is suitable for everybody. It is low cost printer for every user.

3D printing under Arch Linux
3D printing under Arch Linux – Josef Prusa

Of course you can choose another one. Everything is up to you. Google is your friend


This article is not focused to be detailed how-to. 3D printing is very complex field of interest and every part of this tutorial can be described by the numbers of how-to’s. The scope is to show you the basics and what is necessary to know and have at start line of your 3D printing.