Live data from Hacker News

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

mattferraro.dev

111–120 of 243 posts

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

#111
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.

As the complexity of a model increases, so does the complexity of determining correct dimensions and object placement. At some point the work becomes complex enough that I spend most of my modeling time cleaning up equations rather than finishing the model. A solver would theoretically replace many of the equations.

As a trivial example, let's say I want a square and a diamond and I want the diamond's corner to touch the square on the side. It would look something like this:

square([10, 10], center=true); dx = 5 + 5 * sqrt(2); translate([dx, 0, 0]) rotate([0, 0, 45]) square([10, 10], center=true);

This is a simple case, but what if either shape is replaced with a hexagon, a gear, or a duck? What if I decide there should be some other shapes between them? What about...?

Ideally, it seems like I should be able to tell OpenSCAD that the square contains a reference point on one side, and one of the corners of the diamond is also a reference point, and OpenSCAD should translate the diamond however is needed to make those two reference points match.

Alternatively, I should use some other software that lets me do something like that.

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

#112

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…

What a concise, informative answer this is. You write well.

FreeCAD’s (well, OpenCascade’s) issues with fillets and chamfers appear to be most acute with a subset of your third point: sometimes adding one involves the new feature fully consuming another edge. This is unsolved in OCC and it’s why sometimes even infinitesimally changing the depth of the fillet or chamfer is enough to stop an edge being destroyed.

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

#113
Why would anyone want to do CAD in a web page?

JavaScript should be limited to 1997 Netscape 3.0 performance to stop this kind of garbage. And WASM should never have been attempted, and should be removed.

Write real native software if you’re trying to make something good for end users.

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

#114

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…

"The biggest reason this hasn't happened so far is the lack of a truly capable parametric kernel"

Does parasolid not fit this requirement? The capabilities I've seen in Plasticity are very impressive. Or do you specifically mean FOSS?

The more I use CAD platforms, the more I develop the sense that general-purpose CAD is much less useful than single-purpose applications that provide tailored solutions to narrow problem domains. SVG/DXF/DWG output is a plus, but I think a drawing software that works for high-volume machine parts, one-of-a-kind architecture, highways, 50-mile pipelines, circuits, urban transit plans, and art is the wrong direction. I use industry standard roadway design software and a "road" does not exist in the object model. Horizontal, vertical, and sectional components are all independently defined despite these things being inseparable and having some very obvious and well-specified rules about their interaction. I really think designers should spend more time thinking about outcomes and less time telling the computer how to display them.

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

#115

Earlier quoted context omitted.

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.

It has that in common with CAD software which has 5 figure annual subscriptions. Find me a CAD user who doesn't notice bugs in the software they're using and I'll show you someone who has <1 hour of experience.

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

#116
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…

People have said the same about browser engines, that it's impossible to start and new one and catch up due to the unfathomable number of man hours invested. But it's happing, Ladybird browser is making incredible progress. With modern tools, the learnings from older engines and the lack of entering debt it's possible for a small team to build things on par or better than 30yo software. I have no doubt that a small d…

There will be significant differences in demands made by the end users of a web browser and a viable CAD system for serious work though.

It is an extremely tough market that many have been shaken out of.

Reliability is a must, particularly on the data representation and exchange front. And those assurances carry ENORMOUS costs. Big money at immediate risk in downstream, physical product if that goes south at any time - spread across multiple manufacturers and other product lifecycle parties.

Lots of workstation compatibility certification work done on CAD kernels.

PLM alone, embedded in many engineering organizations, is a very sticky element for retaining a certain CAD program and certain kernels internally - and it is my understanding that PLM is where the major money is made (not so much on the per seat CAD licensing costs).

New grads are coming out from college today after using CAD company-supplied software in much of their classwork for 4 years.

Many CNC controllers use Parasolid internally for certain visualization and programming operations - machines that will be working on the floor for decades from today.

The fact is that the per seat licensing cost and lock-in tradeoff is simply not a serious issue for many - and such costs have become arguably marginal for even small design houses and manufacturers.

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

#117

Why would anyone want to do CAD in a web page? JavaScript should be limited to 1997 Netscape 3.0 performance to stop this kind of garbage. And WASM should never have been attempted, and should be removed. Write real native software if you’re trying to make something good for end users.

It looks like they also have an electron program.

It might be sensible to run CAD in a web page hosted by a server on your local network? I have no idea if they added functionality to have the crunchy bits run on the server instead, that’d be a neat trick.

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

#118

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…

Have you looked at Build123D?

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

#119

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…

Have you looked at Build123D?

I haven't. Thanks for the pointer!

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

#120

Earlier quoted context omitted.

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.

You think professional software is bug-free? I have some experience with NX and I can tell you it’s not exactly bug-free either. It’s very likely better than FreeCAD, but requiring zero bugs is just unrealistic.
Post reply on HN