Most active commenters
  • wkat4242(4)
  • q3k(3)

←back to thread

Design for 3D-Printing

(blog.rahix.de)
837 points q3k | 33 comments | | HN request time: 0.529s | source | bottom
1. lawn ◴[] No.43888379[source]
What an impressive looking article (I've only skimmed it so far).

I've been meaning to try my hand at CAD and designing models to print but I haven't quite made the jump.

One thing that has given me pause is a good CAD program for Linux, does anyone has any good tips for a complete Newbie where to begin?

replies(14): >>43888387 #>>43888441 #>>43888444 #>>43888579 #>>43888627 #>>43888709 #>>43888809 #>>43888986 #>>43889170 #>>43889222 #>>43889581 #>>43889693 #>>43889931 #>>43895306 #
2. q3k ◴[] No.43888387[source]
FreeCAD is fine (the author also uses it). Make sure to follow the official documentation (eg. PartDesign tutorial) to not get immediately frustrated.
replies(2): >>43888508 #>>43888531 #
3. pcl ◴[] No.43888441[source]
I’ve had a lot of success with https://onshape.com, which just needs a browser.
4. retrochameleon ◴[] No.43888444[source]
I use FreeCAD, but it definitely leaves some UX refinement to be desired. There are a couple of web based options like OnShape that seem to work well, too.
replies(2): >>43888500 #>>43888755 #
5. rekenaut ◴[] No.43888500[source]
OnShape is great (we have been using it exclusively for a project over the past four months, the collaboration tools are phenomenal), but FreeCAD has made some fantastic progress over the past year. Some of the underlying technology problems have solved, and the UX has improved a lot with 1.0. The customization and scripting opportunities are also wonderful with FreeCAD. That said, if you’re coming over from Solidworks/NX/Inventor, as much as there are buggy parts of those, FreeCAD still has extremely frustrating workflows and buggy parts that you have to work around. It feels like it’s moving closer to Blender-like quality, but it still has a long road ahead of it.
6. Joel_Mckay ◴[] No.43888508[source]
The parametric workflow can be confounding to some people, but most pick up the newer FreeCAD interface fairly quickly:

https://www.youtube.com/@4axisprinting/videos

Best of luck =3

7. titaphraz ◴[] No.43888531[source]
I highly recommend MangoJelly Solutions's tutorials.

Here's a playlist for FreeCAD 1.0: https://www.youtube.com/watch?v=t_yh_S31R9g&list=PLWuyJLVUNt...

But he has a bunch of other videos.

8. wkat4242 ◴[] No.43888579[source]
I use Fusion 360. Free for hobbyists. Yeah it's quirky and they constantly screw the free plan out of features (e.g. less saved editable designs, having to use the cloud to export STL) but it is also a highly capable tool that aligned best with the stuff I already knew.

Not entirely sure if it's available for Linux.

I probably shouldn't use autodesk but I'm not trying to make the world a better place. Just to unleash my creativity.

replies(2): >>43888629 #>>43889397 #
9. seltzered_ ◴[] No.43888627[source]
I've been a newbie too and tried to use FreeCAD as others mentioned but I found myself enjoying build123d (basically a python library that uses an long-existing technology called OpenCascade and a viewer called OCPViewer generally used within visual studio code).

The learning curve is still there, but I felt more empowered to adjust/share 3d printing designs made in it over dealing with quirks of GUI-based CAD applications. The discord community on there is rather helpful too.

https://build123d.readthedocs.io/

https://github.com/bernhard-42/vscode-ocp-cad-viewer

I'll still use FreeCAD on occasion as a secondary viewer for stl files, though my hope is to use build123d entirely including for describing joints as well.

replies(1): >>43889564 #
10. malfist ◴[] No.43888629[source]
It's not. There is a flat pack version but it says it's not supported
replies(1): >>43888711 #
11. panki27 ◴[] No.43888709[source]
I just got started recently with OpenSCAD - it's a different beast, but very useful for simple parametric designs. You write code to describe the form of your object - no clicking and dragging things at all.
12. wkat4242 ◴[] No.43888711{3}[source]
Ah I see. I've been looking at FOSS options like FreeCAD and Blender but both didn't feel right (especially blender as it's more a tool for animators).

And I rather spend my limited free time creating stuff than to learn a new tool. Unless it is actually a more powerful one for the purpose that enables me to do things I can't now. But this doesn't seem to be the case.

It's the same reason I use BambuLab printers. My hobby is making stuff, not tinkering with printers. They're just tools, a means to an end.

Ps forgive me my defensive attitude but I often get people at the makerspace that take my choice of tools as a political statement. But I don't care. I just want to use what does the job for me.

replies(1): >>43889125 #
13. nullc ◴[] No.43888755[source]
All of Solidworks, Onshape, and Freecad have a very similar operating philosophy (I believe they're all based on the same backend engine). I used onshape for a while because I found freecad unusable but recent improvements solved most of those issues and now I prefer freecad.
replies(1): >>43891410 #
14. WillAdams ◴[] No.43888809[source]
For traditional CAD the notable candidates are:

- Solvespace --- small and lightweight, the UI may be a bit off-putting

- FreeCAD --- hugely improved in the recent 1.0 release, this is a large and impressive system

- Dune 3D --- the new kid on the block, it has the advantage of a modern appearance and UI standards, and the consistency of being a one-man project

If one moves away from traditonal/contemporary CAD there are a few other options:

- BRL-CAD --- intensely old-school, this is one of the oldest opensource codebases

- OpenSCAD --- programmatic CAD, this has inspired more successors than I would care to count (esp. look up libfive and Matt Keeter's Master's Thesis if you are academically mathematically oriented)

For that last, one of the more successful hybrids is "OpenPythonSCAD" which is just what it says on the tin --- Python in OpenSCAD:

https://pythonscad.org/

which I have been using for a project on the other side of the fence --- making DXF and G-code for CNC mills and routers:

https://github.com/WillAdams/gcodepreview

EDIT: One additional tool to note is Fullcontrolgcode Designer, which to bring things full-circle, is the 3D-printing version of the above:

https://fullcontrolgcode.com/

replies(1): >>43890797 #
15. lucasoshiro ◴[] No.43888986[source]
> does anyone has any good tips for a complete Newbie where to begin?

Start with Tinkercad: https://www.tinkercad.com. It runs on the browser, it has some limitations, but it is really simple to use, just open and model whatever you want joining and extracting shapes and importing SVGs for extrusion.

After that, if you know any programming language you'll find OpenSCAD easy to learn. I gave a course last year about it, the slides are available here: https://lucasoshiro.github.io/posts-en/2024-03-24-openscad/. They are in Portuguese, if someone shows interest I can translate them to English, but I think they are easy to follow even by non-speakers.

16. WillAdams ◴[] No.43889125{4}[source]
For Blender, try adding:

https://www.cadsketcher.com/

and

https://blendercam.com/

17. caditinpiscinam ◴[] No.43889170[source]
As a fellow linux users and 3D printing newbie:

- Tinkercad (browser) fun and great for very simple projects. Like the MS Paint of 3D.

- OnShape (browser) seemingly pretty powerful, but not the easiest to learn in my experience, and has some annoying bugs.

- Plasticity (desktop) I played around with the free trial and liked it a lot, found it more intuitive than OnShape.

- Womp (browser) not CAD software, but easy to use and great for making free-form/organic looking designs.

- Blender (desktop) not CAD software and haven't used it myself, but I've seen others use it to design 3D prints.

18. the__alchemist ◴[] No.43889222[source]
I can't vouch for this, but maybe you could get SolidWorks working in Wine? (e.g. https://github.com/cryinkfly/SOLIDWORKS-for-Linux). Of note, SolidWorks is cheap if you're a student or veteran, for a non-commercial license. It is a dramatic improvement over FreeCAD. (I wish CAS were in a state like EDA and artistic model makers where the free/OSS software was on par with commercial, but we are not.)
19. WillPostForFood ◴[] No.43889397[source]
Not sure if they changed this, but you used to be able to local export an STL without cloud by going to Utilities -> Make -> 3d print
replies(2): >>43891138 #>>43893725 #
20. today54 ◴[] No.43889564[source]
BTW there is an open source project on GitHub named 'Mayo' which is a pretty incredible viewer for 3d files including most CAD formats. 'F3d' is another great viewer. Both are cross platform.
21. Vox_Leone ◴[] No.43889581[source]
OpenSCAD is an underrated but powerful modeling tool, especially for developers and engineers who appreciate precision and code-driven design. It has a low barrier to entry — the syntax is simple, yet expressive — and with just a bit of practice, you can build tight, parametric models that are incredibly robust.

One of its standout features is the `hull()` function, which computes the convex hull of multiple shapes. When used skillfully, `hull()` becomes more than a geometric operation — it’s a design primitive that lets you smoothly bridge components, create enclosures, and generate complex organic forms without manual sculpting. It's like having a smart “connective tissue” for your model.

If you're comfortable with code and want exact control over your 3D prints or CAD designs, OpenSCAD delivers precision with minimal overhead. It rewards clean thinking and composability — making it ideal for rapid prototyping, parametric part libraries, and even mechanical design.

22. anoldperson ◴[] No.43889693[source]
Learn FreeCAD. Getting trapped in commercial software and having to abandon years and years worth of project files isn't a mistake I'm making twice. Fusion seems attractive, but look at how they treat their shit tier users.
replies(1): >>43890721 #
23. tgsovlerkhgsel ◴[] No.43889931[source]
Onshape is amazing. The learning curve is much more forgiving than other software while still being a feature-rich, optionally constraint-based and parametrizable CAD application. It works on any OS, even on a laptop with an iGPU, a Chromebook, and for basic stuff like exporting a part for printing, a phone.

Consider signing up via your favorite YouTuber's sponsorship link to support them.

Downsides are that the CAM plugin is paid-only (irrelevant for 3D printing) and you're obviously trapping yourself in a commercial, proprietary walled garden that might start charging subscription fees or otherwise rug-pull you once it gets popular enough. I've decided that the ease of use benefit is high enough to warrant the risk - I'd rather risk not being able to edit my models in the future than not creating them in the first place because the alternative software is too painful to use.

It's helpful to understand how the software works, because it's different from what you might have experienced from other software: It essentially stores operations, like "start with this sketch, then extrude this part of it to a height of 10 mm, then add a fillet". You can go back and edit previous steps and the following steps will be directly re-applied.

In sketch mode, you can just draw, but you can also add arbitrary constraints, e.g. "these points have to be exactly 3 cm away" and it will adjust your sketch to match the (new) constraints. This makes it really easy to change some aspect of the part later. This is common in CAD software, although OnShape's implementation seems more intuitive to me than e.g. Fusion 360.

If you want to do actual 3D CAM (for CNC machining), Fusion360 seems to be the only free option (not available for Linux).

In general, with all CAD software, the common "just poke at it until you figure out how it works" approach doesn't work well, although once you've understood the basic concepts that I've explained above and know some CAD terms/concepts like creating 3D parts by extruding or rotating 2d drawings, Onshape will mostly let you get away with that approach. You probably should still watch tutorials before you start.

replies(1): >>43889961 #
24. q3k ◴[] No.43889961[source]
> If you want to do actual 3D CAM (for CNC machining), Fusion360 seems to be the only free option (not available for Linux).

The free CAM available in F360 has been artificially limited to only allow extremely slow travel speed. It's almost useless.

replies(1): >>43889991 #
25. tgsovlerkhgsel ◴[] No.43889991{3}[source]
Is there any realistic free alternative for 3D (not 2.5D) parts?

You certainly won't want to use it for mass production, but for hobbyist use where getting the model and CAM config right, setting up the machine etc. are the biggest time sink and most parts are made in quantity 1, I found it acceptable.

replies(1): >>43890008 #
26. q3k ◴[] No.43890008{4}[source]
FreeCAD has a built-in CAM. It's not very powerful, but it's only going to get better with time (while the proprietary alternatives will only continue to get worse as companies try to squeeze money out of their users).
27. ansgri ◴[] No.43890721[source]
While this is a good idea in theory, one needs quite a lot of patience to deal with its bugs and kernel limitations. It has definitely become much better since 1.0, but the inability to put chamfers and fillets wherever is extremely annoying — whether the features compute is order-dependent and they routinely conflict with each other for unclear reasons.

So, maybe it’s not a bad idea to start with a free version of something more ergonomic, just to avoid getting too discouraged.

28. yehoshuapw ◴[] No.43890797[source]
also have a look at https://github.com/CadQuery/cadquery (and https://github.com/gumyr/build123d) python, but more pythonic then openscad
29. sfifs ◴[] No.43891138{3}[source]
You can right click a body and export as mesh locally
replies(1): >>43893728 #
30. sho_hn ◴[] No.43891410{3}[source]
OnShape and SolidWorks use Parasolid, FreeCAD uses Open CASCADE.
31. wkat4242 ◴[] No.43893725{3}[source]
I'm pretty sure this now also leverages the cloud converter. It doesn't quite show as much because they've massively sped up the cloud conversion. It used to take minutes, now it is almost instant. However when the cloud is down it still doesn't work, so it's still cloud based for sure.
32. wkat4242 ◴[] No.43893728{4}[source]
Are you sure this doesn't use the same functionality? I'll try.
33. highdeserthackr ◴[] No.43895306[source]
I did a lot of poking around when I first started. Tried ~10 different apps. On one end there are the toys, and the other end were sophisticated apps that were too big an investment in time. Settled on SolveSpace as the Goldilocks solution and have been using it for 4 years now. Can run on Linux, never crashes, GUI based, parametric constraints (which as someone that is not a mechanical engineer was the hardest part to get my head around), no cloud and no concerns about it getting crippled by a vendor. In the beginning, it took a day to get a simple design right. Now things can be whipped out in as little as 30 minutes. I'll caveat this as I don't make fancy stuff, just items in support of homelab projects and the workshop (examples at https://www.printables.com/@HighDesertHacker).