Learn how SmartSlice for Cura can find the best print settings for your part while minimizing print time.
This tutorial is a companion to the Validate tutorial, which demonstrated how to use SmartSlice to evaluate the performance of your part and manually adjust print settings until the performance requirements are met. Here, you will learn how to use Optimize to automatically determine the print settings. Manually complete the steps (15 min. of setup and about 25 min. of solve time) or watch the video (2 min.).
Since this is a follow-on to the Validate tutorial, Steps 1 thru 10 are identical to the beginning steps of the Validate tutorial.
The initial steps in the Optimize workflow are just like any other Cura workflow.
- Download the STL file here.
- Open Cura and import the STL file. Make the following selections:
- Printer: Ultimaker S5
- Extruder 1: Material = Ultimaker ABS, Print core = AA 0.4
- Print profile: Normal - 0.15mm
Next, enter the SmartSlice stage and define the use case and requirements.
- Enter the SmartSlice Stage.
Anchor surfaces are surfaces that are constrained from moving. For this lever, the 2 cylinders are the anchor surfaces.
- Click on the part, then, using the Anchor selection tool, set the Selection type to Concave (the middle icon) then select the cylinder shown here.
- Click the Add button, set the Selection type to Concave, and select the other cylinder as shown below.
Load surfaces are surfaces where external forces are applied. The load surface for this part is the semi-circular surface at the thin end of the lever.
- Using the Load selection tool, set the Selection type to Concave, the Magnitude to 150 N, and the Direction to Perpendicular, then select the semi-circular surface at the end of the lever. The setup will look like this:
- The load arrow manipulation wheel will appear. From the Cura menu, select View > Camera position > Top View (or click the Top View icon in the lower left corner of the screen). This will change the view and make it easier to orient the arrow.
- Click anywhere on the perimeter of the wheel and drag the cursor to orient the load arrow as shown below.
To use Optimize, you are required to define a minimum factor of safety and maximum deflection. Learn what these requirements are here. In short, the minimum factor of safety is a value that specifies how much stronger the part needs to be compared to the applied load(s). The maximum deflection is the limit on how much you want the displacement of the part to be given the use case (the anchors and loads). The factor of safety is the strength requirement and the max deflection is the stiffness requirement.
- Select the SmartSlice Requirements button and enter 2 for the Factor of Safety and 3 for the Max Deflection.
Based on this use case and the current print settings, SmartSlice will compute the stiffness and strength of the part.
- Click the Validate button. The solution will take about 30 seconds to complete. When it is finished, a window with results will appear. Note that your values will be slightly different if your load direction is different than what is shown in Step 8. Also, the print time estimate may be different depending on the version of Cura you are using.
As noted in the Validate tutorial, this is the point where you decide to (a) manually adjust the print settings and continue using Validate or (b) use Optimize and let SmartSlice automatically find print settings that meet your requirements. This tutorial is about using Optimize so we will proceed with the latter.
- Click the Optimize button.
What happens during an Optimization? SmartSlice optimization algorithms intelligently search the space of possible print configurations in order to find configurations that satisfy the minimum factor of safety and maximum deflection requirements, while attempting to minimize print time and material usage. Because there are many possible configurations, SmartSlice must run many simulations and this means that an Optimization requires significantly more time than a Validation. In this scenario, the Optimize step takes about 25 minutes to complete. Learn more in the Optimization method overview.
A table of results is presented after the Optimization finishes. The results in this table are ranked based on a scoring method that takes print time, factor of safety, max displacement, and uniqueness of solution into account. All print configurations in the table satisfy the requirements. Some configurations use modifier meshes to adjust print settings in specific areas of the part. A tooltip is revealed when you hover over a solution and it shows the print settings that were adjusted for that solution. Again, your results may be different if the load direction is not the same as shown in Step 8 and the print time estimates may be different if you are using a different version of Cura.
- To view the top ranked solution, click the eye icon in the 1st row of the table. This switches to the Preview stage. Note that the solutions in the table can be sorted by clicking on any of the column names.
- Click the Slice button and review the internal layers.
The image above shows layer 45 for the 1st ranked result. SmartSlice has automatically added modifier meshes to the part. These modifier meshes are STLs that overlap with the lever STL. The print settings are independent from the global print settings in the regions where the modifier meshes overlap the lever. This allows SmartSlice to locally adjust the print settings such as Infill Density, Wall Line Count, and Top/Bottom Layers. The ability to define local print settings is valuable because it means that reinforcement can be added only where it is needed, which equates to more efficient print time and material usage.
- To review the print settings for the modifier mesh, select the modifier mesh, then click on the Per Model Settings icon from the menu on the left edge of the window.
The modifier mesh region has Wall Line Count = 4, Top/Bottom Layers = 8, and Infill Density = 40%. The global settings are Wall Line Count = 8, Top/Bottom Layers = 7, and Infill Density = 30%.
- Return to the SmartSlice stage and select the eye icon for the 2nd ranked result.
- the Preview stage, click the Slice button.
The image above shows layer 45 of the 2nd ranked configuration. Notice that there are no modifier meshes. The global print settings for this configuration are: Wall Line Count = 12, Top/Bottom Layers = 3, and Infill Density = 55%.
What is interesting here is the 1st and 2nd ranked results have significantly different print settings but produce as-printed parts that have essentially the same minimum factor of safety and maximum displacement. SmartSlice provides you with multiple solutions so that you can choose which configuration you prefer the most. One reason you may prefer rank 1 over rank 2 is that there is a 4.0g difference in mass. 4.0g is not a concern if you are printing a few parts, but for a middle-to-high volume production part, the material savings could be substantial.
Print time and material savings
A fundamental feature of the SmartSlice Optimization algorithm is to minimize print time and material usage. Let's compare how the top ranked solution compares to a part printed solid (100% infill). The table below compares the print times and part masses for these 2 parts. SmartSlice is able to reduce the print time by 3 hr 20 min (42% reduction) and the part mass by 14g (30% reduction). These are significant savings for a single part and would result in even more significant savings if many parts were produced. Note that print times may differ slightly depending on the version of Cura you are using.
Part Print Time Part Mass Time Savings Mass Savings Solid 7 hr 53 min 47g - - SmartSlice Optimized 4 hr 33 min 33g 3 hr 20 min 14g
This tutorial demonstrated how to use SmartSlice Optimize to automatically generate multiple print configurations that meet the requirements for the given use case. Interpretation and use of the table of results was discussed and the use of modifier meshes was also presented.
Notes and advice
- Optimization results are saved when you save your Cura project (File > Save). Saving your project after Optimize completes is highly encouraged.
- A single set of modifier meshes is generated during a given Optimization. Some solutions will use the modifier meshes and some will not.
- SmartSlice first attempts to meet the requirements using a solid model (a part with all top/bottom layers and no infill). If the solid model does not meet the requirements, then the Optimization process is terminated. In this case, we recommend (a) adjusting the requirements, (b) modifying the loads, (c) using a different material, or (d) altering the geometry of the part.
Results generated using Ultimaker Cura 4.7 and SmartSlice 20.2