Hello community, I’ll try to be brief. My 13 year old son got a 3d printer as a gift, and I’d like to learn alongside him. We have 0 experience. However, I am a data scientist, so lots of professional Python experience, if that helps. We’re a foss/Linux family so my questions are:
What tools are the best to learn for 3d printing for me? I am ready to learn CAD programming. Can you all recommend a tech stack and resources to learn it?
Hi there. I’m something of a 3D printing veteran, I’ve built a dozen printers, had a side gig maintaining printers for a small manufacturer, done all kinds of crazy crap with 3D printing.
I see from other comments you have an Ender 3 Pro. Decent little machine, should be lots of fun.
The biggest advice I can give you is: Watch the thing print. You can learn so much just by watching the thing print. Especially if something is going wrong. Sit there and watch it like television. It will give you this great sense for how the printer works. It’s not a Star Trek replicator, physics is happening while the part is halfway done. Heat, inertia, gravity, they’re all factors.
Download stuff from Thingiverse to print out. There’s lots of godawful models out there written by people who don’t have a clue what they’re doing. They’re extremely instructive. I found a cool little low poly skull that was modeled tilted at a slight angle to the axes, so the bottom layer was at a very slight angle to the bed and it tried to print the thing uphill. Print stuff out, watch it fail. Learn.
As for a tech stack: I’m a Linux guy myself. My current favorite workload is FreeCAD and Slic3r.
FreeCAD is very powerful, if a bit clunky. The UI is written in Python, and it leaks into the user experience a bit. Start using the parametric features, especially referring to the built-in spreadsheet in your sketches, and you’ll start to recognize it. I’ve also used Fusion360 and OnShape at various points in my career, and learned things from both, but I do all my 3D design work in FreeCAD now.
Most slicer software works on Linux, even Simplify3D does. I’ve used many of them over the years, and they all do a pretty good job. Try several out, you’ll find most of them in your distro’s package manager.
One thing I would suggest: Learn a little bit of G-code. Reasons why: It’s useful when diagnosing problems with the machine, and it can be handy to customize the start of print and end of print routines. Like when you start a print, and it heats up the bed, then it heats up the nozzle, then it homes the axes, and maybe ejects a little filament to clear the nozzle…that’s all G-code that the slicer software appends to the .gcode file. Usually there’s a text field somewhere in the settings that lets you alter it.
Thanks for this. I was initially thinking of starting with OpenSCAD but FreeCAD was another contender. Perhaps I need to go with whichever has the best documentation, examples, and learning resources.
TinkerCAD is free and browser-based. It’s remarkably powerful for something that’s basically explicitly supposed to be simple enough a child could learn to use it.
And I’ll second trying to understand some G-code. When a malfunction causes your print to stop cleanly midway, pretty much your only way to salvage it is to figure out which Z-layer it malfunctioned at, and directly edit the G-code to start where it left off. It’s finicky, but a lifesaver on large prints. Nothing is worse than 30 hour print failing 80% of the way in.
OpenSCAD is rather unique; you draw parts by programming them in code, which I never personally hitched horses with. Neat if gimmicky idea.
FreeCAD is trying to be all things to all people and achieving it extremely slowly. You can code parts in Python, and it has an OpenSCAD workbench, though my personal preference for workflow is Part Design; drawing 2D shapes and then extruding them into 3D.
Blender is another option, probably preferable for hand-sculpting/art/etc.
Look into OpenSCAD. It’s a declarative language you can use to do 3d modeling. I suck with graphical programs like Fusion and Blender but I’m a programmer, and OpenSCAD has made my life a lot easier.
I’d find a good YouTube Channel like Makers Muse or Make With Layers for some beginner tips and tricks, that really helped me when I was starting out to get into the lingo.
As for software suggestions. Follow the recommendations from the manufacturer for the printer for software. Using Printables or Thingiverse for models to start with. At least to get started.
Then understand what printer you have. There is a world of difference between an Flashforge Adventure, Ender 3, and Prusa Mini.
After printing some fun models like a Benchy, try making your own stuff you’ll have a good feel for what’s a good print once you’ve printed other models, and have a few failures.
My software recommendations are as follows:
Modelling software for the teen: TinkerCAD, it’s free, it’s simple, and there are hundreds of tutorials going over how to use it. The software feels limiting for the experienced, but for a newbie it’s not bad
Next steps: Google Sketchup is another free software, still limited but has a lot of resources and is a good intro into cad.
For you: Fusion360, I think it’s still free, but with heavy restrictions. But from the last I checked it still has all the tools you need to get started. Plus it’s well documented with dozens of tutorials and guides.
My Software: I use to use Fusion, but I moved to FreeCAD. Made with layers goes over why this isn’t the best software and it’s many many issues. But for me I personally love using it with the sheer precision and control I can get with my designs. It’s not for beginners and the documentation is poor, with virtually no tutorials. I’ve done a small write up for how to get started before so check my comments if you are interested.
Otherwise Cura or PrusaSlicer is to get your models to print.
Before you go the octoprint or other hosted app route, I humbly suggest printing from the SD card while you learn the process engineering to get prints to come out decent. This reduces the number of things you have to learn at once, and the points of failure. The workflow is then simply: (1) acquire or design the model (STL file). (2) slice it (generate .gcode file) and copy to sd card. (3) use the touchscreen to run the gcode file.
You’ll spend most of your fiddling on step 2 since you need to learn what temperatures and speeds work well.