logoalt Hacker News

phkahleryesterday at 5:08 PM2 repliesview on HN

>> I'm curious why you didn't go with OCCT for Solvespace.

I didn't start Solvespace, but Jonathan was apparently in a DIY mode after developing his take on constraint-based sketching. It's also very easy to go from NURBS curves to NURBS surfaces, the challenge begins at boolean operations which continue to be a source of bugs for us. This is really the only option other than OCCT and the code is small and approachable so I try to make it better.


Replies

jwesthuesyesterday at 8:34 PM

Yeah. To quantify, OCCT is >1M lines of code, and SolveSpace's NURBS kernel is <10k. This general smallness is what subsequently made stuff like the browser target feasible, though it obviously comes with downsides too.

We'd welcome contributions, and it's much easier to contribute to the smaller codebase. I think there's potential for coding agents to accelerate this work since robust point-in-shell and shell-is-watertight tests are mostly sufficient to judge correctness, allowing the agent to iterate; loosely you could define your geometric operation as a function of whether a point should lie within the output region, then ask the agent to convert that to b-rep. I wouldn't currently expect useful progress without deep human effort and understanding though.

ameliusyesterday at 5:15 PM

Would it be worthwhile to consider switching to OCCT (or make it optional)? It would make certain things such as fillets/chamfers much easier, I suppose, and it would make those boolean operation bugs go away. And exporting to various formats would be easy.

show 1 reply