Accelerating 3D printing

Changed on 12/07/2023
3D printing is used to make a wide range of things, but production is very slow. One way of improving the technique would be to optimise the code interpreted by the machines. Following an initial technical study, Inria is conducting an exploratory action in which three research teams are revisiting the toolchain from the 3D model to the low-level language. Damien Hardy, the Rennes-based scientist behind the project, explains how.
Gros plan sur la tête d'une imprimante 3D
© Inria / Photo C. Morel


The story starts in a garage, the one belonging to Damien Hardy, a teacher-researcher at the University of Rennes and a member of the Pacap team which specialises in compilation to improve low-level language performance.* In his spare time, he makes toys for his daughter using two fused-deposition 3D printers.

In 2020, Covid struck. The whole of France went into lockdown. There was a shortage of masks and plastic face shields for medical staff. All over the country, initiatives emerged to make the much-needed equipment using the means available. Damien Hardy turned his garage into a production workshop. His neighbour, who was a nurse, took care of the distribution. In total, over 200 face shields were printed and delivered.

Optimising paths

In the process, the scientist became aware of a problem: the slowness of the printing. “In the beginning, it took me two and a half hours per item!" Naturally, a question began to emerge: “couldn't we improve performance?" One element caught his attention in particular: the path of the nozzle depositing the melted material during printing, or more precisely, the long, wasted journeys from one deposit point to another. “This is a classic path optimisation problem. In scientific literature, it is known as the travelling salesman problem, which asks ‘what is the shortest possible route that visits all the cities?’”

One thing led to another and it was decided to launch a technical study to determine whether the question was worth exploring further. For this technological review, Damien Hardy was joined by Erven Rohou, Head of the Pacap team, and three engineers from Inria's Experimentation and Development for Research Department[1] .

Cutting layer by layer

In the 3D printing toolchain, the objects are first modelled using traditional CAD tools. The models made are then exported by the user to a file format called STL, which describes the external surface of the model using a triangle mesh. However, the printer cannot understand this representation and it must be transformed. This is where another crucial program comes in: the slicer. Using the STL file, the slicer cuts the 3D model into successive horizontal planes onto which the printer will deposit filament. To do this, the slicer generates an instruction file in G-code, a low-level language that can be understood by CNC machines. This file contains thousands of lines of instructions for the printer that successively indicate the order of the print path and the quantity of material to be deposited along the way.

“To a certain extent, this process is similar to compilation to produce low-level language. It was interesting to see how our classic approaches in the field could help improve performance”.

The technical study lasted three months and was completed in July 2020. It was also an initial proof of concept. “We searched the literature for an algorithm to address the travelling salesman problem. In this case, we used OR-Tools, a library of tools for carrying out this kind of thing compiled by Google.” The tool chosen was the Christophides algorithm, which is known for its good results in solving this type of problem. During tests, the researchers were able to speed up the process of printing face shields by 12%. A promising start!


Along the way, another scientist became involved in the research: Fabrice Lamarche, a member of the Rennes-based team  MimeTIC[2] and a modelling specialist. “His experience in 3D projects and planning helped us a lot. By offering his perspective based on knowledge we lacked, he allowed us to upscale. To begin with, our analysis and optimisation program required a whole night of computation. Thanks to Fabrice’s experience, we dropped to just 5 minutes.”

These initial results were then presented to Sylvain Lefebvre, Head of the MFX team at the Inria centre in Nancy [3] . “He has a lot of experience in 3D printing and is the man behind the IceSL slicer. He found our study very interesting. This strengthened our decision to request an Inria exploratory action."

OFAST3D exploratory action

The Institute’s exploratory action scheme promotes the emergence of new research themes by giving scientists the means to test original ideas. The team’s request was granted! The exploratory action started in January 2022. It was called Ofast3D and involved three teams. A dozen or so printers of all kinds arrived at the Inria research centre in Rennes. “We also obtained the finances to hire an engineer* for a period of 30 months and a postdoctoral researcher. This second position is currently still vacant. We also employ a second engineer,* who previously worked with the MFX team, using the Pacap team's own funds. We also have two Master’s students who work in the laboratory one day a week.”

What direction should this work take? One option would be integrate the proposed improvements into a slicer. But that isn’t what the team had in mind. “In practice, users have their habits. Once they have mastered a program, they don’t want to change it. We are therefore focusing on the output of the slicer, whatever it is. We are using the G-code to analyse it and then produce an optimised version.”

This new addition to the toolbox should also give the user increased options allowing them to adjust the speed and quality at different points on the part to be printed themselves. The beta version of the application will be tested in real life by Protype 3D, a company that partners the project. Based in Melesse, near Rennes, Prototype 3D offers a range of services including on-demand printing.

At the same time, the scientists are continuing to expand their field of investigation. “For example, we are developing a simulator that will allow us to estimate the production time needed for a part without having to actually print it. This will enable us to conduct experiments faster without needing to wait for the machine to do its work.”


[1] Guillermo Andrade-Barroso, Loïc Besnard et Laurent Garnier.

[2] MimeTIC is a project team involving Inria, ENS Rennes and Rennes University. It is part of the M2S (Movement, Sport, Health) laboratory and Irisa.

[3]MFX is a project team involving Inria, the University of Lorraine and the CNRS, hosted by Loria.


Exploratory action : OFAST3D project with Damien Hardy (french)

Miniature Podcast Damien Hardy
Titre du lecteur

Damien Hardy podcast (french)

Fichier audio
Audio file