Dune 3D: Open Source 3D Parametric Modeler From The Maker Of Horizon EDA

When coming from the world of Autodesk and kin’s proprietary CAD solutions, figuring out which FOSS 3D CAD solution is the right one can be a real chore, as none of them are on the same level. This is what the author of the Horizon EDA software – [Lukas K.] – struggled with as well when he decided to make his own 3D CAD package, called Dune 3D. Per the documentation for Dune 3D, it’s effectively the solver and workflow from SolveSpace, the Open CASCADE geometry kernel and the user interface from Horizon EDA wrapped up into a single package.

So why not just use FreeCAD or contribute to it? [Lukas]’s main gripes appear to be the issues with the topological naming problem (TNP) in FreeCAD, as well as the modal sketcher that’s limited to 2D, with no constraints in 3D for extrusions. With the recent version 1.1 release it seems to be picking up new features and fixes, and installing it is very easy on Windows with an installer. For Arch there’s an AUR package, and other Linux seems to get a Flatpak if you’re not into building the software yourself.

As for the UI, it’s got a definite MacOS vibe to it, with most of the functionality hidden from the main view. Fortunately some tutorials are available to get you started, but it remains to be seen where Dune 3D lands compared to FreeCAD, OnShape and others. As a sidenote, the name is probably not going to help much when asking Google for answers, courtesy of a certain vaguely well-known book with associated movies and series.

48 thoughts on “Dune 3D: Open Source 3D Parametric Modeler From The Maker Of Horizon EDA

  1. > it remains to be seen where Dune 3D lands compared to FreeCAD
    It would take a large amount of conscious effort to make the former even approach the levels of flaming garbageness of freecad

    1. TNP is effectively mitigated, the UI is receiving much needed overhaul, dark/modern themes, and many sketcher improvements, integrated assembly workbench, and more. All, to be released in a couple months. I guess I’ll continue to use the “garbageness of FreeCAD”…

      1. > TNP is effectively mitigated
        I’ll believe that when I see it. Those fixes have been lying dormant in someone’s branch for well over the span of several months as of now, and asking someone to use someone’s else version of a program to use the nth iteration of a basic WB or to have some stability in a slightly more complex part is, in my own definitions book, garbage.

        Maybe I just got filtered hard and need to follow @H Hack take on simply having more patience with an equivalently garbage documentation stuck to 2+ versions ago (in between which there have been breaking changes to tutorials), but I’ll gladly try out Dune3D for a change. Even SOLVESPACE is somehow better in its utter spartan UX

        1. I love the mental gymnastics with diehard FreeCAD users. One comment I picked out: “TNP is not a good thing, but how it forces you to model around it makes you better in every cad software.”

          No, it’s just a bad thing. It limits what you can DO with the software because it slows you down by forcing you to tiptoe around landmines. Spending the work day fighting your tools that don’t just let you do what you want is not an efficient use of your resources.

          1. Well they do have a point to some extent – the methods and structure that work to get around TNP brings to your CAD project is largely ‘best practice’ and should make your models better to work on and modify later.

            Not that TNP shouldn’t be fixed, as always the ‘best practice’ that take more time and thinking to set up just right are only worth doing when the project in question has a chance to benefit from it. So for that quick and dirty model of the broken plastic bit in your ___ that you will never need to modify much if at all throw the best practice out the window.

          2. It’s not a point, it’s a truism.

            Imagine if Excel couldn’t keep track of your cell references when you copy/paste your table ten columns to the right.

      2. Hm, I do see that a couple of fixes for it were supposed to be merged for 0.21, which is out now. I’ll have to give it and Dune 3D a try once I get my 3dp up and running again. My current non-professional solution is onshape (or sometimes cadquery), but I don’t love a company owning my designs.

    2. FreeCAD suffers from multiple problems, but I think a lot of them could be largely fixed with a bit of focused effort.

      Docs/Educational material: This was either missing or of low quality when the Fusion 360 fiasco happened. It’s a lot better today but you have to look for it. MangoJelly’s beginner’s series for FreeCAD made FreeCAD more than usable for me: https://www.youtube.com/watch?v=NXN7TOg3kj4&list=PLWuyJLVUNtc0UszswD0oD5q4VeWTrK7JC – FreeCAD’s website should have a “3rd party material” in their tutorials section and point to MangoJelly’s stuff at minimum.
      Official documentation should point to high quality 3rd party material.

      Doc/Edu material is of such an importance, that the rest of the software doesn’t matter if it’s awful – no one can use it. FreeCAD isn’t a type of software you can just “Figure it out”.

      A lot of people come from Fusion 360 into FreeCAD, get overwhelmed, don’t know where to start and don’t know where to find the material. People forget how much time it took them to properly learn Fusion 360 and they wrongly expect their knowledge to be 100% transferable to FreeCAD. These people need to be caught and helped.

      User Interface: It needs a coherent cleanup following good UI guidelines. The default color/size scheme for example is just something that came to be.

      1. Agreed the biggest hurdle with FreeCAD is that it is different to whatever CAD package you can from and that makes it not so easy to learn. You have to actively learn how to think in step with FreeCAD to really get on with it, which if you have learned Autodesk/Solidworks(etc) does require some effort to unlearn the “wrong” way. Made harder as the documentation and community with all their good tutorials and reference resources you will find with a websearch haven’t got nearly the same footprint and organisation, and may well be a bit out of date as FreeCAD is still relatively rapidly evolving in places.

        But once you have learned about FreeCAD enough to get by you will find it has some great strengths to go with its limitations, and being far from a static product where the flaws of decades are not ever getting fixed – that evolution that can make it hard to find the right way to do something is a double edged sword…

        All that said though if you don’t like FreeCAD maybe this Dune 3D is going to be the right approach for you – in the same way OpenSCAD is superb for many things and will really suit some of us, but if your brain isn’t wired the right way…

        1. I used Solidworks back in iirc 2004ish, just got a Bambu Labs printer, and picked up Fusion 360. In a day or two I was easily able to recall enough of my Solidworks usage AND it was applicable enough to Fusion to create the part I sought to make.

          Knowledge transfer IMO is very important.

          1. If you insist everything must be very like the previous tool you already know there will never be a tool better at x,y,z than your previous tool – All the parts it was bad and good at are generally very closely replicated when the tools try to be similar…

            Where being different can easily end up being better, even across the board at everything once you put the effort in to learn it, or more easily still for those that don’t have the burden of learning the ‘wrong’ system first. FreeCAD is still a bit more prototype than finished application compared to the big names of CAD, so it certainly isn’t better across the board, but already there are things it does better and easier to go with all the pain points.

            You don’t have to like or ever use it yourself, but different enough to be hard to transition between isn’t a problem when the results are good.

          2. @foldi-one, on the other hand, historically, the tnp has made freecad so different from every other modern CAD system (catia, solid works, inventor, fusion, creo, NX, even onshape) as to make it essentially as dissimilar as openSCAD or other scripting CAD systems.

            There are plenty of differences between those systems, things I personally find better or worse, and things they crib from each other.

            Of course, I’d still rather use FreeCAD, even with the TNP, than creo.

            Hopefully the TNP mitigations are sufficient, and I’ll give it another try, but it has enough other minor annoyances that if Dune is any good I’ll probably go with it.

          3. I had a similar experience coming from software like sketchup and pro/engineer. Freecad’s interface is just un-intuitive, it’s the same problem software like darktable and GIMP have, they’re convinced doing it their completely different way is better than the industry standard.

          4. > they’re convinced doing it their completely different way is better than the industry standard

            It’s not the difference that makes it better or worse than the industry standards. Back in the day my CAD experience was in some ancient version of 2D Autocad, CATIA (which was terrible), and Sketchup, and then I picked up Inventor and was modeling complex shapes like IBC containers and pump housings within two days.

            The problem is that FreeCAD’s way is non-intuitive because it’s not only different, it’s logically broken. For example, from FreeCAD documentation: “Part is used to manage the position of 3D shapes in order to create mechanical assemblies.”

            No, that’s an “assembly”, like you said it yourself. A part is a subcategory of an assembly, not the assembly itself. No wonder people are confused.

          5. >once you put the effort in to learn it

            Learning FreeCAD has to be done by rote, because it doesn’t make logical sense. It’s kinda like alchemy vs. chemistry where you have a bunch of tricks that people have figured out, described in an obscure language that is not describing what you’re actually doing, but the tricks work as long as you go through the motions exactly as told. See if you can make heads or tails of this (FreeCAD documentation):

            “A “Body” is used for single contiguous elements, usually created with the Part or PartDesign Workbenches.

            A “Part” is used to group a single “Body”, or several of them to form an “Assembly”.

            An “Assembly” is a collection of “Parts” arranged in some way, manually, or by using an assembly workbench.

          6. In common CAD parlance, a “part” is understood as a “single contiguous element” defined by sketches and primitives, additive or subtractive operations, cuts and folds, etc., and then an “assembly” is a collection of “parts” such that they may or may not be contiguous. It’s at the “assembly” level of hierarchy that you define interfaces between “parts”, such as mechanically constrained joints (e.g. hinges), welds, or simply place them in a suitable arrangement in your model space.

            But in FreeCAD a “part” is actually an “assembly”, but an “assembly” is a collection of “parts”, which may also consist of “parts”, so what the eff are you actually doing there?

      2. I don’t think the problem is ever documentation. Good UIs are intuitive. Fusion 360 had this magic where I want to do something new and the first thing I try just works somehow. Way more often than not.

        1. Documentation necessity depends on the type of software.

          I agree Fusion 360 has much better UI to put it mildly. But for me, there was nothing trivial about learning how to use Fusion 360 properly. The concepts aren’t that complicated to explain, but they need explaining (well, a lot of them at least).

          But yes, once you’ve started to grasp it, you can figure out a lot more things and you learn to use the documentation as a reference manual.

        2. That can only get you so far – if your CAD needs are so simple that you never get into the weeds at all you’re kind of lucky and just clicking around on the obvious buttons till it happens to be the right one can be good enough for you. In which case a CAD package with almost no functionality at all will do, and the interface of the CAD package doesn’t actually need to offer any of the more advanced stuff.

          But once you get to the actually using CAD seriously either as a profession or just on complex projects. Thus needing to be efficient, parametric, with the right order of operations (which varies by CAD platform sometimes), and create unusual geometry… The documentation really matters for any serious CAD platform, and is one of the things Autodesk’s move of giving it away free so you get lots of folks like us doing some of that work for them on top of a very stable program core that makes even old documentation, hints/guides work… You want to do a weird geometry in Fusion as long as you can come up with a good description there is probably already a tutorial on the method, maybe even a video guide if you prefer etc.

          NB I am NOT saying Fusion is bad in features, or it’s UI stupid etc – just that calling it ‘intuitive enough you don’t need a manual’ implies you are not really making the most of what the program could do for you. As there is so much great stuff you won’t just bump into or know how to use from its name/icon.

          1. I don’t think my projects are all that trivial. If I get to some more advanced workspaces I’m sure I’d benefit from a primer, but anything parametric sketching or modelling related of a bunch of components fitting together, timeline manipulation, fixing things when you change the past, importing and exporting, dropping in files from other software, etc is all intuitive and just works.

            Yes I’m not making the most of it in that I haven’t simulated much or done much CAM, for example. But all that is way way way beyond what almost every weekend warrior is trying to do in FreeCAD.

            If you need documentation to make a sketch with some constraints and extrude it then subtract or intersect something and add some fillets, then I still think it isn’t the documentation that’s the problem.

          2. @Le Roux None of things you mention are requiring documentation to deal with in FreeCAD, I certainly didn’t read any and went way beyond that level before having to look stuff up and start seriously trying to learn the tool. Though ‘timeline’ is not a feature at all – and to me that is a good thing as FreeCAD (and many other CAD packages) alternatives to it are much more logical and far easier to use IMO.

            And I’d suggest these things haven’t been documentation required in a very very long time if ever – even without knowing about the workbench system a few moments of fiddling around as you do with any unfamiliar interface (while to stubborn/lazy to learn how it works first) you would find all those basics and they work nearly the same, and on the occasions they do not the error message usually explains enough to figure out why quite easily. I obviously can’t claim FreeCAD has the same level of UI polish, but for stuff like that it really isn’t hard to figure out.

        3. I have been using Freecad for some 5 years now, and I am very thankful for the Freecad developers. However, I completely agree. Most of the software I’ve worked today, including scientific equipment, I could come back a few months later and find my way.

          With Freecad even for some basic functionality, I would need to go through some convoluted processes through multiple tools and functions with similar names that I can’t really remember.

          If one needs to go often to look for a tutorial on how to perform x, it takes so much time that makes 3D drawing an annoying part of creating something.
          I guess maybe Freecad has too many purposes and a fork with streamed down interface and tools could be a way forward? I will definitely try alternatives.

          1. I think that is an issue of the core “hierarchy” being nonsensical or arbitrary in many places, so you have to remind yourself what things even are every time you come back to it.

      3. The problem is that it is very easy to transfer knowledge between fusion 360, inventor, solidworks, onshape, etc, to the point where someone experienced with one only needs a few hours at most to become proficient in any of the others. This is because pretty much everything just works the same way and most of the effort in learning a new piece of software is just learning where the buttons are.

        With freeCAD it isn’t quite so easy. People don’t wrongly expect their knowledge of other CAD software to transfer over, with most CAD software it does, it’s just with freeCAD it doesn’t. So freeCAD is the odd one out here. FreeCAD is just too different for knowledge to transfer over but it doesn’t have to be that way, if enough of an effort was made to make freeCAD more intuitive and work like the other main CAD software then it would be better for everyone.

        Another big problem with freeCAD is all the unintuitive workarounds to do basic things. These workarounds are not solving the problems with freeCAD which should be the priority. All these workarounds do is confuse people.

        The lack of a proper timeline is also a problem with freeCAD that makes it not suitable for a lot of things.

        Have you used any CAD software other than FreeCAD? FreeCAD is a long way behind most other CAD programs in many areas. As far as I see it the only advantage of FreeCAD over the likes of fusion 360 or solidworks is that it’s open source. FreeCAD just isn’t there yet and by the looks of things maybe it never will be.

        1. I kind of call bullshit on the ‘timeline’ remark. That, compared to the rest of the pack is a Fusion 360 oddity and I find it highly unintuitive and an annoying waste of screen space. I’m quite happy however with OnShape’s tree structure, and I’d argue that when following the dominant workflow in FreeCAD, it’s tree struture is comparable.

          1. I’m sorry but anyone that poopoos the timeline feature sounds a bit like those assembler diehards that complains about kids using compilers.

        2. I’ve been trying to design a complicated part in Freecad lately, and here are some examples of how it is downright weird compared to other CAD packages.

          1. The whole separate “part” and “part design” workbenches. They look similar at a glance, but if you guess which one to start in and realize you need the other, oops, it’s easier to delete the part and start over. Not very beginner friendly. Can anyone really claim these names adequately explain the difference between these workbenches?

          2. Want to create a rectangular pattern, then mirror your pattern elsewhere? Autodesk Inventory, Solidworks, or Alibre Design will make a pattern out of your pattern, no problem! Freecad won’t, because it insists on only making a pattern of additive and subtractive features. But not a pattern of a pattern of additive and subtractive features.

          3. Trying to drag and drop parametric features to re-order them turns the model list into a mess – pads somehow get moved but leave their sketches behind, and such.

          The whole experience makes me think Freecad’s developers are not familiar with other CAD packages.

          1. Realthunder’s fork allows patterns of patterns, which is one of the reasons I use it instead of mainline.

            Part is mostly not a thing. It seems to be for like, old school 3D CSG workflows which can often be avoided entirely. Most everything can be done in Part Design unless you need to import an SVG, which seems like s complete unnecessary UI nightmare.

            I think they’d be farther ahead of they had just straight replaced mainline with Real thunder, and started over from there.

  2. Sounds like it may be the best of both worlds.
    Great that there is a flatpak now, I’ll finally give it a try.
    What did you mean with 3D sketch constraints and extrusions?

    1. This!
      Surely there is not a problem in matters scientific, educational, political, medical, philosophical, theosophical, mathematical, agricultural, biological, analytical or anything else you care to name that can’t be solved or at least improved by the application of OpenSCAD.
      (Except fillets, don’t mention fillets)

  3. I’m really hoping for this! My experience with FreeCAD has been a total train wreck. Unless you know what’s going on under the hood you end up in dead ends. And the UI is beyond terrible. ‘been using OnShape which is awesome, except for the fact that there’s no business model for hobbyists, which makes me wonder at what point the free model gets turned into a limited-time free trial and then I’ll be stranded. (I don’t mind paying something but their lowest subscriptions don’t make sense for occasional personal use.)

  4. Gave it a look. It’s a great start but needs a lot more to be considered serious alternative. No curves at all, no tangent constraint. Might be good enough to make KiCAD models though.

  5. It took me years to get comfortable with FreeCAD. Maybe I’m now ruined, but I get along with it pretty well now.

    Recently I have started using Ondsel ES, which is just a bunch of not-yet-merged UI upgrades to FreeCAD.

    1. It definitely takes at least a year to figure how to tip toe around FreeCAD’s landmines. I took am hoping Ondsel brings the right incentives to drive FreeCAD development in a better direction. So far it’s looking good.

    1. it is also missing the OpenCascade 7.7 library, so you’ll need to build that too.

      7.7.0 is the only 7.7 version listed on their site. But it includes some problems with the includes and won’t compile. I was able to find a 7.7.2 release:
      https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_7_2.tar.gz

      For troubleshooting, the desktop launcher shortcut won’t give you any error messages, but you can find the binary in /var/lib/flatpak and run it from there in a terminal…

      Ain’t it lovely how flatpaks are just plug-and-play? :-@

    2. All of these missing libraries were red herrings. The proper way to launch a flatpak binary is via the exported binary, turns out:
      /var/lib/flatpak/exports/bin/org.dune3d.dune3d

      The real problem in my case is a shader compilation error with the nVidia closed-source drivers.

      1. if you just want to try it out with proprietary nvidia drivers on Ubuntu 22.04, install the flatpak and then run this in a terminal:

        GDK_DEBUG=”gl-prefer-gl” /var/lib/flatpak/exports/bin/org.dune3d.dune3d

    1. I agree. I am an Industrial Design student and I had the option to learn a 3D CAD software from scratch. I tried FreeCAD as one of my first experiences, so I couldn’t have any bias. I simply found it excessively complicated, outdated interface, and having to constraint everything is making me waste time.
      I moved to Autodesk Inventor Professional.

  6. Every couple of years I want to make Free cad work for me but it (or I) always fails to do so. At a certain level of complexity the designs start to fail for non-obvious reasons.
    I now switched from SCAD to Build123d and I love it. A Python BREP design flow that you can use inside of a Jupyter lab, absolutely perfect.

  7. Been watching this for a couple of months now and I’m excited! Like everyone else mentioned the issue with FreeCAD is that it’s not intuitive. To be specific, the tools have unusual names that aren’t shared by any other CAD (SolveSpace, SolidWorks, Fusion360, etc) and are scattered in the UI. Many other tools have sub options in the menu where FreeCAD uses completely separate actions.

    I think FreeCAD could be improved simply by designing a concept UI to target, including reviews and voting. Audacity is following this idea now, driving improvement in the interface that brings in more users and developers. That would, in turn, drive improvement to the bugs we all love to hate.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.