A software slicing package for FDM robotic 3D Printing

The motivation for writing this package stemmed from the diverse research areas exploring 3D printing at the Institute of Technology of Architecture, ETH Zurich. Our goal was to identify and tackle common challenges encountered in this research by creating a versatile software package that all researchers can use and contribute to. Like this, common challenges need only be resolved once, solutions found by individual researchers are available to everyone, and a community is created for sharing knowledge and exchanging ideas on 3D printing.

To respond to these requirements, compas_slicer is written in Python based on the compas library, which is widely used in our department. It follows a modular approach where different components can be added to modify or extend the functionality without the need for modifications on the core of the package. It consists of the following two main groups of classes

  1. Slicers are classes that slice an input geometry to produce paths
Planar slicerInterpolation slicerScalar field slicer UV slicer
Different slicer classes in compas_slicer

2. Print_organizers are classes embed fabrication-related information on the produced paths.

Left: Planar spring organizer. Right: Interpolation print organizer

Various additional functionalities are added, such as different sorting algorithms of the paths, addition of brim support and safety print points, evaluation of overhang, assignment of variable print velocities, and others.

Two alternative sorting algorithms for the planar printing of the V-shape. The orange lines display the travel paths, and the white thick lines display the print paths. Left: Sorting per horizontal layers creates a large number of interruptions and travel paths. Right: Sorting per branch significantly reduced the travel paths.

The results produced by compas_slicer have been extensively tested in research and student projects. Below are some examples

Compas_slicer paths3D-printed object
  • Printing on non-planar substrates (student project by Ko Tsuruta, Ilaria Giacomini, MAS in Architecture and Digital fabrication, ETH Zurich, 2020)

More information on compas_slicer can be found on the following websites

compas_slicer documentation

compas_slicer GitHub repository

Acknowledgments

This work was carried out at ETH Zurich in collaboration with Joris Burger, in the chairs of Digital Building Technologies and Grammazio Kohler Research.

Special thanks to Dr. Tom Van Mele and Gonzalo Casas for their help and advice.