How can I detect if a generated STL model will need to be printed with supports?

Context: I have a pipeline which parametrically generates OpenSCAD models, generates the STL, and sends them to the printer. I would like to (a) automatically detect the cases where supports are necessary so that I can specify the appropriate flags to the slicer, and (b) attempt to rotate the generated model so that supports won't be necessary.

  • $\begingroup$ How do you define "needs support"? Is just turning on supports in the slicer and letting it add supports where it thinks is necessary not good enough? $\endgroup$ Jul 1, 2018 at 8:52
  • $\begingroup$ You can always send the "use support" flag as the slicer will determine whether or not to use them. $\endgroup$
    – 0scar
    Jul 1, 2018 at 11:59
  • $\begingroup$ Great suggestion to always turn on the "use support" flag. I'll update the question to further explain my other use. $\endgroup$ Jul 1, 2018 at 22:20

1 Answer 1


You could try to:

  1. Slice with slicer (Cura in my case) with support enabled.

  2. Search for text: TYPE:SUPPORT

    G0 F1800 X237.873 Y184.24
    G0 X233.869 Y183.237
    G1 F1500 E562.81355
    G1 F900 X233.579 Y183.939 E562.91577
    G1 X233.368 Y184.67 E563.01816

  3. If it exists, then try to call it again:

  4. Use auto-orientation plugin to validate if there is a better (no support) model position.

As an alternative, you could scan the mesh and looks for an angle greater than 45 or 50 degrees.

  • 1
    $\begingroup$ I wonder where you got the idea ;-) . This is how I would solve it too. $\endgroup$
    – 0scar
    Jul 2, 2018 at 4:52
  • $\begingroup$ It's easier than that: load the STL into Cura and , in SolidView, regions requiring support will be colored red. $\endgroup$ Jul 2, 2018 at 14:24
  • $\begingroup$ as long as scrip can handle that manual operation it is a good solution :) @CarlWitthoft $\endgroup$
    – profesor79
    Jul 2, 2018 at 14:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .