Designed in FreeCAD and printed on a custom Ender-3 V2. A couple more details / photos in the Mastodon thread.

  • PorkrollPosadist [he/him, they/them]@hexbear.netOP
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    3 months ago

    it’s tedious and for a part like this, pointless, but have you ever used the spreadsheet workbench to make parametric models?

    Oh yeah. I love doing that. Earlier when I was grumbling about annotations, at least in the spreadsheets you can write a couple sentences about what a variable does. If I’m “engineering” something from scratch, I’ll typically put important dimensions and clearances in a spreadsheet and reference them within sketches. You need to be extra diligent when designing your model that it will successfully recompute given a range of values though. In the case of reverse-engineering, like this model, you throw design intent out the window and just pray everything fits.

    Datum planes (as well as datum axes and points) are VERY useful. They are defined independently of any geometry in the model, and form a solid foundation to build other features from (i.e. a plane to sketch on, or an axis to bore a hole through or revolve around). You can also reference them in sketches just like any other part geometry, but they will ALWAYS be there when you change a dimension and recompute, unlike an arbitrary edge or vertex of a body. They are the canonical method to avoid the “topological naming problem.” Even in commercial CAD systems like Creo Parametric or SolidWorks, which are somewhat smarter than FreeCAD about recomputing your model after changes, you WILL have problems if you’re building a house of cards out of ephemeral geometry references on top of ephemeral geometry references.

    Probably the most useful case for a datum plane, aside from a surface to sketch on, is a reference to perform a mirror operation. If you need to mirror a feature across a plane which isn’t your base XY/YZ/XZ plane, you create a datum plane and mirror across that. Same goes for a datum axis. If you need to do a revolve operation or a radial pattern around an arbitrary axis other than X, Y, or Z, you create a datum axis and use that. These datums can also be referenced during a pad/pocket operation, where instead of specifying a dimension, you can tell the operation to pad/pocket until it hits a plane (which can be arbitrary and does not need to be parallel to the plane you are padding/pocketing from).

    I’ve never used a multi-transform before, but all it does is combine several mirror/radial pattern/linear pattern operations into one operation. I do this to mirror features like the triangular ribs, then duplicate them at a linear offset. All a linear pattern does is duplicate geometry and translate it along an axis (i.e. turn one hole into a line of three holes). Apparently FreeCAD does not allow you to do a linear pattern of a mirror, or a mirror of a linear pattern, so these two operations need to be combined. I feel like I didn’t run into this problem when I was using the RealThunder fork.

    • Chronicon [comrade/them]@hexbear.net
      link
      fedilink
      English
      arrow-up
      5
      ·
      3 months ago

      Yeah datum planes sound like the answer to my prayers tbh. Not sure how I never saw any tutorials using them in the past but that seems like it would make even moderately complex parts 10x easier. Shit really does get fragile when its references on top of references.

      Thanks for the tips!

      • PorkrollPosadist [he/him, they/them]@hexbear.netOP
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        3 months ago

        Yeah datum planes sound like the answer to my prayers tbh.

        Let’s not get carried away now. The computer will always find a new way to misinterpret your intent. CAD systems are like a geometric monkey’s paw. :)

        • invalidusernamelol [he/him]@hexbear.net
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 months ago

          Anything that has vertex ordering can end up burning you. I deal with polyline geometries at work a lot and doing merge and explode operations can result in visually normal geometry with absolutely cracked vertex ordering depending on the order of the input lines.

          Love to fillet two edges together and have an artifact 500 vertexes away because that’s how the parts were stored internally.

        • Chronicon [comrade/them]@hexbear.net
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 months ago

          I couldn’t get that branch to work years ago when I first tried it and didn’t care to build from scratch for how often I used it, but I do see they have appimages now. Maybe next time I’ll try it. Its kinda annoying to have to go to a fork to get modern features after this many years but shrug-outta-hecks

          • invalidusernamelol [he/him]@hexbear.net
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            3 months ago

            It’s well maintained and I’ve had no issues with it. There’s also the Ondsel branch thats based more on LinkStage and kind of an intermediate between LinkStage and FreeCAD main.

            I’d definitely try Ondsel if you haven’t been able to get LinkStage working, it’s definitely worth it and it’s got a moderate solution to the topological naming problem as well as a much more intuitive part system. Like you can extrude and pocket faces directly.

            Here’s a blog post about it

            • Chronicon [comrade/them]@hexbear.net
              link
              fedilink
              English
              arrow-up
              2
              ·
              3 months ago

              I get that it’s a good fork, I just don’t get what the hangup is with upstream adopting these changes if they’re so superior. I’m sure there’s a big hubbub about it somewhere I could read or some technical reason that they won’t do it, but just as a lazy user it is a mild annoyance (less mild when it doesn’t work).

              • invalidusernamelol [he/him]@hexbear.net
                link
                fedilink
                English
                arrow-up
                1
                ·
                3 months ago

                They don’t want to adopt them because it’s a breaking change as it is. The project files that were made before the patch are not fully compatible out of the box with the patch without a way to migrate them.

                FreeCAD has a very X11 style development strategy of “don’t ever break backwards compatibility”. Ondsel is actually working directly with the FreeCAD team to bring these patches into main within the year so you can always wait. There’s going to be a feature freeze until the topo issue is solved (merging Realthunder’s fixes into main) then they’ll release v1.0 and re-open feature development.

                • Chronicon [comrade/them]@hexbear.net
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  3 months ago

                  Huh, I’d love to see it! I just assumed there was some other disagreement or something holding it up because its been kind of a long time (5+ years at least on realthunder). Shit happens at its own pace in open source and I respect that but that’s still a lot lol

                  • invalidusernamelol [he/him]@hexbear.net
                    link
                    fedilink
                    English
                    arrow-up
                    2
                    ·
                    3 months ago

                    It was a manpower and feature creep issue. The merge would take months, it would conflict with tons of existing and in development PRs, and would require a whole new set of unit tests.

                    FreeCAD until recently didn’t have any full time developers, so executing a merge like that would have been very difficult as the longer you spend on it, the more out of sync it becomes with the main branch and the more work you have to do to bring it back in sync.

                    Again, those blog posts on Ondsel or the Issues page/forum for FreeCAD have more information if you feel like looking, but it’s all a very interesting story and I’m glad that it seems to finally be resolved.

              • PorkrollPosadist [he/him, they/them]@hexbear.netOP
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 months ago

                Upstream is adopting many of these changes. A 1.0 release candidate fully integrating the toponaming changes from RealThunder’s branch is supposed to be released within a week or two. There are many other convenience features in the RT branch (like better section views, live updates to chamfer/fillets, non-contiguous bodies, etc) but backwards compatibility with existing models is much more important in upstream than it is in experimental forks like RealThunder’s. Basically, it just takes time.

                • Chronicon [comrade/them]@hexbear.net
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  2 months ago

                  yeahhh I get that in the abstract it was just jarring to see a fork I was getting recommended 5 years ago still be unmerged lol. I should know better from how much I work with open source but apparently I don’t lol

                  I never went too deep on freecad, I just use it the like 5x a year I need to print a part