this post was submitted on 15 Jan 2024
125 points (97.0% liked)

Linux

48039 readers
1420 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
top 38 comments
sorted by: hot top controversial new old
[–] [email protected] 58 points 9 months ago
[–] [email protected] 36 points 9 months ago* (last edited 9 months ago)

I use FreeCAD and Assembly3 for everything and have for many years now. I sometimes use realthunder's fork of FreeCAD but right now it's quite a bit behind upstream and there are some cool new features in sketcher so I use upstream for those.

Some people get confused about workflow in FreeCAD because there are so many options and every youtube video has different opinions or tries to feature a particular workbench like curves or something. My opinion.... Pretty much your workflow starting out should be to ignore everything else and use part design and sketches, it's the simplest way:

  1. enable autosave with a short interval, like 2min

  2. Switch to part design workbench

  3. create body

  4. create sketches as the base of the features of your part attached to the xy, xz, yz planes, offset them to create a "wire frame" that resembles your project

    a. Your sketches should be fully constrained

    b. Your sketches should have as little geometry in them as possible, if you need more complex stuff make more sketches

    c. Your sketches should have closed wires, you can't pad something that doesn't create a face.

  5. use pad, pocket, revolution, loft, and hole operations on those sketches to form a 3d solid

  6. if you need to create additional sketches which import geometry from the previous operations (using the external geometry tool), import SKETCH geometry from the previous ops, not edges of solids, whenever possible. Hide your solid, unhide your sketch, select that with the external geometry tool.

    a. Use sketch on face sparingly.

  7. Do fillets and chamfers last, if you need to change something, delete them and recreate them once you've made your changes.

To make multiple parts make multiple bodies with the same workflow as above.

Once you get pretty good at making static parts with constrained geometry, holes, threads (with the hole function), etc, which you can do with only the stuff above, then you can branch out into other workbenches like assemblies or curves, but all of those things build on the concepts above, so it's easy to get overwhelmed if you try to do it all right from the start. Learning how to recover from a mistake is just part of CAD in general, though I admit that it's a bit more effort to find what's wrong in FC vs commercial platforms, but we aren't here, on lemmy, in a linux community, to use commercial platforms.

AFAIK that's pretty much the same workflow as F360 uses for single-solid parts though things have different names. pad=extrude for example.

It's obviously far from perfect but in my opinion it's the best solution that runs natively on Linux and is actually open source. Also assembly3 uses solvespace as it's backend solver so if you make assemblies using that you are kindof using solvespace too.

Also, I hear/read a lot of complaining about instability but I've honestly never had a crash that wasn't on an experimental branch like RT or the edge release of upstream. However step 0 above should help if you're worried about that.

[–] [email protected] 31 points 9 months ago

KiCAD for circuit boards FreeCAD to import those boards and do everything else

[–] [email protected] 20 points 9 months ago (2 children)

I like to use openSCAD which uses code to describe objects so it's probably not for everyone.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago)

AFAIK openSCAD is a code driven mesh format. So if you want to import openSCAD models into any other CAD software you have to convert the mesh to STEP or some other actual 3d object format during which there can be lots of error if the model is complex. I don't have a lot of experience doing this but I just tried a model I had lying around from the dactyl keyboard project and converting it resulted in a lot of really broken surfaces.

This is a cool alternative that makes 3d objects instead of meshes (at least it says it does). https://zalo.github.io/CascadeStudio/ . Also open source but web based.

EDIT: I should mention that CascadeStudio seems to be abandoned, just a cool concept of a different way of doing code driven CAD.

[–] [email protected] 1 points 9 months ago (1 children)

I find it pretty easy to use when building my 3d print adapters, brackets, containers and very simple objects. But if, like me, spaghetti code is your natural language... OpenSCAD does you no favors.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

OpenJSSCAD helps with the spaghetti code, unless you also write JS spaghetti, but I only use it for creating tools I want non-tech people to use.

It lets you make parameters editable from a web based UI of your liking with the model code hidden away, and can output decent meshes.

[–] [email protected] 18 points 9 months ago* (last edited 9 months ago) (4 children)

Sadly, I couldn't fine even one that was at least usable in my experience.

I model a lot for 3D-printing, and of course tried FreeCAD.
It had a very steep learning curve and is very unique in its workflow, compared to other CADs.
I somehow got the hang of it, but it still was very much not usable.
It crashed every 5 minutes, the UI is very convoluted, and even the simplest tasks take half an hour, compared to the 2 minutes it takes on other software.

Since Fusion360 doesn't work on Linux, there's pretty much only Onshape.
Apart from being a SaaS-product ("cloud based"), and therefore out of your control, which I strongly dislike, it's absolutely great UX wise.


But good news, there are people working on a solution. I will add the name of the project later if I can remember it again.
Edit: found it: https://github.com/dune3d/dune3d

There are also people forking the engine and some core features of FreeCAD and want to turn it into something better, but I don't know if they've made something out of that idea yet.

[–] [email protected] 6 points 9 months ago (2 children)

I personally never had a problem with Free cad. It's the only cad software I ever used, so I can't compare it to others but it just worked after I learned some basics.

[–] [email protected] 3 points 9 months ago

FreeCAD requires a lot more clicks. Simple example: You want to extrude part of a sketch. In Fusion360 you select the part, hit extrude, done. In FreeCAD you can't extrude a part of a sketch, only whole sketches, so you have to make a new sketch, important the geometry of your previous sketch, repaint over the imported geometry to make it an actually sketch and now you are allowed to extrude it. When you have an extrusion that would result in multiple bodies, you have to redo this produce for each and every body, since FreeCAD extrusions are only allowed to produce one body. This can easily turn a 5sec operation into a 10min operation.

On top of that you have the topological naming problem that forces you do basically remoddel your whole thing from scratch if you want to change anything in the early build steps.

There are numerous ways to ease the pain (MasterSketch, Datum planes, ShapeBinder), but they all require a lot of discipline and planing ahead. You can't just YOLO your models in FreeCAD the way you can in Fusion360.

On the plus side, the discipline FreeCAD forces on you can result in cleaner results. In Fusion360 it's quite easy to model yourself in a corner were everything is underconstrained and will just exploded if you touch anything. Fusion360 will let you get away with a lot until it is to late. FreeCAD will go "I can't do that, Dave" a lot sooner and force you to clean up.

All that complaining aside, FreeCAD is my CAD tool of choice. I am never going to touch Fusion360 with its ever more restrictive licensing scheme ever again.

[–] [email protected] 2 points 9 months ago

If you've used any mainstream CAD software like Inventor, NX, or Solidworks then FreeCAD is extremely clunky in comparison.

[–] [email protected] 4 points 9 months ago (1 children)

Remember faster!

Please 💖

[–] [email protected] 2 points 9 months ago (1 children)
[–] [email protected] 1 points 9 months ago

Uh, that looks promising! Thank you!

[–] [email protected] 2 points 9 months ago (1 children)

But good news, there are people working on a solution. I will add the name of the project later if I can remember it again.

Im definitely interested as well, we got plasticity I suppose, but that doesn't have a timeline and is missing a lot of more advanced features

[–] [email protected] 1 points 9 months ago (1 children)

I added the link into my original comment for you :)

[–] [email protected] 1 points 9 months ago

Thanks! That's awesome, I'll check it out. Hopefully it will one day be able to match more professional software in terms of functionality and stability

[–] [email protected] 1 points 9 months ago (2 children)

What linux were you using if you don't mind asking?

@Guenther_Amanita @jackpot

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago) (1 children)

At this time Fedora. I used both the Flatpak and native package, but both were very prone to crashes.
I used it for some time too on Windows, same problem. It isn't a Linux issue, it's a FreeCAD issue. It's too convoluted and bloated, while probably not having enough maintainers.

[–] [email protected] -1 points 9 months ago (1 children)

You should try arch or an arch fork, arch doesn't leave broken upstream pkgs unpatched too long, either they work or they are out

@Guenther_Amanita

[–] [email protected] 2 points 9 months ago

I am already.
While I don't plan to use FreeCAD in the near future, I already use Arch in Distrobox on Fedora Atomic. I quite like it, but still mostly refer to Flatpaks first when possible, since they have a lot of users and are better sandboxed.

[–] [email protected] 1 points 9 months ago

Nobara has a pile of graphics optimizations, as well as OS fixes for programs like Blender and daVinci Resolve. It should work well for other CAD programs.

[–] [email protected] 13 points 9 months ago (1 children)

I have tried openSCAD and FreeCAD, they are both good in their own right, but utimatly they also both have very steep learning curves. I suppose Blender can also be used for CAD but I have no experience with it. I just want to quickly design some parts for 3D printing as a hobby and don't feel like spending hundreds of hours learning those tools. I am current using Onshape.com, it works well on Linux/Firefox, suits my needs and free to use with some limitations. But it is proprietary :(

[–] [email protected] 1 points 9 months ago

Came here to suggest Onshape. It spoiled me for all other CAD software. (But it is web-based and proprietary.)

[–] [email protected] 12 points 9 months ago

Depends on what your using it for? For 3d printers I like FreeCAD. Though it has a bit of an initial learning curve. It has a lot of functionally. SolveSpace was pretty good but I had some trouble with fillets and things. Might have been user errors... I havent used blender much but heard its good for more artistic modeling for games and videos. Not sure if it would work good for 3d parts? Anyone use it for that?

[–] [email protected] 11 points 9 months ago

Artistic modelling i use Blender but Parametric modelling I used FreeCAD.

Despite having worked with CAD software, both were a little hard to wrap my head around initially, but I watched like 2 hours of video tutorials each and I figured it out enough for my needs.

[–] [email protected] 11 points 9 months ago

OpenSCAD has a learning curve, but it's rad af.

[–] [email protected] 9 points 9 months ago
[–] [email protected] 5 points 9 months ago

I'm using freecad exclusively and got everything I need to quickly model something for 3D-Printing.

[–] [email protected] 4 points 9 months ago* (last edited 9 months ago)

One that hasn't been named yet is SolveSpace. There is also CAD sketcher, a free CAD add-on for Blender

[–] [email protected] 2 points 9 months ago

If you're open to code CAD look at build123d

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (2 children)

Honestly? Not much. FreeCAD is an abomination, so I'm keeping one of my computers on Windows so that I can still use Fusion360

[–] [email protected] 7 points 9 months ago (1 children)

Last time I checked Fusion360 worked on Linux with Wine/Bottles

[–] [email protected] 2 points 9 months ago

Well that's wonderful news!

[–] [email protected] 2 points 9 months ago

FreeCAD isn't an abomination. Maybe it feels like one for you, but that isn't the truth for everyone.

I for one enjoy it very much. My workflow for building carports with the arch and part workbench feels quite solid, no crashes and I am fast enough to make profit.

[–] [email protected] 1 points 9 months ago* (last edited 9 months ago)

I've been using SALOME to create parametric 3D geometry. My use case is to parameterize my geometry features and export to STL files that I use with OpenFOAM. SALOME is integrated with a couple of grid generators, and I really like it's 2D/triangulation/STL integration with netgen. You can specify faces for refinement to a desired mesh size, so for example around complex features you can create a fine STL mesh and on simple shapes you can have a really coarse mesh.

I've found the 3D modeling to be pretty straightforward, and SALOME usually does a pretty good job if you have to go back and modify previous features (something I've struggled with in FreeCAD).

I've also used FreeCAD for mesh generation, and it works ok but I've found the triangulation leaves a lot to be desired for splitting up the mesh as needed for OpenFOAM boundaries.

If you're making STL files for 3D printing and you want a parametric CAD modeler for engineering parts, give it a try. If you want complex faces with artistic style, I would suggest Blender.