MrDOS
7 hours ago
SolveSpace is a wonderfully different take on parametric CAD, but development has really slowed, and it seems fundamentally incapable of some pretty rudimentary features (like chamfers[0]). Dune 3D[1] seems like a pretty effective spiritual successor.
phkahler
7 hours ago
Chamfers and Fillets are my next major undertaking. Don't expect them any time soon, but they've moved to the top of my list. They are extremely difficult to do in the general case - so we will not cover all cases. Several years ago I tried an experiment:
https://github.com/solvespace/solvespace/issues/453#issuecom...
That could only do the top or bottom of a straight extrusion. This time will be a more general than that. Not looking forward to doing corners where 3 fillets meet ;-)
MrDOS
5 hours ago
Oh, sorry, I didn't recognize that this had been posted by a SolveSpace maintainer! Rad. I am glad to hear the project is still moving.
I also appreciate the difficulty of generalizing chamfers/fillets. There's a reason that basically all FOSS CAD packages have struggled with it.
echelon
4 hours ago
> difficulty of generalizing chamfers/fillets. There's a reason that basically all FOSS CAD packages have struggled with it.
Could you decompile CAD, run it through an LLM, and call it a day?
yonatan8070
an hour ago
Aren't there licesing issues with porting a proprietary implementation into an open-source one that could open up the project to legal issues with the proprietary vendor?
julbaxter
7 hours ago
Dune3D uses SolveSpace behind the scene.
phkahler
7 hours ago
Only for the constraint solver. Dune uses OCCT for the solid model.
amelius
6 hours ago
I'm curious why you didn't go with OCCT for Solvespace.
phkahler
5 hours ago
>> 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.
jwesthues
an hour ago
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.
amelius
5 hours ago
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.
phkahler
4 hours ago
>> Would it be worthwhile to consider switching to OCCT
It would, and it has been considered. The sketch elements in solvespace are significantly decoupled from the solid model. That means we could substitute (via wrapper maybe) an OCCT object instead of our SShell class. Then you'd have to change a set of solvespace curves to OCCT curves to make extrusions from them and such. But that would be most of the work.
We do tag all triangles in the mesh with a sketch entity handle for flat surfaces so you can constrain points to a face. I'm not sure how that would be handled. We will also be tagging edges of the solid with sketch entity handles in the future so we can do chamfers and fillets - say by selecting a line entity and applying a modifier to it which gets applied to the NURBS shell. I'm not sure how that would go with OCCT.
But yes I've given a bit of thought to it ;-)
amelius
2 hours ago
Perhaps you could create both the shell and the OCCT object. Then when an edge is chamfered, you could look it up in the OCCT object (simply find all segments which are sufficiently close to the chamfered edge). And then call the OCCT chamfer function. Or something along those lines.
phkahler
2 hours ago
Oh, and the Blender CAD Sketcher add-on also uses our constraint solver.
brcmthrowaway
5 hours ago
How does Dune3D compare to FreeCAD?
phkahler
3 hours ago
>> How does Dune3D compare to FreeCAD?
Dune3D is more like Solvespace with a few improvements and bug fixes vs being anywhere near FreeCAD in terms of capability. Improvements include using STEP files in assemblies and having some ability to make Fillets or Chamfers. Bugs fixes would be due to using OCCT for NURBS surfaces - solvespace frequently fails with NURBS boolean operations.
As for overall capability, FreeCAD does everything these others do but also supports lofting and other modeling options, BIM for architecture, I think it does pre- and post- processing for FEA, and maybe some other "big tool" things.
IshKebab
7 hours ago
FreeCAD doesn't have the limitations of SolveSpace, and the UX is actually decent now. I moved to that.
jonpurdy
4 hours ago
I’m looking for a recommendation to get beyond TinkerCAD (for 3d printing). I learned it in 2019 and came back in 2025 when I got my own printer. It is comfortable and fine for my purposes but lacks basic things like chamfer and fillets.
Anytime I try to jump into Fusion or FreeCAD I immediately hit a wall (like trying pirated Maya when I was a kid).
IshKebab
an hour ago
I would recommend pirating SOLIDWORKS and learning with that. It has the easiest UX of the parametric CAD modellers, and once you know the general sketch-extrude methodology you will find the others a lot easier.
Actually I think they have a hobbyist subscription which isn't totally extortionate now if you want to stay legal. Maybe get it for a year.
jabl
5 hours ago
Some years ago I tried to learn CAD by doing some FreeCAD tutorials, and failed. But I hear 1.0 was a big step forward, and the recently released 1.1 is also a big step, and it should be somewhat decent nowadays. Maybe I need to try again one day.
IshKebab
an hour ago
Yeah it's vastly better in 1.0 than it used to be. I still think you might be a bit lost if you aren't familiar with parametric CAD, but it's no harder than Blender for example.
l-albertovich
6 hours ago
I just tested it out of curiosity and found that viewport manipulation behaves in a very similar way to onshape which feels very natural to me.
I've been thinking about trying to implement this in freecad but I'm still exploring the idea.
Karliss
4 hours ago
There are more than dozen different viewport navigation manipulation modes, latest version added two more (Solidworks and Siemens NX). You can pick whichever behaves closest to the program you are most used to.
faangguyindia
6 hours ago
All we need is a genius, with unlimited claude and codex credit and he will replace Fusion 360 atleast in 3d printing and machining space
It's so sad most guys aren't comming together to build some great CAD engine which open source really needs!
Gimp is shame, photoshop is increasingly being lockdown and people who have smarts to fix that are doing nothing.
ezst
5 hours ago
That people on this forum convinced themselves that it's a reasonable take to vibe code a useful geometric kernel is profoundly depressing.
progbits
3 hours ago
Indeed. I would love for it to be true, but aside from opencascade^1 all the professional kernels are proprietary and not in the training set, so LLMs can't just regurgitate them.
^1: Which I really appreciate, but let's be real, it is far behind eg. parasolid.
faangguyindia
5 hours ago
Just wait for sometime, there will be one.
There are many geniuses on HN for tacking up challenge
fainpul
5 hours ago
So you think AI can do this – why exactly is a genius needed?
stackedinserter
5 hours ago
Correct me if I'm wrong, kernel is already there, and it's decent enough. What's lacking is a good user interface to it.
progbits
3 hours ago
FreeCAD is perfectly good user interface for opencascade. The problem is that as your geometry gets more complicated you start running into the kernel limitations.