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 ;-)
I also appreciate the 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?
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.
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 ;-)
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.
Anytime I try to jump into Fusion or FreeCAD I immediately hit a wall (like trying pirated Maya when I was a kid).
I've been thinking about trying to implement this in freecad but I'm still exploring the idea.
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.
^1: Which I really appreciate, but let's be real, it is far behind eg. parasolid.
There are many geniuses on HN for tacking up challenge
Neat that they got it working in the browser.
FreeCAD is becoming like Blender and Inkspace - incredibly robust and capable and equivalent in most cases to the commercial alternatives.
I find the rendering side of things under developed though.
FreeCAD has become much better, no denying it.
"Amazing" is however not the word I would use though, the UI is still very convoluted and very hard to learn.
The worst part in FreeCAD, and which remains true to this day is the load of minutia you need to know to handle/avoid weird corner cases that you inevitable run into when you start building complex models and where FreeCAD stubbornly refuses to let you carry on with your work.
When you paint yourself into one of these corners, the software is hugely unhelpful when it comes to understanding what you did wrong and how to correct it.
In short, the word "Amazing" only works if you compare it to the absolute abomination the UI was a few years back.
But compare FreeCAD today to, for example, how slick Fusion is, there is still a very, very wide gap.
Finally, the geometry engine, is a somewhat old and creaky thing that sometimes downright fails to compute fillets or surface/surface intersections correctly, so yeah, YMMV.
FreeCAD is however, free software, and not controlled by one of the worst corp. in the world of software: Autodesk. So huge thumbs up there.
For free and open it's truly impressive though. Actually I think my time building iOS UIs in Storyboard was at least as useful as previous CAD experience, since constraints are the foundation of (at least one approach to) designing parts.
Fusion360 at least works on Linux
Photoshop/Lightroom don't.
The fact anyone got a CAD kernel working in the browser is insane. Parsing the vagaries, vendor cruft, and gaping holes in STEP files has occupied a non-trivial amount of my career.
You want to talk about poisoned specs . . .
I did a major project with it in 2019 and it was great back then.
The issues it has are pretty minor. Admittedly I ended up using a fork for Assembly3(IIRC)
Has worked quite okay for me thus far for semi professional & hobby projects
I implemented a full kernel in rust and compile it to wasm https://github.com/ecto/vcad
Minor nit: why does the rendered in-window text use a really awful pixelated font? It looks like what happens when a font gets rendered onto a pixel grid without any hinting or snapping.
https://www.unifoundry.com/unifont/index.html
Perhaps I've been using computers for too long but I actually like the non anti-aliased "sharp" and "pixely" look :-)
As much as I love OpenSCAD, I would strongly disagree with your conclusion.
All the OpenSCAD language can do is boolean operations and moreover, the engine can only implement those on polygonal (triangle actually) meshes.
That's a very far cry from what a modern commercial CAD engine can do.
For example, the following things are very, very hard to do, or even specify using OpenScad:
- Smooth surfaces, especially spline-based
- Fillets / Chamfers between two arbitrary surfaces
- Trimming surfaces
- Querying partly built models and using the outcome in the subsequent construction (e.g. find the shortest segment between two smooth surfaces, building a cylinder around it and filleting it with the two surfaces, this is an effing nightmare to do within the confines of OpenSCAD)
- Last but not least: there is no native constraint solver in OpenSCAD, neither in the language nor in the engine (unlike - say - SolveSpace)
I might have misunderstood what you're looking to do, but, yeah, digging deeper feels very much like the right thing to do.It's also extremely slow: it implements chamfers and fillets using morpho, and if you have a large number of fillets, the morpho algorithms (minkowski / hull) are very much non linear in time on polygonal meshes, which leads to compute time explosion if you want a visually smooth result.
$fn = $preview ? 32 : 256;Edit: Forgot I also got doom running in openscad: https://www.mikeayles.com/blog/openscad-doom/
and doom running in openscad in the browser at https://doom.mikeayles.com/
Unfortunately aside from the better sketching the engine is not as capable as OpenCascade.
Is there an open-source "cleanroom" re-implementation of the Parasolid kernel? I just like the way Solidworks does things vs. Autodesk.
By the way working in SolveSpace is extremely fast if you use keyboard shortcuts - almost everything can be dome with a shortcut key. No need to search for them - you can learn them by looking in the menus.
A very short "crash course" on the navigation is in the "Quick start:" section at the bottom of the download page. https://solvespace.com/download.pl The "demo video" on the home page is also a great starting point.
After that the "Tutorials" and "Reference" go in as much detail as one may want :-)
To pan around the space, use the right mouse button. To zoom, use the scroll wheel. To rotate, use Shift+Right mouse button.
Why not play with it a little bit before dismissing it so suddenly? I don't need to mention to a Solidworks/Autodesk user that CAD tools take some patience to understand properly :-)
Or middle mouse button / click the scroll wheel.