How about we actually do all the necessary calibration for 3D printing automatically?
When we think of “calibration” in FFF 3D printing what comes to mind are three processes:
- Leveling the print surface to counteract non-flat surfaces
- Setting the Z-offset between the tip of the nozzle to the print surface
- Aligning the two nozzles on systems with dual extrusion
We do those, and we’re done, right?
There’s another calibration that is so often forgotten: filament calibration.
Filament might be labelled “PLA”, but each brand has slightly different chemistry, and that implies slight differences in print settings. Print temperature, speeds, retraction all might have to be tweaked for the best print results.
While many people simply ignore this step and accept whatever quality prints emerge, others take the time to tediously execute a series of test prints to dial in the settings.
This, in theory, should be done on each and every new material your machine is to use.
Honestly, this step is a pain. It takes a long time to do and isn’t much fun.
There are some ways to make it slightly easier. SuperSlicer, for example, includes a series of calibration routines that you can work through. It’s basically a calibration wizard, that generates a series of test models that you print and then compare against visual examples. These steps eventually lead to optimal print settings.
However, it’s still a lot of work, even though you’re guided through the process.
I’ve been thinking about this issue, which is actually a serious barrier preventing many in the general public from adopting 3D printing. What if the process of filament calibration could be fully automated?
Here’s what I imagine:
- A 3D printer is equipped with a pair of cameras pointed at the print surface
- An automated filament calibration routine is launched
- The printer prints a series of test objects on the plate
- The cameras observe the prints and use machine learning to determine their proximity to perfection
- The printer asks you to clean the print surface for a second iteration
- The process repeats until the software is satisfied it’s dialed in the parameters
- The software writes a new print profile for this particular material
Given the existence of high resolution cameras and all kinds of AI applications — including several for 3D printers to detect print failures — it would seem this approach could be attempted.
If so, one could literally toss a spool on a FFF 3D printer and hit “calibrate”. After a time you’d have a brand new print profile that is perfectly set up for that material.
I’d like to have that capability, wouldn’t you?
There is an alternative, and that’s pre-made print profiles. They exist embedded in some slicing software, as well as some closed proprietary profile services from certain 3D printer manufacturers.
But that approach has severe limits: you have to know the machine and the material ahead of time. This is why pre-made profiles are always of specific machine models and specific branded filament products.
That approach does not solve the general problem of “I have a printer and a spool”. The AI approach could, and it potentially might remove the need for print profile repositories entirely.
So how about it, software developers? Could this be a project that someone undertakes?