jaywll,

people: how do you do ? I've been using and it's great for simple stuff but I feel like I'm already outgrowing it. What software should I learn? I'm considering and but I'm open to other suggestions. I don't want a ridiculous learning curve because I'm just doing hobbyist stuff, but I want something a bit more powerful that I'm less likely to hit the limits of.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll If you like the idea of writing code to construct things, but don't want to learn a new domain-specific language like OpenSCAD uses, you might be interested in CadQuery which lets you use idiomatic Python, and lets you write code that generally avoids the "topological naming problem" by being explicit about design intent. It uses the same OpenCascade geometry kernel that FreeCAD does (and in fact was originally implemented as a FreeCAD add-on before it struck out on its own), but gives a language of selectors that let you encode your design intent. For example, you might want to fillet the edges of the topmost (highest in Z) face.

ChrisByProxy,

@jaywll I intended to graduate from TinkerCAD to Blender last year and even paid for a high-quality Udemy course but it’s been too much of a leap. I’m hoping that when I retire, I’ll be able to put aside the time I need learn it. Embarassingly, I haven’t even been able to figure out how to open an existing STL to edit it.

jaywll,

@ChrisByProxy
My (admittedly limited) understanding is that an STL file defines a 3D object but really has no info on how it was created, so I think editing one may be akin to trying to edit software without having the source code, or editing a tinkercad design where you've already selected all the individual shapes and merged them.

ChrisByProxy,

@jaywll Oh! That hadn’t occurred to me and is a fair point. However, I often import simple STLs into TinkerCAD to edit and am able to do so (as long as the object doesn’t have too much detail). I’m hoping there’s a way to do the same in Blender.

stooovie,
@stooovie@mas.to avatar

@ChrisByProxy @jaywll You have to enable the stl plugin first in Settings/Plugins. There's tons of functionality disabled by default there.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll Depends on how much you value openness and control.

I now use #FreeCAD for most designs. It does have a learning curve. I'm a hobbyist. I like that it is opinionatedly parametric and driven by numbers. But it can be frustrating if you are used to "direct modelling" where you grab faces and push/pull them around to get a shape that "looks right." It has a lot of power and capability to pay back its learning curve, though. I've appreciated that.

The best place for someone new to start is probably MangoJelly Solutions tutorials. If you aren't sure whether you want to use FreeCAD, you could do worse than watching some of the videos.

https://www.youtube.com/@MangoJellySolutions

Blender has direct modeling, and is awesome for art, but is not the best solution for most functional parts.

If you choose a proprietary application, it would be wise to export all your models as STEP files as well as STL files as you work. If you later have to modify with some different tool because you have (for whatever reason) lost access to your proprietary tool, the STEP files will give you more fidelity than STL files, because they have some design intent in them. An STL file is just a list of triangles in 3-space. A STEP file has lots more information, and for example encodes a curved shape as a curved shape, not zillions of tiny triangles. (There's a lot more to it than just that...)

HTH

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll Oh, and so many people prefer videos these days that I often forget to mention that @concretedog wrote a free short book introducing FreeCAD.

https://hackspace.raspberrypi.com/books/freecad

Great place to get started for those of us who prefer the written word. 😁

jaywll,

@mcdanlj
I'm still on the fence, but I do very much like the free (as in speech) nature of FreeCAD. One thing I figured out pretty quickly is that the parametric approach to modelling is how I like to work and generally what I'm making is functional, so I don't think Blender is my cup of tea.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll FreeCAD has been accelerating in a few ways recently. This might mean that an investment in the very real learning curve of FreeCAD is more likely to continue to pay off over time.

There's a general problem in CAD called "topological naming" — if you have a series of operations, then make a change to an operation in the middle of the series that changes the characteristics of the object, the design intent of following operations can become unclear, resulting in rendering nonsense that takes manual work through the rest of the operations to resolve. For many years, the only way to make FreeCAD models that would generally be robust to changes throughout the model was to do the extra work of defining lots of datum planes, axes, and points and using them to control modeling operations. Most modern commercial CAD software has had heuristics that to some degree mitigate this problem.

A few years ago, a prolific FreeCAD developer "Realthunder" came up with an algorithm that has in practice had a high degree of success in mitigating this problem. The core FreeCAD developers have decided to adopt it. While a substantial amount of the work has been done, the benefit of the work will not be apparent until it is fully incorporated.

FreeCAD has a strength of deep extensibility, which has enabled a wide variety of add-ons. One frequently-lamented result is several of the "workbench" add-ons for creating assemblies, and they have not been compatible with each other, but there has been no "official" assembly workbench.

A year-old startup, Ondsel, is trying to commercialize various forms of support for FreeCAD, and is writing what they hope and intend to be the grand unified assembly workbench that can become the official one. This work has proceeded quickly. It is being built on top of a lot of core FreeCAD functionality implemented to support previous assembly workbenches, so it is not just starting over from scratch, but "building on the shoulders of giants."

jaywll,

@mcdanlj
Thanks for the extra insight! I'd heard the topological naming problem referenced but hadn't taken the time yet to understand it.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll Almost every description of "the TNP" I've seen is kind of inside out, in my opinion. They describe the nature of the problem in the context of the algorithm, rather than starting from the user experience.

What users care about is their design intent. Topological naming is a computationally cheap way to represent base features, but it does not express design intent. There are at least four approaches, which are not mutually exclusive...

  • Heuristics that sufficiently often correctly infer design intent (the Realthunder approach)
  • Explicit modeling of design intent through datum placement (typical advanced FreeCAD practice for many years)
  • Explicit expression of design intent by semantic selection (CadQuery)
  • Explicit implementation of design intent by modeling as code (e.g. OpenSCAD)

I'm curious whether there are additional approaches I have not learned about, that could be added to this taxonomy.

chrishuck,
@chrishuck@fosstodon.org avatar

@jaywll @mcdanlj Keep in mind that every piece of CAD software has a learning curve. I use FreeCAD because it has the same functionality that I’ve used my whole career in other commercial software. Perhaps it was not a steep learning curve for me because I already knew the basics.

Most people write off FreeCAD because of its interface aesthetics. Don’t let that deter you.

Perhaps consider Ondsel? It’s FreeCAD at its core, but with a bit more polish.

linux_mclinuxface,
@linux_mclinuxface@fosstodon.org avatar

@jaywll #OpenSCAD is a ton of fun, especially if you have any background in programming or code.

jaywll,

@linux_mclinuxface
Interesting! I'd never heard of OpenSCAD before you mentioned it and it's definitely something I want to try out.

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll @linux_mclinuxface I recommend downloading the development version of OpenSCAD and enabling the Manifold geometry kernel.

Rendering complex designs into STLs has been famously slow in OpenSCAD. The Manifold kernel is typically several orders of magnitude faster.

STL output from OpenSCAD has been occasionally non-manifold — that is, the 3-space triangles aren't perfectly adjacent, so that a surface has holes that "leak" between the inside and the outside, so that there's no well-defined inside and outside. While most slicers have heuristics to "do what I mean" in this case, the Manifold kernel is named because of a novel design that preserves manifold surfaces even in edge cases.

It's not often that we get improved robustness and vastly improved speed at the same time, but thanks to Emmett Lalish (Manifold) and @ochafik (OpenSCAD integration of Manifold) we have both here. ❤️

mcdanlj,
@mcdanlj@social.makerforums.info avatar

@jaywll @linux_mclinuxface Also, you don't have to choose between FreeCAD and OpenSCAD. FreeCAD has an OpenSCAD workbench where you can write OpenSCAD code to define an object, and then use FreeCAD's other capabilities for further operations. 💃

  • All
  • Subscribed
  • Moderated
  • Favorites
  • 3DPrinting
  • DreamBathrooms
  • ngwrru68w68
  • tester
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • InstantRegret
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • mdbf
  • tacticalgear
  • JUstTest
  • osvaldo12
  • normalnudes
  • cubers
  • cisconetworking
  • everett
  • GTA5RPClips
  • ethstaker
  • Leos
  • provamag3
  • anitta
  • modclub
  • megavids
  • lostlight
  • All magazines