Using Modifier Meshes with SmartSlice

Most of us involved in FFF are very familiar with the process of using a slicing program such as Cura to prepare an STL file to be printed. This process involves selecting a print profile and, optionally, adjusting a variety of parameters like the wall thickness, infill density, and layer height, to name a few. By default, these print settings in Cura are applied to all regions of the STL. In other words, the print settings at the bottom of a part are the same as the print settings at, say, the upper corner of the part.

What if you want different print settings in different regions of the part? Is this possible? And why would you want to do this? The short answer is, yes, this is possible in some slicing programs, including Cura, using what are often referred to as “modifier meshes”, and there are some compelling reasons to use them. This post explains what modifier meshes are and how they are used in SmartSlice workflows.

What is a Modifier Mesh?

A modifier mesh is simply an STL body that you can add to the build plate. Where the modifier mesh regions overlap the main part STL, different print settings can be defined. Any number of modifier meshes can be added and each modifier mesh can have unique print settings. A visual example is useful for understanding modifier meshes. In the image below there are 3 STL bodies on the build plate: the part you want to print (the drone arm) and 2 modifier meshes. The modifier meshes are located in regions of the drone arm where additional material is desired. To achieve this, the infill density for modifier mesh 1 is set to 50% and the infill density in modifier mesh 2 is set to 80%, while the global infill density remains at the default value of 20%.


When the part is sliced, as shown below, the effect of the modifier meshes become clear. Locally, where the modifier meshes overlap the drone arm, extra material has been added in the form of an increase in the infill density and additional walls and top/bottom layers. The net effect is that the part has been locally reinforced which makes it stiffer and stronger in these regions. This is much more efficient than globally increasing the infill density. In other words, modifier meshes allow users to control which regions of the part receive extra material and this saves on material usage and print time.


How to use Modifier Meshes with SmartSlice

Modifier meshes are supported by the Validate and Optimize tools in SmartSlice. If a user wants to understand the as-printed structural performance (stiffness and strength) of a part where they have manually added modifier meshes, then they can use the Validate tool. The Optimize tool is more general and puts the creation and placement of modifier meshes into the hands of the SmartSlice optimization algorithm. Both tools are demonstrated here.


Returning to the drone arm example, let us consider a scenario where a user has placed 2 modifier meshes at the same locations described above. Their intuition is telling them that a modifier mesh is needed to reinforce the small cross-sectional region of the drone arm and another modifier mesh is needed at the end where the motor attaches. After adding the modifier meshes, they define the anchor surfaces (red surfaces) and the loaded surface (blue surface) and load direction and magnitude as shown below. The maximum deflection requirement is set to 8 mm and, because mass is critical for drones, they specify a relatively low factor of safety of 1.5. Next, they run the Validate tool and within seconds they get an answer from SmartSlice that shows they are not meeting the strength or stiffness requirements. Specifically, the computed minimum factor of safety is 0.84 and the maximum displacement is 10.7 mm.


So the user took a guess on where the modifier meshes should be but, unfortunately, they guessed wrong since the strength and stiffness requirements are not satisfied. At this point, the user can view the regions where the factor of safety is low and view regions where the model is seeing relatively large strains and then use that information to adjust the print settings and/or the sizes and locations of the modifier meshes, and run another Validation to understand the effect of their adjustments. In many cases, this workflow, although iterative, can be completed in a matter of minutes because the Validate tool runs very quickly.

A second option is to use the Optimize tool to let SmartSlice automatically determine where to put the modifier meshes and what adjustments need to be made to the global and local print settings.


The Optimize tool in SmartSlice is used to accomplish 2 tasks: (1) determine the print settings which will result in an as-printed part that meets or exceeds the strength and stiffness requirements and (2) minimize the print time and material usage. It does this via an algorithm that explores the design space of print settings that influence the structural behavior of the part. For example, it considers how changing the infill density and the number of walls affects the performance of the part. In addition to considering the print settings, it also identifies regions in the part where a modifier mesh is appropriate and automatically creates and places them. Through this process, SmartSlice provides users with multiple print setting and modifier mesh configurations that meet the performance requirements while keeping print time to a minimum.

To run an Optimization, a user simply needs to click the “Optimize” button after completing a Validation. After the Optimization completes, a table of results is presented to the user and each solution meets the performance requirements and some use modifier meshes. By providing the user with multiple solutions, SmartSlice is giving them the power to choose which solution makes the most sense for their application.

Consider what happens when the Optimization of the drone arm completes. As shown below, a table of solutions is displayed. Each solution has a unique set of print settings and some even include modifier meshes. The top ranked solution, shown in the image, does have a modifier mesh, and has a computed minimum factor of safety of 1.52 and a maximum displacement of 6.4 mm. It is worth pointing out that there is no modifier mesh at the end of the arm where the motor attaches. The user assumed this region needed to be stronger so they added the modifier mesh manually, however as the optimization results show, adding material at the motor mount is not necessary. The 2nd ranked solution does not have a modifier mesh but does require an extra hour of print time compared to the 1st ranked solution. Other solutions use more material and therefore are stronger and stiffer than the lightweight, low print time solutions. Again, the user can choose which solution they prefer and print that part.


Slicing the 1st solution reveals the internal structure of the part (see the image below) and shows how the modifier mesh is used to increase material locally. In this example, the global infill density is 20% and the infill density in the modifier mesh is 60%. By increasing the infill density in a local region, rather than increasing the infill density for the entire part, print time is significantly reduced.


Modifier meshes are a powerful tool that you should acquaint yourself with if you have not already. This relatively unknown feature is easy to use and can be quite powerful. Give them a try today and, better yet, try them with our free, 14-day SmartSlice trial.

Further Reading on Modifier Meshes

FFF Cura SmartSlice Optimization Modifier Mesh