Hacker News new | past | comments | ask | show | jobs | submit login

Mechanical CAD doesn't have to use binary files.



That's true, although most native formats of mechanical CAD programs are binary so I think a standard tool would need to support it. I've actually been searching online for solutions for a while as well as thinking about trying to solve this problem. Ideally, you'd want to be able to see text such as:

   - Feature3, hole: diameter 3.0mm
   + Feature3, hole: diameter 3.1mm
   - Feature4, extrude: Sketch 1: dimension4 400mm
   + Feature4, extrude: Sketch 1: dimension4 425mm
To get there, I'd propose a new CAD interchange format as the current ones are more like polygon meshes. I prefer this over some standard API as that would probably be broken in 10 years when you go back and check a part's history but you're not using the same CAD program anymore. Then, my hypothetical standard version control system would:

- control read/write access to files to prevent unintentional file changes due to rotated views, etc. The user would have to manually select which files are checked out/active. This might require a plugin to the CAD programs, so I may rethink this.

- Upon commit, the user adds comments, then all changed files are exported to the new interchange format

- text based diff is generated

- CAD with color highlights is generated

This is a pretty intensive operation, but it doesn't need to be instant. I think I would allow branches and make a workflow to automatically show conflicts based on diffs and CAD, then the user would manually resolve conflicts, declare a branch merged and select the files to go into main branch. After typing that, I am wondering if centralized control of read/write and one branch is the only way.

In the short term, I think an MVP could be scripted: - Before commit, user selects which files are to be kept and other files are rolled back to previous version and writes the commit message

- Updated files are exported to STL (there are many tools available to compare STL files visually)

- A tool generates combined/subtracted STL files for each updated file

- git commit

- git notes to cross-reference the combined/subtracted STL to the commit message

- Nice to have: built-in STL viewer

Github is supposed to have STL Diffs but it took me forever to find an example on github because everyone commits files as _v1, _v2 (highlighting my complaint that version control is not part of standard practice). Only to find out they removed this feature.

Grabcad has been great for me but I need to find an on-premises solution.


We don't need yet another CAD interchange format.

I have been working on STEP (ISO 10303) for 35 years. Every few years someone comes along to a meeting and declares that we need to start again and adopt their new model, they waste everyone's time for a bit then go away again.


That's interesting. Did some light reading just now and I see that STEP is already considering feature-based descriptions. I have lots more reading to do, I am pretty ignorant about STEP!




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: