While 3D printing sounds great on paper, many people getting into the hobby are somewhat disappointed by their first few printing projects. The simple truth is that getting good results is a science in its own right, and most beginning users spend many hours going through a trial-and-error process to get a 3D printing quality that works for them. Layer thickness is one of those headache-causing parameters, as very thick layers diminish surface quality, while very thin layers dramatically increase printing times. To make it even more frustrating, half of every object you print usually doesn’t need a high quality, while it is absolutely paramount for the other half.

But there is a new middle way that optimizes surface quality where you need it, and saves 3D printing time on those areas where you don’t. Autodesk has just launched the free open workflow VariSlice, which generates variable layer heights for each and every 3D printable object – allowing you to 3D print three or four different layer thicknesses throughout a single object. The best of both worlds is now within reach, and will easily improve your 3D printing results.

Of course Autodesk is no stranger to the problems of 3D printing, and Steve Kranz of Autodesk’s Integrated Additive Manufacturing Team has developed VariSlice to make the entire 3D printing experience much more satisfying. In a nutshell, this free workflow solution takes an STL file, looks at the slopes of all the triangles that make up the surface and slices them at variable layer thicknesses to optimize the precarious balance between print speed and print resolution. Free under the Creative Commons Attribution 3.0 license, it is now available to everyone.

The basic idea behind this software is that most curved surfaces bring very diverse printing demands to the table. Straight walls can easily be 3D printed at maximum layer height (such as 100 microns), while very shallow angles (at the top of a sphere, for instance) thrive with very thin layers of just 10 microns. Right now, we all tend to choose just one layer height – and compromise by sitting somewhere in the middle at 50 microns. Varislice, however, analyses the complete surface and allocates different values to different portions of the print; the top of the sphere can be 3D printed at 10 microns, while the middle section is done at 50, for example.

This fantastic solution can obviously add a lot to all FDM 3D printing efforts. Whether or not it can be integrated into the popular Cura or Slic3r software platforms is another matter, but that could be something for the future.

If you want to use it right now, you can download VariSlice from Instructables here, and follow the tutorial. In a nutshell, users will have to import any STL file into Meshmixer to export it in an ASCII format – which enables VariSlice to use a Z-up coordinate system. Imported into Print Studio, you then slice the model in 5 micron layers – because the variable layer thicknesses will range between 100 and 10 µm in steps of 5 µm. You will also have to adjust a few other lines of code.

Once ready, you can now run the variSlice.pde sketch. It contains several algorithms, of which buildLayers() is the main one that determines the layer thicknesses. “It selects the appropriate layer thickness one layer at a time, starting at the bottom. We start at the bottom (z=0) of the STL, and start with the thickest layer thickness we are considering (e.g. 100 µm or 0.100 mm). The function finds every triangle in the range of z = 0 to z = 0.100 mm,” Kranz explained. “It then finds the slope of all of these triangles and looks at only the lowest slope (the most horizontal). It asks itself, given a certain maximum stepover (like 0.05 mm, which is the pixel size on the Ember projector) is the current layer thickness good enough? If it is good enough, it records this at the thickness for the first layer and moves the z-value up to 0.100 and starts the process again.”

Once finished, the files need to be compressed as a .zip file and made ready for 3D printing. If you want, you can even visualize these cool variable layer thicknesses using Autodesk’s drawLayersGeneral.pde sketch.