5 ms·
The CAD geometry kernel is the problem. It needs to handle a ton of different features and gets very complex very quickly. FreeCAD uses OpenCASCADE which is als
by threatripper 4y ago
The CAD geometry kernel is the problem. It needs to handle a ton of different features and gets very complex very quickly. FreeCAD uses OpenCASCADE which is also used by quite a few other programs. This kernel dates back to the 90s and is supported by a company.
See:
https://wiki.freecadweb.org/OpenCASCADE https://wiki.freecadweb.org/OpenCASCADE
https://en.wikipedia.org/wiki/Open_Cascade_Technology https://en.wikipedia.org/wiki/Open_Cascade_Technology
- samwillis 4y agoThis completely, OpenCASCADE is just not a good enough foundation to build something as powerful and stable as SolidWorks on, and I'm not convinced it could become one. It would take 10s millions dollars and many years to build a new geometric kernel that would allow an open source CAD package to compete at the same level as the "Pro" packages. That would require a massively collaborative effort in the engineering community lead by a company (or two) with deep pockets and an agenda!
- elcritch 4y agoI believe an initiative backed by a group of large university, national lab, DOE, etc would also be sufficient. Particularly if it was written in say Julia where non-C++ experts (aka grad students) could participate then it could grab a lot of attention from various research labs. Then you could have a winning formula without a FAANG type company.
- ska 4y agoThe problem is incentives. The work necessary to bring a code base like this into production level and maintain it: be realistic - this will not be done by grad student labor without significant supervision, regardless of language. This is many times the effort needed to show "it works" once. There is currently no incentive model that I know of that can make this work at a university, or even national lab. In these contexts currently it's really hard to get funding for a single "real" programmer for a year, let along a proper effort for something like this. If it became a critical infrastructure project for a federal level agency, sure - but why would they support doing it in public?
- marcodiego 4y agoWe heard similar comments about linux and GNU a few decades ago.
- SideQuark 4y agoAnd IBM and RedHat both poured literally billions into it to make it work at the level it does today, which underscores the point. And there have been billions more poured in from a lot of other corporate groups.
- fezfight 4y agoYeah. Sometimes someone brilliant does something hard for the good of humanity though. I'm think specifically of that guy who wrote DXVK back in the mid 2010s. He basically made gaming on Linux possible.
- gpderetta 4y agoHe is certainly brilliant (I remember how quickly it went from showing a single triangle to actually having working games), but was quickly hired by Valve to work on it full-time.
- fezfight 4y agoYeah, it was nuts. Us Linux gamers were all upset at CDProjekt Red for the bait and switch on the Linux support for Witcher 3, and then, blam DVXK suddenly made that irrelevant. And then so much more!
- Accujack 4y ago...and at the same time, GNU was making the same comments about CAD software. It's been on the list of desired projects for GNU since about 1990 - a CAD program comparable to AutoCAD. The problem is that writing one takes a big effort - like Linux kernel sized, and needs people with niche technical knowledge. It's much, much easier to find someone who can write a java app for a web page than it is to find someone who can write CSG code for a CAD system. It may eventually happen, but it's not inevitable.
- threatripper 4y agoI'm not sure if "OpenCASCADE is just not a good enough" in the architectural sense or if they just don't have the manpower. When I looked into some bugs a while ago it sounded like "yeah, we've know this bug for years, we would like to work on it but don't have the manpower right now". Just adding outside contributions to such a project is probably also not possible because the components interact in many ways and you have great potential to introduce a lot of subtle bugs.
- naasking 4y agoThere are alternatives these days: * https://www.cgal.org/ https://www.cgal.org/ * https://www.libfive.com/ https://www.libfive.com/