Remix.run Logo
hrmtst93837 2 days ago

GUI CAD is fine for freeform work. For parts that live in a repo and share dimensions with other parts, code wins because you can diff changes and change one number without replaying a pile of clicks six months later.

injidup a day ago | parent | next [-]

This is not true. Onshape was built with versioning and diffing as a first class capability.

https://cad.onshape.com/help/Content/Document/compare.htm https://cad.onshape.com/help/Content/Document/versions_and_h...

Code diffing of something that is very visual is quite poor UX.

IshKebab 2 days ago | parent | prev [-]

Yeah that would be amazing, but sadly nobody has made that work for any CAD of reasonable complexity.

In reality, CAD version control is done just like assets in the artistic world (game design, animation, films, etc): with file locks.

I used to work for Dyson. There's no way you're designing a vacuum cleaner with code-based CAD. We used TeamCenter (which is probably the worst software I've ever used, but for unrelated reasons).

rirze 2 days ago | parent [-]

I mean, the CAD software, even though visual, has to retain some internal state of the model, right?

It's possible, but I don't think there's enough pressure for these companies to support exposing that state to the user.

IshKebab 15 hours ago | parent [-]

It does but the internal state is not going to be very meaningful in text form. Edge 4826 connects to vertex 7264.

Think about SVG - you can do some simple stuff procedurally but you're never going to create something like the SVG tiger in code, nor would it be remotely useful to read the source SVG for the SVG tiger. Most CAD is like that.