jasonthorsness 3 days ago

"by compiling OpenCascade (OCCT) to WebAssembly"

I wondered what geometry kernel it was going to use! Interesting to me how few of these there are. Some of the solid modeling stuff is nearly 40 years old (parasolid) this must be hard.

4
immmmmm 3 days ago

I’m doing a bit of BREP for GIS and even in 2D with line segments only the problem is really non-trivial, a lot of edge (pun intended) cases to take care of. Type system helps enormously, so probably rust will be a win here (I think I saw a project along those lines).

That being said, for CAD (personal usage) I switched from Fusion 360 to Freecad 1.0 with almost no project and the latter is an order of magnitude faster.

ssl232 2 days ago

Agreed, FreeCAD 1.0 is finally almost usable and supports assemblies. My main issue with it is that the bill of materials tool was DOA but it’s fixed in the main branch. There are still lots of quirks but these can be learned in a few hours of using it.

seltzered_ 2 days ago

Worth noting there's also a fork of FreeCAD (Astocad, made by a former Ondsel developer) with some UI enhancements: http://astocad.com/

Oxodao 2 days ago

I really like this pricing model, reminds me of aesprite.

Either build it yourself for free, or pay us and we'll give you prebuilt binaries for convenience

abe_m 2 days ago

I think the corner cases are likely hard, but the fundamental mathematical representations of the 3D geometry haven't changed. If the licensing cost of Parasolid and ASICs is reasonable, there isn't really a commercial incentive to create something new from scratch. The current market trend is consolidation as Autodesk and Hexagon when on a buying spree and bought up a lot of CAD and CAM software.

OpenCASCADE used to be commercial, but they couldn't find enough customers to keep on and it got open sourced after a failed commercial existence.

inhumantsar 2 days ago

I wish more companies, especially university spinoffs, did this when they failed.

It seems so wasteful that poor marketing or leadership or whatever can lock useful innovations up for years while people better able to execute on them reverse engineer the work and/or wait for patents to expire.

shash 2 days ago

The corner cases are hard, but the basics shouldn't be. I'd normally expect several basic ones and a few good professional ones. But that's not what we see...

abe_m 21 hours ago

We have OpenCASCADE, GCAL and Solvespace. The later two are missing quite a few features relative to OpenCASCADE. Then there is Parasolid, ACIS, and whatever they call the kernel in CATIA. There are a few around. But perhaps there aren't that many ideas for innovative features for people who are interested in the area to create something new.

amelius 3 days ago

Would love to read more about how these types of geometric problems are best approached.

phkahler 3 days ago

>> Would love to read more about how these types of geometric problems are best approached.

Probably the most accessible NURBS kernel to learn from is the one in Solvespace. The entire source for the core NURBS is about 6KLoC:

https://github.com/solvespace/solvespace/tree/master/src/srf

My favorite file in there is ratpoly.cpp

It doesn't handle higher order NURBS or use knots. It's just the basics, but there are a lot of geometric algorithms in there. We're still trying to get the bugs out of NURBS booleans, but the high level algorithm is sound.

BTW it can also be compiled for web but that is incomplete.

johncalvinyoung 2 days ago

Ugh, I wish I could read it but as I'm working in this space professionally reading GPLv3 code is... risky.

Been working in 2D with bezier implementation for our in-house CAD kernel. 3D parametric is limited at the moment, though.

wizzledonker 1 day ago

Just because I’m curious, why the issue with reading GPL code? My understanding is that you would have to essentially directly copy and paste the code for the GPL license to apply to it.

amelius 1 day ago

Thanks, I'm a big fan of Solvespace, despite some small shortcomings that I usually am able to work around. I sometimes even use it to solve geometric problems. Much easier than doing it by hand.

I will have a look at the source code.

snarfy 2 days ago

We don't really have a lot of options as far as open source geometry kernels goes.

OpenCascade

CGAL

Is there anything else?

shash 2 days ago

There's whatever's inside BRL-CAD, and SolveSpace has its own too.

Not that there are all that many proprietary 3D kernels either - ACIS, Parasolid, and...?

actionfromafar 2 days ago

Does anyone use BRL-CAD for anything? It must be capable but I can find very little information and resources about.

shash 22 hours ago

I for one have never successfully done anything with it. Couldn’t figure it out.

But it does have a kernel, so…