What's the best free CAD program for 3D printing?

As noted in another topic, personal use Fusion 360 is being greatly restricted starting October 1. What are the pluses and minuses of programs that you have used to develop projects for 3D printing?

https://talk.dallasmakerspace.org/t/fusion360-personal-dropping-most-features/74979

1 Like

I’ve used Sketchup for many years. More recently I’ve tended to turn to TinkerCAD for quick designs. My comments are mostly contrasting those two tools. Following that are some comments on OpenSCAD.

Google SketchUp
Minuses

  • Requires a plug-in to export STLs.
  • Can be frustrating when drilling holes.
  • editing/rescaling can cause bizarre warping if not approached carefully
  • Sometimes gets faces “reversed” which can confuse slicers.

Plusses

  • extensive library of 3D models avail
  • has more sophisticated tools than TinkerCAD
  • more like traditional CAD (could also be a minus)

TinkerCAD
Minuses

  • basic shapes only, but can add/subtract other shapes
  • no tape measure - only dimensions

Plusses

  • easy to get started with
  • web-based, no s/w download
  • Your (and others’) models avail From anywhere

OpenSCAD
If you like programming, you might like OpenSCAD. You write procedures with graphics primitives (cube, cylinder, rotate, translate, et al) to describe the model.

Minuses

  • not WYSIWYG - have to render results
  • hard to debug
  • relatively small user base - harder to get help

Plusses

  • basis for Thingiverse’s Customizer
  • allows for parametric design
  • can generate complicated mathematical models
  • can use Customizer source and modify the design (Code)rather than the implementation of the design (the STL).
  • handy for making parts which must work together

Example: here’s a coffee grounds scoop I designed.

Using OpenSCAD, I can make a 1, 2, or 4 oz version with smooth or faceted sides just by changing two parameters.

3 Likes

I’m using FreeCAD with good results.

I redesigned the ducts to add a BLTouch mount. The fans, hotend, and BLTouch are models imported from Thingiverse. Very handy to fit check parts on my printer mods.

1 Like

For Makerspace members, Solidworks is the best free program.

6 Likes

I use Houdini for 3D modeling for 3D printing (among other things). It has both free and low cost versions depending on your use case.

It has a very powerful node based interface and procedural workflows which makes working with and changing complex models fairly straightforward.

2 Likes

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 :slight_smile:.

4 Likes

I was going to say. Having Solidworks available to us free is a phenomenal benefit and for me, worth the entire price of admission.

4 Likes

2 Likes

/s/povray/dkbraytrace

1 Like

It was all we had at the time (for free)… Hehe

As an example of CSG fun, creating rounded dice involved a series of spheres, cylinders and cubes. These days I would just rather just create a cube and fillet all the edges…then deal with the pips and call it a day :blush:

1 Like

SketchUp has “components” which can be included by reference, so you could create a rod component and use it multiple times. Changing the component would change all the uses of the component. This isn’t as flexible as parametric design because you can’t make negative components ( like the M5 vs M3 holes in your example), nor can you use the same parameter in different components like a slot and a tab sharing the same parameter.

I don’t believe TinkerCAD supports components or parameters, but I’ve not tried to do so.

The Prusa Printer is a great example of parametric design; the whole printer spec is controlled through OpenSCAD files. If you wanted to swap out a heavier (and bigger) stepper or change the bed size, there are parameters controlling those specs, and the changes would flow through the various plastic parts as well.

1 Like

FreeCAD is parametric. It supports assemblies and separate parts.

I believe it also can import and directly work with OpenSCAD objects. There’s a workbench for it, but I haven’t needed it yet.

Not yet sure how it’s CAM works. I intend to find out.

2 Likes

Yeah, I like FreeCAD, but I know it’s not everyone’s cup of tea etc. I’ll be using it more often again, but here’s a situation where the iterative nature of parametric CAD paid off for instance:

I played around with it again last night to try out the a2plus module and assemblies.

1 Like

I really like the concept of OpenSCAD a lot, but some of it makes me yearn for a more powerful programming language. People have created the Javascript equivalent in OpenJSCAD (https://openjscad.org/), but it’s not really taking off AFAICT. I REALLY wish they were both using a more powerful engine behind them than OpenCSG, but I’ve played with Open CASCADE before and I can understand the turn off :slight_smile:.

I also like the concept behind something called CADQuery (https://github.com/CadQuery/cadquery). It uses an Python API and he kinda based the queries in it for selecting geometries off of jQuery. This has apparently been added as a “workbench” within FreeCAD. I REALLY like the concept of generating parts with a programming language in general.

2 Likes

I don’t know how far I’ll be able to get with it, but my plan is to try to do the CAD and CAM for the domino in FreeCAD. If it works, it’ll be a good start.

1 Like

I’m serious about being available to help run the machine when you try. It’s important to have free options that can’t be taken away.

2 Likes

I figured you were. It’ll be a bit before I’m anywhere close to having something to try on the machine, but I will certainly get with you when I get to that point.

If you want to be in on the precursor stuff too, we can meet up at the space sometime.

Sorry to go off on this tangent on OP’s 3D printer thread. There are two similar threads running and I accidentally crossed the streams…

3 Likes

I have liked OnShape. It is free for personal use and browser based which is nice since your files are accessible anywhere. You can import and modify Solidworks files with it too, which is great.

1 Like

AutoCAD includes LISP as a programming language for automating part generation. I did LISP programming back in the 80’s - I would not look forward to using it again.

1 Like

No apology needed. All comments here are at least as close to the original as on most other topics.

1 Like