5 ms·
Another really long-lived package, FreeCAD (it's about six years younger), has tremendous parallels: - bad (in places better called solipsistic) UX - underlyi
by bemusedthrow75 3y ago
Another really long-lived package, FreeCAD (it's about six years younger), has tremendous parallels:
- bad (in places better called solipsistic) UX
- underlying architectural issues from its dependencies (e.g. OpenCascade's OCCT and Coin3D)
- a flood of competing workbenches and plugins so users struggle with initial workflow, many abandoned or undermaintained
- something of a reliance on knowledge of Python scripting to solve advanced issues
- and (akin to GIMP avoiding non-destructive-editing for two decades) a fundamental architectural issue: topological naming problems that other CAD packages have solved
But things in FreeCAD land are changing really fast -- there's a TNP implementation coming quite soon to core FreeCAD, there's a core assembly workbench, a materials system and really significant GUI and UX improvements.
The reason is things are changing is that that people central to FreeCAD looked across the open source landscape to Blender, and saw how a project can be run, and how commercial companies could consult on top of it.
Everything has changed within a matter of three years. Despite its issues, FreeCAD is now exciting to watch.
Whereas GIMP seems to still be circling around looking for the best solutions to things they never finish. Krita has become the thing GIMP could have been, and it is nine years younger.
- andybak 3y ago> underlying architectural issues from its dependencies (e.g. OpenCascade's OCCT and Coin3D) Curious to know more. I occasionally look at CAD kernels and wonder about writing a C# wrapper. Is OCCT to be avoided?
- bemusedthrow75 3y agoOCCT is definitely difficult. I am almost as far as you can get from an expert (and I am sure there is one here who can explain it better and hopefully correct me) but: For example the TNP issue derives from OCCT (or something in the stack close to it, I am not exactly sure) not really handling face naming at all. So if you want to avoid topological naming issues (which is a hard problem in CAD), you apparently have to do some work to track before and after and reconstruct your face naming from either side of the OCCT black box. https://wiki.freecad.org/Topological_naming_problem https://wiki.freecad.org/Topological_naming_problem https://forum.freecad.org/viewtopic.php?t=27278 https://forum.freecad.org/viewtopic.php?t=27278 Then there are various fairly entrenched issues to do with filleting and chamfering. Basically, both these operations will fail if a chamfer or fillet would completely consume an existing edge. It also sometimes creates impossible objects when filleting, or used to. Booleans can be slow. And more generally, it seems if you track the FreeCAD project that OCCT can be inscrutable when things fail; error messages aren't the greatest etc. The flip side of OpenCascade is that it seems to be highly portable and has for example been compiled to JS with Emscripten for this astonishing thing: https://zalo.github.io/CascadeStudio/ https://zalo.github.io/CascadeStudio/ It's a monumental open source project, for sure, and it's definitely not nothing that we have an open source CAD kernel; these are projects that perhaps have to extend beyond the working life of an individual developer if they are to be stable. And there are loads of projects built around it. So it's absolutely consequential and we're lucky to have it.
- prokoudine 3y agoIf you want an open-source kernel, you don't have much choice. Truck and Fornjot are incomplete and not quite ready for prime-time. libfive is FREP, not BREP. OCCT is the useable of all. But it also has old architecture, all sorts of imperfections (some of them described by the other guy here), and the code quality isn't great, I'm told (by much more experienced people).
- Gormo 3y agoI tried to use FreeCAD a few years ago to do some simple object modeling for 3D-printed prototypes. The GUI was so complex and idiosyncratic that I found it more efficient to just learn OpenSCAD's modeling language instead (which served me really well).
- bemusedthrow75 3y agoYes, absolutely. It was where GIMP still is now, for artists. It's definitely been idiosyncratic (if not solipsistic), and still has IMO some maddening features. And it still [0] has a core flaw that is being mitigated. OpenSCAD is actually very limited in ways that don't become obvious until you get into a bRep CAD system at least. But it's how I also got into CAD. I wanted to know there was at least something I'd be able to use for my own ideas, and the fact that OpenSCAD exists is definitely a blessing. If you like it, you might find Build123D [1] interesting: this is a Python (and very pythonic) environment built around the same kernel as FreeCAD. But I got from OpenSCAD to FreeCAD and I am very glad of it; it's an amazingly capable bit of software once you get past the pain (in the same way Blender is, I gather). FreeCAD 0.21 has many nice new things in it. 0.22-dev has more, and 1.0, due at some point in this year now, is going to be a pretty major leap forward. And at least now we have the amazing Mango Jelly Solutions videos on youtube. I recommend them; you'll learn the right way into FreeCAD. GIMP is not an amazingly capable bit of software for typical designers. It's broken and hobbled. [0] the topological naming problem: being corrected in the core distribution at the moment as they head to 1.0 [1] https://github.com/gumyr/build123d https://github.com/gumyr/build123d
- Gormo 3y agoThanks for the pointer to Build123D -- I really like the idea of building 3D models as code, so this might be a great alternative. My use case back then was working on prototypes for plastic products we'd eventually be injection molding. I found OpenSCAD to be an extremely effective tool for quickly iterating on designs. I'd tweak some parameters or code, 3D print a batch of samples, hand them out to testers for feedback, rinse and repeat. Then, once the design was production ready, we'd hand off the final protos to the engineers who would design the injection molds. I'm sure they were using Solidworks or the like. OpenSCAD added a lot of value in the early design phase of these projects, but wasn't involved past prototyping, so I suppose we never encountered its limits.
- Andrex 3y ago> Whereas GIMP seems to still be circling around looking for the best solutions to things they never finish. Krita has become the thing GIMP could have been, and it is nine years younger. GIMP is critically underfunded. Seriously I think it's like one guy making most of the changes[0]. > 7 core developers contributed 10 or more commits in GIMP’s main repository: > Jehan: 649 commits > Jacob Boerema: 64 commits > Nikc: 50 commits > Daniel Novomeský: 25 commits > lloyd konneker: 25 commits > Lukas Oberhuber: 18 commits > Niels De Graef: 15 commits People keep asking the world of Gimp as if they have even 1% of Adobe's funding. IIRC no one is working on Gimp full-time, while Krita is able to pay four full-time developers[2]. 1. https://www.gimp.org/news/2023/01/29/2022-annual-report/ https://www.gimp.org/news/2023/01/29/2022-annual-report/ 2. https://docs.krita.org/en/KritaFAQ.html#license-rights-and-the-krita-foundation https://docs.krita.org/en/KritaFAQ.html#license-rights-and-t...
- hitekker 3y agoIIRC, GIMP chose this path. Krita got serious about funding and GIMP didn't. Krita has two straightforward donation pages (https://krita.org/en/support-us/donations/ https://krita.org/en/support-us/donations/ or https://fund.krita.org/ https://fund.krita.org/) meanwhile GIMP discourages direct donation to the project (https://www.gimp.org/donating/ https://www.gimp.org/donating/) In truth, GIMP maintainers deeply enjoy the control that "no strings attached"/"no obligation" development brings them. They've alienated most potential sponsors because they're happy with their lack of results. The missing funding angle only matters as an excuse for their own disorganization. I haven't double checked but I think at least one of your listed names is banned from twitter.
- prokoudine 3y ago> I haven't double checked but I think at least one of your listed names is banned from twitter. Even if true, what does it have to do with anything? :)
- Andrex 3y agoStole my response. At this point being banned from Twitter is a badge of honor in some circles.
- prokoudine 3y agoOther CAD programs haven't solved toponaming issues, they mitigated them. You can still break a model in SW and other commonly used 3D CAD programs, it's just more difficult to do.