3
$\begingroup$

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.

$\endgroup$
  • $\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$ – Tom van der Zanden Jul 1 '18 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 '18 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$ – Mark Harrison Jul 1 '18 at 22:20
3
$\begingroup$

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
    ;TYPE:SUPPORT
    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.

$\endgroup$
  • 1
    $\begingroup$ I wonder where you got the idea ;-) . This is how I would solve it too. $\endgroup$ – 0scar Jul 2 '18 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$ – Carl Witthoft Jul 2 '18 at 14:24
  • $\begingroup$ as long as scrip can handle that manual operation it is a good solution :) @CarlWitthoft $\endgroup$ – profesor79 Jul 2 '18 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.