How can I tell if an STL model will need supports?
You could try to:


Slice with slicer (Cura in my case) with support enabled.
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
If it exists, then try to call it again:
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.