Introducing CacheCAD

I’m very excited to introduce CacheCAD to the FRC community.

CacheCAD is a file management interface for Google Drive developed with Team 8096, Cache Money. Unlike the Google Drive app, CacheCAD lets you selectively sync your files with a simple interface. It aims to be a true GrabCAD replacement.

Google Drive is ideal because all user setup, permissions, and sharing settings are handled through the Google web interface which many teams are familiar with and already using. Because all data is hosted on Google Drive, you don’t need to worry about CacheCAD having accessing to any of your data.

CacheCAD is free for non-commercial use and available for download, but donations to support CacheCAD’s continued development are welcome and appreciated.

We’ve done some pretty extensive testing on CacheCAD, and we’re at over 10k successful file transfers in beta testing. There’s definitely still a few bugs and crashes here and there, so feel free to reach out for support, and please keep a backup of your files (no one has lost data that I am aware of, but better safe than sorry).

If you run into any unexpected bugs or crashes please reach out via DM on CD or send an email to [email protected] (students please include a mod or mentor in message / emails)

101 Likes

This may be a silly question but I’m not the best with CAD, is this only for solidworks? I see the file types and I don’t see why it couldn’t be used for them but I’m just double checking.

1 Like

This is not exclusively for Solidworks, although the teams that have tested it so far are all using Solidworks. It should work with any file type you can store in Google Drive which would include Autodesk Inventor, Fusion 360, and PTC Creo files.

1 Like

No you can use it for any local file based CAD platform. Anything you used GrabCAD for should work with CacheCAD.

Mike has put a lot of work into this project and it is what is allowing our team to continue to use SolidWorks. Huge thanks to him for working on this, and I’m sure he and we are ready to help out any teams looking to utilize it.

8 Likes

100% will be trying this out on Monday. Before even trying things out, all I can say is THANK YOU.

I spent my afternoon at work looking into Solidworks PDM and other various solutions, and can honestly say I’ve got a splitting headache from it :sob:


Edit: @Mike_Schreiber or @Nick_Coussens , do you know if anyone has tested using an educational Gmail account with CacheCAD? Something we’ll definitely try out ourselves regardless, but figured I’d ask anyhowbb

5 Likes

We on 8096 have been using CacheCAD with our CAD in a Google Workspace Shared Drive owned by an edu account and accessed for the most part through edu accounts, and it’s been working great. Obviously no guarantees that your school has set up the permission properly to allow it, but there’s no issues inherent to educational accounts.

Edit: turns out we’ve actually been using our personal accounts, not school accounts. This is what happens when I try to answer a question about a tool I haven’t personally used :sweat_smile: that being said, Mike does agree that it should work, assuming it’s not blocked by your school’s configuration.

1 Like

What Asher said above.

1 Like

Schools generally block unverified apps. Google OAuth consent also limits testing to 100 users until an app is verified (this was the road block to public release until now).

CacheCAD got through the Google verification process last week, so I haven’t extensively tested educational accounts, but I have confirmed it works with my umich.edu email account. I can’t guarantee that an individual school won’t block access, but if they do you’ll know at the log in screen when you try.

8 Likes

Does it support any kind of version control?

Google drive does this. There is a setting in CacheCAD where you can choose between keeping previous versions for 30 days or forever. This is just taken directly from the options Google Drive has.

This setting is by default turned off (meaning it will only keep previous versions for 30 days) in CacheCAD. We (8096) haven’t felt the need to change this as it is very rare that after 30 days we would need to find an older version of a CAD file, and setting it to forever will start to take up a lot of Google drive space.

I also occasionally make a copy of my local CacheCAD folder just as an extra backup to Google drive.

1 Like

I have heard some questions about a CAD library being made available to work along with CacheCAD. 8096 is a SolidWorks team, and we have been working on a new comprehensive SW library with files from all common FRC vendors.

This is still a work in progress; so far the REV and ThriftyBot portions are complete and a decent amount of common McMaster/hardware items. I am actively working on completing the AndyMark portion, while other portions like WCP I have been putting off as I know RC has a lot of new stuff coming soon that would result in me re-saving a bunch of things.

Some of the features this library will have that I have been excited about doing for a long time:

  • Magnetic mate anchor points on all parts that make sense to allow for drag and drop assembly building. For those unfamiliar, magnetic mates is a way to connect parts together in an assembly by simply dragging them close to each other until you see their anchor points connect. This results in an option to assemble whole subassemblies very quickly, while also being able to change, iterate, and move things around easily without having a bunch of mates break. These will generally be on parts that have an axial feature, shafts, parts with shaft bores, etc.

  • Mate references for parts where magnetic mates do not make sense to use or are not able to work. For example hardware like screws will have mate references set up so that they auto-snap to holes when drag and dropped in.

  • Configurable assemblies of family’s of parts to allow for quickly changing/iterating/etc. what part of size of a part is used. Some examples of this are a single assembly file containing every 1/2in hex gear from a vendor where you can change the configuration to choose which gear is used, same with pulleys, sprockets, hex spacers, types of wheels, etc.

  • Configurable part files for things like square or rectangular tubing from vendors to choose standard 1/2in length intervals to allow for quick assembly of structure assemblies without needing to generate many custom parts files.

  • Configurable assemblies for COTS assemblies where it makes sense, such as planetary gearboxes to choose motor, which stages, etc.

  • Various part template files to be able to quickly create custom parts that start from a COTS product like extrusion profiles, shaft profiles, etc.

  • A library of useful sketch blocks to make concept sketches and various features easy to implement. Examples include motor profiles with mounting patterns, profiles of gearboxes such as Ultraplanetary or MAXPlanetary, Nut pocket profile that can be cut with 1/8 bit, etc.

  • Consistent appearances that have been optimized to result in quality renders through the SW Photoview360 program to minimize time and effort needed to generate.

  • Accurate weights, either with entered override weights derived directly from product pages, or with accurate material assignment.

  • Every file name has the description of the part, typically derived directly from the product page. Every file has the vendors part number entered in the description field so that parts can be sorted by part number if desired in file viewer (description field needs to be turned on in file explorer for each folder, if anyone knows how to turn a field on for all folders I would love to know).

  • Custom library of 8096 parts that we have standardized for use on various things. Some examples include various electrical components mounts, wire toe-downs, the latest version of the Coussens Swerve Module, and others.

If anyone has any recommendations or thoughts about what they would like to see in the library, please let me know. I may create a Trello or something similar on a Google sheet to track progress on the library as I work on it and make it public so people can see the progress.

I fully intend to have this ready to be published publicly before kickoff.

19 Likes

This is good stuff! Impressed with things that I have been messing with so far the last couple hours. Using it with our existing gsuite system with no issues so far.

One bug I came across is loading a project that happened to have a / in the name of the google drive folder, but that breaks the local version of the project for obvious reasons. Quick fix was to rename the google drive folder of course, but the desktop client just crashed with no obvious error message.

Brennan good finds! Thanks for the feedback.

I didn’t even realize you could put ‘/’ in names on Drive. I’ll have to add some checks for this and other characters that Windows doesn’t like in file or folder names.

Fun fact, I recently learned Windows and Google accept emoticons in file names, but I don’t have encoding setup for them correctly so they’ll crash CacheCAD for now.

Renaming a project on Drive should work, but you need to reload the project after you rename it. If you do this the local folder name and the drive name won’t match, but it will keep them linked. If you rename the local folder name it will just create a folder with the old name when you load. I suppose, a better solution would be to prompt the user that the local folder and drive folder names no longer match - I’ll add that to my list.

1 Like

Thank you Mike/8096 for all your work and especially for sharing it with the FIRST community. This will definitely be a useful tool.

1 Like

Cash-cab GIFs - Get the best GIF on GIPHY

14 Likes

I found that having it be an actually configurable assembly, as opposed to a part, was really confusing to students. When trying to delete the gear, they’d often even up deleting the part inside of the gear assembly, and then everything gets super broken.

If possible, have an equation/design-table driven generation for be file. Or if not possible, just make it configurations in a mutlibody part.

I also had a lot of trouble getting Magnetic mates to work with things like our Shaft template that switched between journaled and snap ring shafts. Needs to change the default concentric alignment with respect to bearings in a plate and it got all messed up.

Everything else and having a great solidworks library sounds like a slam dunk and super awesome.

7 Likes

I’ve definitely had some issues with mag mates as well, but you can always turn them off if need be.

I’ve found that it seems to end up loading a lot slower when it is an equation driven part to change teeth count for example on gears. SolidWorks now asks you if you want to delete the subassembly or the part when you select a part within an assembly and hit delete, so part of my training is to tech to hit delete subassembly when prompted, but I agree both methods have pros and cons.

And yes, magnetic mates aren’t perfect. It does annoy me a bit that you can only have magnetic mate points on a single plane within a part, it limits the utility you can have with some parts. I’m trying to make them as useful as possible but of course parts can always be mated inability traditional manner.

Is it possible to setup the gear generator to be a multibody rather than an assembly?

1 Like

Yes this should be possible. I can experiment and see how each option performs in assemblies. I wonder if moving the file around the assembly may get pretty laggy that way. Also have to decide which method to change which body is active depending on the configuration.

1 Like