I’m using Fusion360, and I dislike it for a lot of reasons, but it’s easy to use. I tried FreeCAD, but it was very janky in comparison. Shapr3D was surprisingly good, but there’s no way I’m paying monthly for my hobby usage. I need precision prints, so I can’t just use Blender or similar.

Is there some magical unicorn software I’m not finding?

    • TootSweet@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      21 hours ago

      I’ve been thinking about this a lot lately.

      Over time, I’ve come to hate doing things in the “productivity-via-point-and-click-adventure” model. I very much think the use cases where the mouse is actually necessary are way slimmer than people really think.

      If FreeCAD and similar tools take the approach of the “potter” paradigm where you connect your brain to the medium via your fingers as directly as possible even if the medium is digital/virtual (like most of the CAD programs out there), OpenSCAD is more of a “dark factory” paradigm where you externalize a piece of your mind/expertise into a program that encodes all of your expertise and the program acts on the medium on your behalf. (And in the case of OpenSCAD, the program is kindof “made of the same thing as the medium itself.”)

      In the “potter” paradigm:

      • You end up with a finished product, but devoid of any accounting of the decisions which went into making the finished product.
      • Your metaphysical “finger prints” make it into the end product. The tiniest twitch of a finger is reflected in the final product, even if it’s an unconscious motion.
      • Altering earlier steps that came earlier in the process isn’t as easy. Think of a painter layering paints to capture the subtle tones of human skin and then deciding that four layers down they wish they’d done something different. To fix it, they’d have to cover part of the image and redo all the steps manually. (And yes, undo chains attempt mitigate this somewhat, but imperfectly since reapplying later steps isn’t necessarily perfect.)
      • Excessive precision isn’t typically possible.
      • Making another, similar asset is a manual process that can’t reuse the steps/expertise that went into building previous ones cleanly.
      • There’s no time spent after finishing your work where the computer has to work/chug to produce the finished product.
      • Parameterized builds are less natural.
      • For digital assets, almost always involves using a pointing device.

      In the “dark factory” paradigm:

      • You end up not just with a finished product, but also a program that gives much more insight into how the product was built and what decisions were made in the process of constructing it.
      • Only conscious decisions go into the final product.
      • Altering earlier steps can be done much more cleanly and later steps can be written in such a way that they “automatically” inherit properties introduced by changes in earlier steps.
      • Perfection(ism?) by default. The perfect may be at risk of becoming the enemy of the good.
      • Later, similar assets can reuse the logic from earlier assets where there are similarities.
      • You might spend some time waiting for your program to finish running before your asset is ready.
      • Parameterization is like breathing. It’s arguably easier than not parameterizing.
      • Requires no mouse or pointing device. Just a text editor.

      And mind you, a lot of programs try to kindof live somewhere in the middle. Being extremely mouse-driven while still supporting parameterization. Or doing sophisticated things with

      I’m not trying to advocate against the “potter” paradigm. There are benefits and drawbacks to both. And I can’t bash just doing what works for you. But a) the “potter” paradigm doesn’t work for me very well at all and the “dark factory” paradigm does and b) I very much believe that the “dark factory” paradigm is so underserved as to be nearly non-existent. I know of OpenSCAD (and ImplicitCAD and a few others in the CAD space) and Graphviz and a few others that were suggested to me in this comment tree. And CodeComic which I personally wrote. And I’m working on another such DSL for making 3D models/assets for games and 3D animations. (Think “art” rather than “engineering”. FreeCAD is to OpenSCAD as Blender is to what I’m building. Yes I’m planning to Open Source it in the near-ish future.) But there’s so little in that realm.

      So, as you can imagine I really love OpenSCAD. I’d be very surprised to find myself using anything else for CAD in the future that wasn’t a DSL.

      P.S. Maybe I should start a blog. Heh.

    • thejml@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      23 hours ago

      I love OpenSCAD because not only can I easily parameterize things, and define libraries for commonly used stuff but I can also combine it with my Git setup to get all the benefits of code provenance and backups and change sets and such.

    • SmoochyPit@lemmy.ca
      link
      fedilink
      English
      arrow-up
      2
      ·
      23 hours ago

      +1 for OpenSCAD! If you have experience with scripting/coding, it feels really comfy. There’s a nice wikibook that taught me the basics.

      The full release hasn’t been updated since 2021, so I highly recommend running a development snapshot. The preview and rendering are much more performant. Enable the “manifold” engine if it’s not on by default.


      It works fine OOTB, but I customized it a bit to match my workflow: I use vim with an LSP as the text editor, and I use git to track my changes.

      Now I’ve began using bosl2 in most of my projects. It has a lot of QOL features and can save a lot of work.