Comment by bee_rider
Comment by bee_rider 7 days ago
This is a dumb question, but seems like as good a place as any to ask it:
I think of these CAD programs as being very old-school native programs that either are a loosely collected group of tools that allow you to manipulate files and pass them around (so, like, a bunch of Linux native programs that spit out files and ingest them, and you go around in the terminal to make sure everything is in the right spot), or a nice GUI around a bunch of those types of tools (it is definitely very possible that I’ve been influenced by only seeing these tools via engineering grad school where everything is open source, the gui’s don’t count, Linux command line is assumed, and 90’s tools are the baseline).
With a web-based system, what do you do? Like, for example if the user wants to pass models to some finite element simulation tool, do they just repeatedly download/simulate/go back to the website/edit/download/simulate, or something like that?
Is there a nice way for browser based apps to pipe to each other?
I don't think your understanding is correct.
In the 60s, 70s, and 80s it was more true, but nowadays Catia, NX, Creo, and the other big CAD systems are monolithic applications with extensions and add-ons (either from the vendor directly, sold as third party add-ons, or developed in house with CAA/NXOpen/ProToolkit) for doing stuff like composite design, sheet metal, various types of analysis, and a million other things.
Under the hood they're very modular with hundreds (or thousands) of shared library modules, and sometimes those modules have long histories going back to the 70s, but the UI of the 70s is long gone, and they're used like normal shared libraries, not piping around data on the shell.
Not that it doesn't happen - I'm sure some companies have old tools they haven't updated in decades - but the day to day CAD work is all GUI based.
That's my impression working at a company doing CAD translation, anyway.
In a lot of large deployments, the CAD data isn't even stored in files, but in a PLM database. For example PTC's WindChill and Dassault's Enovia/3DX.