Open Cascade may be the most difficult piece of FLOSS IP to recreate outside the Linux Kernel. In fact I'd say it'd be harder to replace given the number of people with interest and the background to work on these two different type of software.
I believe it has the potential to be one of — and probably already is in — a class of super impactful, all time classic pieces of software alongside the likes of Firefox, Gimp, Inkscape, et al.
- LyX
- pyspread
- ipe
And it will probably stay that way. STEP is a huge specification and solvespace only supports a small subset of the features of it. In particular it doesn't do complex NURBS curves or surfaces, it only supports rational Bezier curves and surfaces up to degree 3. It does support trimmed surfaces which result from boolean operations and which most other OSS NURBS libraries do not handle.
Some day I'd like to get it to import what it can - particularly its own output - but that's a very low priority since it would be quite limited.
BTW gcad3d has fairly extensive STEP I/O with its own GPL3 C code (so we could start with that). I'm still not sure what that tool is mostly for - it seems to be more for CAM simulation? but I'm not sure.
One thing missing from the subject of the thread was any history of the exchange formats.
WRT robustness maybe not. Even the commercial ones tend to fail in certain situations. I'm not sure if there's a widely desired holy grail people are looking for and I don't even know what that would look like. I might recognize it if it appeared, but maybe not.
BTW for FEA I think a major new thing is available in Altair products the last couple years.
I'd imagine extruding a sketch into an SDF object is possible, and you could just only allow sketches to reference stuff in other sketches, or the bounding box cube of a sketch extrusion.
They'd need some better tools for referencing stuff between sketches but other than that, it seems like it's mostly all there.
And then at the end if you wanted a STEP I'm sure someone out there has got to be working on some kind of mesh to STEP thing that properly preserves design intent.
"Kernel developers section"