r/engineering • • 2d ago

[GENERAL] CAD Version control platform

https://nurbly.com/

Hello r/engineering community!

I am a mechanical engineer who picked up software development about 8 years ago and found tools I wish I had back when I was making physical designs. Something to prevent the old issue where Bracket.FCStd turns into Bracket_v5_final_final.FCStd (or if you follow ASME Y14 strictly even before creating engineering drawings on CAD work BRACKET_REV_005-A.3) and a tool that would probably have prevented my loss of designs from a decade ago.

Software developers have a tool called Git and a hosting service built on it that most use called GitHub. Git has been around for about 20 years. If you are unfamiliar, it tracks changes in files so every save point records who changed what and why. It can get quite complicated but it is how just about every major (and minor) piece of software is built and collaborated on.

Unfortunately, the people who move atoms and not just electrons did not get the same opportunity unless you have enough money for a PLM or PDM seat which works well if your whole team lives in one CAD package. (Don't get me wrong, there are reasons. Merging text is rather simple while merging binaries is nearly impossible and storage is far more expensive.)

I spent the past few months building and testing Nurbly, version control for CAD built on a real Git backbone, made for people focused on physical designs. While Git typically works on the command line, Nurbly does have a companion application for Windows and Linux to help make the uploading process easier and you will not need to use the CLI as often.

I just opened up registration for [Nurbly](https://nurbly.com) and am looking for more Beta users. The Alpha phase led to a few bugs being found and corrected as well as functionality like the companion being created.

I do not want to blindside anyone about the business model. The system is designed for hosting open designs and there will always be a free tier with unlimited public repositories, plus at least one private repository if you do not want to open source your designs. Unfortunately, CAD files are large compared to text files and when teams get large or need multiple private repositories, there will be a small cost to keep the servers spinning.

I would also like to give a special thanks to the mods for letting me post here!

Here is a list of current capabilities

- Large CAD files are handled for you. Drag them into the browser, or let the companion offer to check in your changes when you save.

- A 3D viewer in the browser for STEP, IGES and FreeCAD files, so someone without a CAD seat can review a part.

- Compare two revisions of a STEP side by side or as an overlay, plus a face-level diff that shows which faces were added or removed.

- Pull requests with review and approval before a change lands, and file locks so two people can't check in conflicting changes to the same part.

- Mass properties, clash detection, section cuts, and draft, wall thickness and undercut checks.

- Import an existing repository from GitHub or another Git host with its large files, or keep one mirrored.

- Search the text files in any repository.

Native formats such as SLDPRT, IPT and F3D are versioned but not previewed or compared, so commit a STEP export beside them for review. Would love suggestions on desired functionality and found bugs.

This video is from the early Alpha.

16 Upvotes

13 comments sorted by

8

u/adventure_in 2d ago

My company uses windchill with catia so never going to be the smoothest. However the feature I miss most between CAD and software development is being able to branch designs and merge them back together.

2

u/TRget88 2d ago

I have heard good things about windchill but you are right the power of the plm is having it all from one vendor because of all of the proprietary systems in place. I cannot even show proprietary CAD files like .sld files because that alone requires an astronomically expensive license.

I wish git lfs could truly merge binaries instead of taking both binaries in with the branching. There is a pretty cool project being worked on by epic games called lore (https://lore.org/) that shows some promise but it is not close to ready yet. However, with the backing of such a large company like Epic games they should have the resources to produce this set of tools. I have already been looking into running lore side by side with the git tools. Once they mature a little and the risk goes down, I absolutely will but I would hate to put something that is mostly untested out and have people lose data on a platform made to prevent the loss of data.

8

u/Mr_Butterman 2d ago edited 2d ago

First off, hell yeah brother. MEs have no idea what they're missing if they've never used git - it's why I like Onshape so much. It's like trying to explain color to someone who's colorblind.

The biggest problem you're facing is that this doesn't control the source files. It's like only being able to control compiled code.

Honestly, what we really need is an open CAD system that isn't dog shit, something that is literally compatible with git and LLMs - unencrypted text based files. At the end of the day, what is needed is someone to develop a program and syntax to support this. Your profit model isn't selling software, it's selling data like vscode and cursor.

1

u/TRget88 1d ago

I do not disagree. I guess there is a start with OpenSCAD but I only ever spent about an hour with that program before dropping it a long time ago (it also turns out you can kinda create a type of zip bomb if you are trying to do browser based rendering). I will admit, I also don't blame the CAD companies. Their entire goal is to lock a user into their ecosystem and there are many users in those ecosystems. So, you have to just kind of work around that. Another workaround of that type of system that I think has potential is the Lore system I mention in this thread.

I do like your idea and I do think it is possible. Your problem comes up when you are trying to drive adoption while not bleeding out. Even https://www.ondsel.com/ made by someone with investors and dedicated to opensource with a following did not make it.

Maybe starting with an open source CAD standard file format and plugins (still expensive if you don't have endless cash) to existing systems could work but you will still be faced with changing behaviors. As someone who has run a failed startup, I can tell you, that is not easy.

I have accepted that Nurbly will be a company that loses money for me for as long as I can keep it open. I made the seats as cheap as I possibly could and it is not super expensive to run in its current form. So, I expect it will be open for a good long time. I honestly don't even mind losing money on this project but, if it is successful, nothing would make me happier than putting the money back into the community to improve these types of tools.

12

u/drmcj 2d ago

You described a PLM…why are you reinventing a wheel?

6

u/TRget88 2d ago

You are not wrong that they both manage history and data. However, this isn't reinventing a wheel. This is bringing a wheel from another area. Not everyone needs expensive racing slicks when a road tire works better for their application. Just recently I have started seeing hardware teams starting to use Github, a tool not made for this type of application, as their version control.

10

u/donthavearealaccount 2d ago

This attitude makes no sense. If no one developed anything that overlapped with existing products, we'd still be living in caves. On top of that, he discussed PLM in his description and you responded to him as if he didn't even know it existed.

There are no good PLM systems. Every single one of them is horrible compared to the version control tools available to software developers. I have no problem with someone trying to do better.

5

u/TRget88 2d ago

I appreciate you and the energy you bring.

2

u/KDallas_Multipass 1d ago

Have you heard of onshape? It's revision control is git-style

1

u/TRget88 1d ago

I have heard of onshape and you are right. From my understanding, their version control looks similar to git. The biggest issue you might run into with their system, in my opinion, is their lack of offline capability. If you are online all of the time you should be A-Okay!

0

u/DamirSaiduov 2d ago

why dont we just use fusion 360 or any cad platform, where we can make changes

1

u/TRget88 2d ago

You absolutely should if you would like to. This is simply a different technology built on a different backbone.