bee_rider 3 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?

6
jlarocco 3 days ago

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.

Kallocain 2 days ago

Correct me if I'm wrong but I think PLM/PDM are storing the CAD model as "CAD databases" (basically the proprietary file-format) in a Data-Vault. So while not all CAD data is being stored in those files (meta-data for example) those old file-fomats are still in use I think.

jlarocco 2 days ago

TBH I don't have a great understanding of how the PLM systems store CAD data.

What you describe sounds about right, though. I think in some cases it really is just the original CAD file, as a binary blob, in a database, with metadata stored with it. In some cases it's more complicated, though.

Catia's V6 "3D Experience" system, for example, saves to their database by default, but allows exporting to Catia V5's CATPart/CATProduct format, or STEP, for data exchange. The catch is that some of the newer features in V6 don't exist in V5 and aren't fully supported by CATPart/CATProduct, so they have a way to export those bits "as result" instead of saving the full dataset - basically decoupling it from the parameters and inputs that created it and giving a BREP blob. In most cases the exported parts can be editted in V5 and sent back to V6, but the "as result" parts can't be.

It's different for every CAD vendor, though. A nebuluous mess of vendor lock-in and proprietary data formats.

rjsw 2 days ago

You can also do PLM/PDM by exporting the CAD model in a neutral format such as STEP and storing that in a database.

zokier 2 days ago

I recently tested SimScale with OnShape, i.e. cloud FEM with cloud CAD. On the FEM side there was a button "import from OnShape", which opened popup that did go through authz flow ("do you want to allow SimScale to access your OnShape content") and then proceeded to show a part/assembly selection dialog. Reasonably smooth process considering that they are two completely separate companies etc.

bee_rider 3 days ago

I should say that this question is 100% not a backhanded critique of the idea of this project, I’m genuinely curious what the workflow looks like.

Making CAD more accessible seems like a massive win, in the sense that it is really hard to get hands on experience making things nowadays—hobbyist methods and professional ones have diverged quite far! Easy web-based tool that bridge that gap without playing around in the shell could be really useful.

tranchebald 2 days ago

Yes. Make them a front end to project database you pay someone to host. There is one source of truth for the whole team, front ends are tailored to design disciplines, and development branches are created as needed. This is an obvious product that would be a major improvement that doesn’t exist.

Bentley and Autodesk have a Frankenstein version of this because they can’t disrupt their revenue stream for CAD software that stopped improving 20 years ago. iTwin (yes, the branding is that bad) is an attempt to link cloud to local-file-based work. ProjectWise was a first stab at that, which is worse than plain network storage in every way except that CAD managers don’t have to be responsible for configuration scripts.

abe_m 2 days ago

CAD companies are very protective of their file formats, and use that as leverage to "encourage" companies to stay in their eco system, and upgrade to the latest versions of their software.

The main CAD program is often the center of use, and any specialty functionality is a add-in to the main cad program (FEA, CAM, etc).

If the specialty software is stand-alone, it still needs a CAD Kernel to be able to work with the BREP, and there are essentially only 2 main commercial kernels (Parasolid and ASICs).

fsloth 3 days ago

Not your main question but -

” very old-school native programs that either are a loosely collected group of tools that allow you to manipulate files and pass them around”

Opencascade is a C++ library and manages it’s state in single process. Examples: https://dev.opencascade.org/doc/overview/html/samples.html

zokier 2 days ago

I think parent was referring to BRL-CAD, which is very much feels like a collection of cli tools ducktaped together.

bee_rider 2 days ago

I was just commenting on my general impression of the sorts of tools I saw other folks in the lab using, or that I had to use in my classes. I’m more of a programming guy anyway, so it is probably an issue of me being an uninformed neighbor (all of the responses seem to indicate that I’m wrong mostly, which is definitely not surprising).