Live data from Hacker News

CADmium: A local-first CAD program built for the browser

mattferraro.dev

21–30 of 243 posts

Re: CADmium: A local-first CAD program built for the browser

#22

Earlier quoted context omitted.

Ondsel is FreeCAD without the sadistic UX.

No, it's not, not really -- because the UX work going into Ondsel is going into mainstream FreeCAD (if it didn't originate there, and a lot of recent work did). I am sure Ondsel will vary somewhat in UX over time (because they will be somewhat ahead of what they upstream) and because a few things may be unavailable for open-source licensing. But most of what has changed in terms of UX is already in 0.22-dev. For exam…

Aside from the cloud bits I think the most notable way they are different at the moment is that they have their new configuration variable sets functionality, which maybe core FreeCAD hasn't agreed on yet (it's also not finished I believe).

Ondsel are seemingly using that to integrate with recalculation of designs in the cloud compute facility (think Thingiverse customiser but a bit less basic).

I eagerly anticipate that in mainstream FreeCAD, because none of the alternatives are great -- e.g. Spreadsheet is simultaneously cool, powerful and utterly exasperating once it's well-integrated. I am sure we will see it.

Re: CADmium: A local-first CAD program built for the browser

#23
post #6

As someone who learned CAD on autodesk (inventor) ages ago, the only free modeling software I could grasp after working for a few hours was Onshape. Usability seems to be a real problem in this space, Freecad for example seemed to have a billion ways to do the same thing, but in the end only one of them was the real way, some tutorials leaving me with a model that doesn't conform. Awesome work! It seems like a hard p…

Onshape is an excellent tool in terms of performance and usability. As total newbie I was able to design fully working robot arm with 3d printed joints, design all the motors, their placements and other stuff and even animate movement. The model even worked on my phone, while it was not very practical...

Re: CADmium: A local-first CAD program built for the browser

#24

What an excellent summary of the CAD kernel landscape. Favorite quote from this: "The only popular open-source b-rep kernel is OpenCascade, which is the Pontiac Aztek of b-rep kernels: It is ugly, barebones, and it might break down on you, but it is drivable and you can get one for free." SO true!

I laughed out loud at the tuk-tuk analogy.

Re: CADmium: A local-first CAD program built for the browser

#25

It appears to be written in Rust. Why package it as a wasm app inside of electron instead of compiling to native and using wgpu directly?

You can have much better OS level integrations with Electron (e.g. filesystem), also assuming that you want to reuse as much code as possible.

Re: CADmium: A local-first CAD program built for the browser

#26

Earlier quoted context omitted.

No, it's not, not really -- because the UX work going into Ondsel is going into mainstream FreeCAD (if it didn't originate there, and a lot of recent work did). I am sure Ondsel will vary somewhat in UX over time (because they will be somewhat ahead of what they upstream) and because a few things may be unavailable for open-source licensing. But most of what has changed in terms of UX is already in 0.22-dev. For exam…

Aside from the cloud bits I think the most notable way they are different at the moment is that they have their new configuration variable sets functionality, which maybe core FreeCAD hasn't agreed on yet (it's also not finished I believe). Ondsel are seemingly using that to integrate with recalculation of designs in the cloud compute facility (think Thingiverse customiser but a bit less basic). I eagerly anticipate…

Correct. Variable sets (varsets) is partially merged into upstream main development branch. Other work is ongoing. Varsets are much more important than just our web service though. Being able to configure and control variants in a design is underappreciated and will be essential to having complex assemblies with multiple copies of identical parts. Imagine a hinge that is reused in many places in the design. The current angle of the hinge should be controlled on a per-copy basis. When you change the angle, you don't want all copies everywhere to reflect the new state. This is a variant.

Re: CADmium: A local-first CAD program built for the browser

#27

It appears to be written in Rust. Why package it as a wasm app inside of electron instead of compiling to native and using wgpu directly?

Presumably because there aren't many mature Rust GUI options at the moment. Egui is pretty good for what it is, but it's "immediate mode" which comes with some restrictions. Slint seems promising but the developer experience was a little rough when I tried it a couple months ago. Not sure the licensing is compatible with this project either.

Re: CADmium: A local-first CAD program built for the browser

#28
post #6

As someone who learned CAD on autodesk (inventor) ages ago, the only free modeling software I could grasp after working for a few hours was Onshape. Usability seems to be a real problem in this space, Freecad for example seemed to have a billion ways to do the same thing, but in the end only one of them was the real way, some tutorials leaving me with a model that doesn't conform. Awesome work! It seems like a hard p…

SolveSpace is good. It's the only free CAD software I've found that's remotely usable (yes including FreeCAD). Unfortunately it has some pretty big missing features, notably bevels & filets.

Re: CADmium: A local-first CAD program built for the browser

#29
I think this is amazing. I'd love to get to the point where we are with open source EDA with open source physical CAD.

> Another downside is that solving this kind of matrix equation gets prohibitively slow when you have a lot of unknowns, which gives rise to the conventional wisdom that individual sketches should be small and simple.

I've gotten quite deep into this, and this is really not a problem in practice[1]

1. FreeCAD's main issues with constraint performance come from a redundant & unnecessary GUI layout algorithm, which falls over with just a few hundred constraints.

2. Eigen's sparse QR decomposition benchmarks at 18s for 2200 constraints, which is really not too bad

3. There are sparse QR decomposition libraries that can handle 500k-1M constraints in about 18s. I can't imagine a CAD sketch with more than a few thousand constraints.

[1]: https://github.com/FreeCAD/FreeCAD/issues/11498#issuecomment...

Re: CADmium: A local-first CAD program built for the browser

#30
I'm very excited about what Matt is building, the world desperately needs a good open source parametric CAD package. One where the UI/UX is designed to be as "easy" to use a SolidWorks.

The biggest reason this hasn't happened so far is the lack of a truly capable parametric kernel, Truck, the kernel that Matt is using looks like an incredible project and exactly whats needed. The only other kennel till now that been close to being whats needed is OpenCascade, but its lacks important features, is buggy and at times quite unstable.

Once Truck (and CADmium) lands stable fillets (surprisingly one of the hardest features to make stable) it will prove itself as the perfect successor to OpenCascade and and the perfect platform to build the future of open source parametric CAD upon.

Post reply on HN