Different horses for different courses (and this course was definitely 3D printing), but I had some generic questions.
I think all 3 are probably great for a lot of 3D printing tasks (which was the question being asked), but using a lot of triangles when doing other types of CAM seem like a bad idea. “How many sides does your cylinder have?” might be being overly pedantic, but I’m not sure how well some CAM packages handle those cases? Dear CAM package, this shaft is not a 50 sided polygonal prism, but is instead supposed to be a cylinder, could you pretend I have one here and maybe use some G02’s and G03’s? It’s a pretty moot point on 3D printing because almost every slicer just works with STL’s, which are triangles.
I don’t have a lot of familiarity with Sketchup and TinkerCAD, but how flexible are they when it comes to adjusting to changes on the fly? One thing that is nice in parametric CAD is the concept of lots of things can be tied to values that can be altered later, and the “construction history” so to speak can be used to rebuild everything. As an example, if I have a piece that I’ve made a bunch of M5 screw holes for and later I decide “M5’s are overkill, and M3’s are so much cheaper right now”. In parametric CAD this is literally finding one parameter (if you’ve done your job correctly) and changing it. This is something OpenSCAD obviously does well at too. Do these two packages handle these types of cases well?
When it comes to OpenSCAD, my main complaints are that it’s rooted in strictly CSG, and the language does unexpected things at times compared to other “programming languages”. On the languges parts, you can develop muscle memory around those things if you use it often enough. The CSG bit makes operations like fillet’s non-trivial, but I’m sure people have workarounds. It all does remind me of my POV-Ray days though .