CAD library organization

Since we got stuck at home shelter-in-place, I figure out I should clear some of the long overdue wish list items. One of which is to re-organize our CAD library so it is easier to share between students for collaboration.
I am almost done with re-organizing and the new structure works very well. All the vendor parts are moved to a Library folder so CAD projects of any season can reference all the vendor parts. Inventor can now resolve all these references automatically without asking “where are they” even on different students’ laptops. All they need to do is to go to GitHub to pull down the CAD Library repo as well the CAD repo for the season and the part will build.
Having said that, I do run into one issue that I don’t know how to get around and hence the post here.
In Inventor, one could create an assembly that uses standard nuts and bolts from the Inventor “Content Center”. I found out the references to these parts don’t get resolved on another student’s laptop. After playing for a while, I developed a theory why. I think when you select a part from the “Content Center”, Inventor goes to the “Content Center database”, extract the part out to a cache folder “[UserRoot]/Documents/Inventor/Content Center Files”. So if student A created the assembly that references some standard nuts and bolts, the CAD files for these nuts and bolts will appear in his/her cache folder. Now student B sync’d the project and tries to open the assembly. Inventor will try to look at the cache folder on student B’s laptop and not able to find the nuts and bolts files and will ask student B where those files are.
If this theory is correct, how do I fix the issue? At first, I thought I can copy the “Content Center database” to our CAD library. The “Content Center database” is found at “/ProgramData/Autodesk/Inventor 2020/Content Center/Libraries”. But then I thought the “Content Center database” is only referenced when one tries to pick a part from the database and Inventor will then extract the part out to the cache folder. If one just open an assembly that has references to those parts, it will just find them in the cache folder and will not go to the “Content Center database”. In other words, it will still prompt the user on “Where are those parts?”. I could experiment with it some more but I thought other teams must have experience in this issue and may have a solution already. So I would ask here. Any thoughts?

This is a great way to spend your time at home! We did the same thing a couple months before kickoff, and the result was a much better CAD experience. Not having to download COTS parts during build is a big time and headache saver.

This was also our first year using Inventor’s Content Center, and it’s pretty great. I will attempt to help you solve the issue you’re having by explaining how we set our file management up. Hopefully this helps, and apologies if I misunderstand something in your post:

This isn’t 100% necessary, but I recommend, at the very least, to look into grabCAD’s workbench for collaborative CAD work. It’s essentially GitHub for CAD, and tons of FRC teams utilize it. For this post, I will use grabCAD’s file structure to explain some things, but I think that it is probably very similar to how ever you’re doing it with GitHub.

I’m not sure about the cache folder part, but you are correct - a standard bolt/nut/retaining clip/etc. is only “created” after you reference it for the first time. For example: if this is the first time you’ve used a 3" 10-32 bolt in all of your inventor project, you will need to upload this file through grabCAD. After you upload/push this file, everyone on your team now has this specific bolt, and it won’t need to be created/pushed again. This leads to your next problem/question: how do we actually “share” these files through the collaborative platform instead of through a local folder?

To do so, you must first make sure you have an inventor project (ipj file) set up. A project is a way to organize and access all files that are associated with a specific design. We create a new project for every year (2020 Comp Robot, 2019 Comp Robot, etc.). In each project, there is “Design data”, which includes parts, assemblies, standard components that are unique to your robot, and libraries of off-the-shelf components such as fasteners, fittings, or electrical components. For more information and how to set a project up, this is a great resource. If you have any questions, let me know and I’ll try to help!

I’m not sure if you’re using a custom content center that you’ve created, or just inventor’s base content center. Either way, you must transfer your (custom) content center into a new folder located in your newly made project folder. You can find the base content center file in C:\Users\Name\Documents\Inventor\Content Center Files\R2020 and copy that en-us folder if you wish to use an uncustomized content center. Before you place this folder in your IPJ directory, I recommend making a folder labeled “Inventor Support” or something of the sorts. Inside that folder, I also recommend creating a “Content Center” folder, and paste the en-us folder there.

Now we have to configure our project file to recognize that we do not want to use the default folder for the content center. Make sure that you’re in your project, and head navigate to here, and browse to your newly placed content center folder in your grabCAD folder:

You can look at my file path to hopefully clear some things up.

The next step only needs to be completed the first time the project is accessed - however, this will need to happen on every users’ computer. In inventor, go to ToolsApplication OptionsContent Center. Click Browse under Location of Libraries and browse to the location within your local grabCAD directory in which you placed your content center folder.


Now, any updates to the content center should be pushed through grabCAD and be accessible to everyone on your team. I apologize if I missed something - please let me know if you have any questions, and I will try to answer them. It is all a bit confusing, and I have to stop to think about it, too :slightly_smiling_face:

5 Likes

JackTervay
This isn’t 100% necessary, but I recommend, at the very least, to look into grabCAD’s workbench for collaborative CAD work. It’s essentially GitHub for CAD, and tons of FRC teams utilize it. For this post, I will use grabCAD’s file structure to explain some things, but I think that it is probably very similar to how ever you’re doing it with GitHub.

Regarding grabCAD’s workbench, I will look into it further but it sounds equivalent to GitHub from sharing’s point of view. GitHub works well for us for now and it is not the issue anyway.

JackTervay
I’m not sure about the cache folder part, but you are correct - a standard bolt/nut/retaining clip/etc. is only “created” after you reference it for the first time.

That’s exactly what I meant by “extracting from the Content Center database to the cache folder when you first reference it”. That’s caching. Any subsequent reference to the part will be found in the cache folder. Like I said, I have copied the whole cache folder to our CAD library folder so it becomes part of our CAD library and push it up to GitHub. Any students sync the CAD library repo will get the parts. So sharing the files is not a problem. The problem is that as we reference more and more standard parts from Content Center, we need to keep updating our CAD library with the addition files (make sure there is a copy of the new files in our CAD library folder and push them onto GitHub). I wish there is a way to “extract all files” from the Content Center database and push all to GitHub, then there is no problem. Regarding the inventor project file (i.e. .ipj file), we did set it up. That’s how we tell Inventor how to find our CAD library.

Regarding custom content center, that’s pretty much our CAD library which is a problem we already solved. We can share this library between projects of each season as well as between students.

Regarding the step to change Tools-> Application Options->Content Center, you don’t really need to do that if you have already changed it in the IPJ file since the path in IPJ will override the Application Option anyway. So that’s not necessary to have every student changing their Inventor options. Once the IPJ is changed and pushed onto GitHub, every student will have the same project file.

I think the only issue I have is to avoid the burden to put on the students that if they are referencing a new standard parts in the assembly, the corresponding CAD file will be created in the CAD Library. So at the end, not only they must remember to push the changes of the CAD project onto GitHub, they also need to push the CAD Library repo back onto GitHub for the new standard parts created there. This is equivalent to writing code for the project involving two repos and you just pushed updates on one repo and forgot to push the changes on the second repo. So now everybody sync to the repos will have a “build break” because some new files are not pushed.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.