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?

  • Captain Aggravated
    link
    fedilink
    English
    51 year ago

    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.

    • @ArtVandelayOP
      link
      English
      1
      edit-2
      1 year ago

      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.

      • @[email protected]
        link
        fedilink
        English
        2
        edit-2
        1 year ago

        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.

      • Captain Aggravated
        link
        fedilink
        English
        11 year ago

        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.