3 ms·
Is Solvespace history based parametric CAD? FreeCAD's architecture that combines history based modeling with inferior kernel (Open CASCADE) is about the worst
by delhanty 9y ago
Is Solvespace history based parametric CAD?
FreeCAD's architecture that combines history based modeling with inferior kernel (Open CASCADE) is about the worst choice from a reliability standpoint.
The best kernel, Parasolid, only started to get good when mainstream Unigraphics went history based parametric in 1992. The reason is that all of sudden Parasolid has to be able to correctly rebuild every model ever made in Unigraphics, SolidEdge and SOLIDWORKS - including bug-for-bug compatibility. That's an extremely hostile evolutionary environment, and to survive Parasolid had to get extremely good.
OpenCASCADE in contrast only has to replay FreeCAD models, and there are modulo zero of those, and actually zero paying customers.
SpaceClaim has things the right way round to built a reliable CAD system: direct modeling X still v good b-rep kernel (ACIS).
Free/open source doesn't have a good curved surface kernel.
To build one is difficult. Every time you add a new surface or curve type, then case analysis for the intersection algorithms goes up with the square, so the key is to limit severely the number of surface types. One though I had was to just use Dupin cyclides (which covers the quadrics) and approximate everything else with cyclide sheets. There are some architectural CAD papers on these.
Disclaimer: Parasolid dev 1989-1995.
Edit: maybe that's what Solvespace does - limit to just NURB surfaces? Way to go! The Dupin cyclide approach would have to approximate NURBS with cyclide sheets, but the intersection algorithms could be easier to implement because they are implicit quartic surfaces.
- gh02t 9y agoI'm not sure, I think Solvespace is history based, but I don't know enough about CAD geometry engines to give an in-depth answer. Most of my experience with CG comes from the simulation modeling aspect (think more GEANT instead of CAD). I'm pretty sure Solvespace is using their own geometry engine implementation and not something like OpenCASCADE or CGAL (as in OpenSCAD). As you note, it really struggles with curved surfaces. Just drawing a cylinder and doing some booleans on it will cause problems. And it can have a fit with constraints too, e.g. the symmetry constraint almost always leads to an unsolvable sketch for me. Onshape and Solidworks (which I dislike) perform noticeably better. But, Solvespace really in most cases gets the UI and workflow right. It's highly intuitive except for a few things (as I said, a couple things like changing colors for a solid are really irritating). I think it's in most cases a better choice to learn for hobbyists than something like OpenSCAD, which is the maker darling. OnShape to me feels like what I want Solvespace to grow into. The workflow is actually very similar, but as you say the geometry engine is vastly superior. And it's obviously the money thing. CAD is very much a "long tail" process, where it's not hard to make 90% of the features that are needed, but where everybody needs lots of stuff from that last 10%. This has always been an area where open source has had trouble.
- delhanty 9y agoOK - so maybe Solvespace is history based. If I was doing it, which I'm not, for the free (as in freedom) and/or open-source kernel, I think the best way forward would be to salvage the STEP, IGES etc import/export code from OpenCASCADE and graft that on to Solvespace.
- sidegrid 9y agoWhat do you dislike about SolidWorks?
- gh02t 9y agoIt's overly complex for what I do, which is mostly hobby stuff with some occasional custom designs for my work use (academic research lab, mostly custom mounts and brackets for obscure equipment). Also the onerous licensing and price. Admittedly it's been a while since I used it, so maybe the UI is more friendly nowadays but I never really found it to be particularly intuitive. But the biggest reason is I'm a Linux guy and I want something I can run without rebooting into Windows or a VM. I'm usually extremely wary of complex applications running in a browser, but I have to say OnShape works great and performs well. And being in browser means it runs on Linux no problem, which is a major benefit to me.
- sidegrid 9y agoWhat do you dislike about SolidWorks?