Live data from Hacker News

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

mattferraro.dev

101–110 of 243 posts

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

#101

As one of the Solvespace maintainers I have a few comments: 1) You don't want just 2D constraints, 3D is better. If you were writing in C++ I'd say just take our constraint solver (Like Dune3D did). Since you're loving Rust, I can point you to the work of Michael F Bryan who wrote one in Rust and blogged about it here: https://adventures.michaelfbryan.com/posts/constraints-part-... I think his code is over at gitlab.…

You just told the developer of a non-open source project to take your GPL code. That is a recipe for a copyright dispute.

A comment on HN doesn't Trump the GPL on code mostly written by someone else. Also, they claimed to be open source even though they made a stupid license choice.

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

#102

Earlier quoted context omitted.

> lands stable fillets (surprisingly one of the hardest features to make stable) Interesting. Any chance you could explain why fillets are hard(er)?

For fillets to work well they have to connect three important features of a parametric CAD package: 1. Surface tangency matching - perfectly matching the tangent of the connecting surface on either side of the corner. 2. Edge tangency following - you select an edge, and the fillet should be able to follow along all connected tangent edges. 3. Edge reference tracking - when you modify the model further up the feature…

I was subscribed to Shapr3D and had been using their parametric beta before switching to Linux and even in that fillets would mess up what I could do with my models afterwards.

The impression I’ve gotten while learning FreeCAD is that making a CAD ‘just work’ is incredibly difficult and the commercial packages probably have a lot of very messy workarounds and heuristics in place to work like they do.

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

#103
post #97

I really hope CADmium can wean me off of OpenSCAD. With OpenSCAD, I don't really have to think at first; I use a simple language to write modules that build on other modules. The problem with OpenSCAD is there's no solver: I have variables, but no constraints. As I make changes, suddenly I have to think hard and solve the constraints manually and it's easy to introduce errors. However, the problem isn't severe enough…

Can you explain the problem with openscad a little more? I’m not quite following.

Different person but I've had the same experience.

You can't just write code to, for example, "put this line at a 56.7 degree angle and have it end 0.22mm from this surface". You have to break out the trigonometry to calculate how long that line needs to be.

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

#104
Good to see someone is making this. Losing free student access to Autodesk Inventor exposed me to the hideous world of free-as-in-money 3D CAD software, and my interest in 3D CAD fizzled pretty quickly as a result.

On a related note, we really, really need a worthy replacement for EAGLE. It's only a couple years away from EOL, and KiCAD is light years away from being feature-equivalent.

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

#105

Earlier quoted context omitted.

It's elastic license unfortunately: https://github.com/MattFerraro/CADmium/blob/main/LICENSE.md Which is a shame because the AGPL has nearly the same effect & the bonus of unjustifiably terrifying big-corp legal teams.

I'm confused, IIUC the AGPL can be simplified as "you can offer this software over the network, but like GPL the source must be available". Whereas Elastic license is about, "you must not deliver this software over the network as a cloud service". The things the Elastic license is trying to prevent seem very different to me?

In effect, these are the same thing. If you try and deliver the software as a cloud service, you'll need to make the part that ties into your auth & observability stack, at the very least, open source.

Cloud companies are unlikely to be comfortable doing that.

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

#106

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…

I will say that the FreeCAD weekly builds have made massive strides; I believe the toponaming fix is in the latest mainline weekly now and Ondsel have been contributing great work back from their branch as well. I’ve been playing around with the weekly version and using the OpenDark theme. It looks pretty slick. It seems like a really exciting time for open-source CAD (hopefully!).

FreeCAD suffers from the same issues that much open-source software suffers from: it has bugs. Bugs erode user confidence.

Apparently, there are now > 500 bugs open.

When commercial software has bugs, you don't even know they exist often. Sure, but there are also ways to make bug free software, but hardly any open-source software exists that uses those development techniques.

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

#107

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…

I used solid works on my robotics team.

Tried using some other program but I loved the way solidworks let's you create parts, and then some other features where its hard to exactly discribe the exact thing but for me solidworks seemed so much more intuitive.

I dropped my summer internship money on the version which was a few hundred bucks. ...pretty sure it was cuz I got the student or the hobbist deal.

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

#108
post #49

It's exciting to see a new entry into this space, especially one that is trying to create a new kernel. Unfortunately, it seems unlikely to be successful. The top kernels in the industry have been in development for decades by armies of CAGD PhDs and programmers, with funding from automotive and aerospace companies. Getting to table-stakes with the feature set will take a long time. I also question what user problems…

I mean… Onshape, Creo, and Solidworks use the same kernel so it’s not too surprising the UI/UX is similar (I’m speculating for OnShape but given the company history, they probably are). Rhino and the like are geared towards 3D graphics on top of CAD so it’s not surprising either that they’re a Freeform surface modeler first. That being said, I don’t know about the open source part not being a goal. It’s like KiCAD vs…

Onshape and Solidworks (and Shapr3D, and Nx amongst others) use the Parasolid kernel. Without Parasolid, Onshape wouldn't have happened so quickly. It also helped that it was founded by many of the core team behind Solidworks. Parasolid started being developed in 1988. [0]

Creo uses the Granite kernel, which was developed by PTC, starting in 1985. [1]

Onshape and Solidworks (and many others) also license the same 2D solver, D-Cubed, now from Siemens as well (originally from a company founded in 1989). [0]

None of this is to say that it is impossible to start fresh, just that there are insane numbers of person-years of development work embodied in these libraries. To get anywhere near the level of completeness and power will take a lot.

[0] https://www.engineering.com/story/parasolid-d-cubed-and-siem...

[1] https://www.shapr3d.com/history-of-cad/parametric-technology...

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

#109

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…

Without knowing anything about CAD, it's surprising to me that the author didn't try any of these matrix solvers. Particularly since the case of non square matrices with iterative methods is common to many fields.

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

#110
I’m slightly confused by the 2D constraint problem solver, it seems to me like they have a probably sparse, possibly banded problem. Of course, in a high level description a whole lot can be excused under

> In practice many optimizations are made.

And I’m sure there’s a good reason to do physics. But, do iterative solvers like gmres or whatever have trouble with these kinds of problems?

Post reply on HN