I have run into a limitation with the communication between Vault and Inventor and the way Vault categorizes content center files. Autodesk has acknowledged the issue, but doesn't have a solution yet. The issue starts in Inventor and that is where I think a little bit of customization can be done. However, I am not familiar with the Inventor API.
Here is a summary of the issue:
I feel this would be a simple statement that queues off the "As Custom" or "As Standard" radio button in the content center dialog box with a simple IF>THEN>ELSE statement, such as:
IF "As Custom" is selected
THEN iProperties.Value("Is Content") = False
ELSE iProperties.Value("Is Content") = True
-or-
IF "As Standard" is selected
THEN iProperties.Value("Is Content") = True
ELSE iProperties.Value("Is Content") = False
-or-
IF "As Custom" is selected
THEN iProperties.Value("Is Content") = False
IF "As Standard" is selected
THEN iProperties.Value("Is Content") = True
I just don’t know the language that needs to be used for this. If the "Is Content" property can’t be messed with, then even creating an new property that is true/false or 1/0 depending on the “As Custom”/”As Standard” selection you made would work great! Bottom line is I need an automatic way to tell between standard content center files and custom content center files.
If you have a free moment and would like to save the day, I would be EXTREMELY grateful!
I am not sure where you feel a problem lies in the following description.
"Here is a summary of the issue:
I am using CC files with Vault and I am not sure why you would want to change the "Is Content"=True for 'As Custom' Parts. Your statement in item #4 is not true, the 'As Custom' part is still a CC part and can be edited with the 'Replace from CC' or 'Change Size' option. If you set the "Is Content"=False I am sure that the connection to CC is no longer valid which would prevent editing the part with the above commands.
I see no problems with CC files being properly categorized in Vault. Actually the files are properly categorized by the placement of 'As Custom' files in your directory structure prior to checking them into Vault in my opinion. Am I missing something unique to your use of Inventor, CC files, & Vault? I have done extensive customization to CC files and I don't understand your need to change the way this works 'Out of the Box'.
Hope this helps, Paul
Thank you for your follow-up.
For the case where you place a CC part "As Custom" so that you can modify it (example: hole through a screw), the file is no longer a typical CC part, and must flow through our mechanical engineering lifecycle (revision control, etc...). This is how we use CC, which may be different than your use. Since the "Is Content" property stays true, the file gets assigned to the wrong category and thus wrong lifecycle. It would be simple to manually change categories, but I've set it up so that only the administrator can change the state of a released CC part (I don't want to relax this). Other users are allowed to change categories, but you can't change categories of a released file. I hope this clarifies things.
Why would you place a CC part as custom if you aren't going to modify it? Is replacing it or resizing it even possible without loosing your modifications?
Basically, I'm trying to give our users the ability to take a CC part, modify it, save it as a custom CC part, and have it travel through the normal mechanical engineering lifecycle and be controlled accordingly. If I can't somehow flag CC parts created "As Custom", the files will be locked away from the users.
I've created a temporary work around by adding a custom iProperty flag to the CC category rule. The user must remember to populate this custom property before they check the file into vault or they will loose control of it and have to ask an administrator to help.
Hi jeff_jordan,
Q: "Why would you place a CC part as custom if you aren't going to modify it?"
A: It's common to do so with structural steel members, because they are placed at different lengths.
Would it make sense to derive the the original CC part and make the modifications there? Meaning the purchased screw generated from CC would be placed as a standard CC part so that it could be used as purchased if needed, but then you would derive it into a standard IPT template and add the required machining. The result would be the custom machined version would reference the standard CC version, and not have any CC flags.
Just a thought, it might not work for your setup though.
I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com
I think from the bits of information I am reading that you may need to do further investigation into CC parts and how they behave in 'Library' and 'As Custom' locations. And as they say 'Location' is everything.
"Why would you place a CC part as custom if you aren't going to modify it? Is replacing it or resizing it even possible without loosing your modifications?"
Replacing and resizing are definitely possible without losing your modifications. CC files placed 'As Custom' are normally located in a directory that is part of your Vault project 'Workspace' which allows them to be edited. Only files placed as 'Library' parts are located in the 'Content Center' folder in Vault which prevents the user from editing them; however edits to these parts are possible if they need revisions or updates to the 'Family Template' file or the CC table, etc.
"If I can't somehow flag CC parts created "As Custom", the files will be locked away from the users."
The location of the 'As Custom' files allows you to modify them, they will not be locked away from the users unless you desire to do that with a combination of settings in your project file and/or Vault. And if you want to reuse existing designs with the 'Copy Design' capabilities of Vault you would not want the CC files locked away from the users. All of this is possible without changing the 'Is Content'=True property. We do this on a daily basis with both custom CC library files and the 'Out of the box' CC files such as fasteners, fittings, etc.
Hope this helps, Paul
Paul,
Are you using lifecycles with property compliance and released children requirements?
I completely understand what you are saying, but this is not a library vs. workspace issue. It is a lifecycle issue. Consider this...
I hope I explained everything clearly...I'm in a bit of a rush and don't have time to proofread!
Curtis,
"A: It's common to do so with structural steel members, because they are placed at different lengths."
Ah...because you can document the length in a parts list as a length column and you won't need a drawing for it. However, if you needed to add a hole pattern in such piece, you would need and drawing and would want it to follow your standard. Perhaps, there may be times you want to place "As Custom" but have it treated as CC, but there are also times you'll place "As Custom" and want it to be treated as a normal design file. Perhaps another iProperty altogether is needed?
"Would it make sense to derive the the original CC part and make the modifications there? Meaning the purchased screw generated from CC would be placed as a standard CC part so that it could be used as purchased if needed, but then you would derive it into a standard IPT template and add the required machining. The result would be the custom machined version would reference the standard CC version, and not have any CC flags."
Deriving a part fromt the CC is an excellent idea...especially if the CC part already exists in Vault. However, if the CC part doesn't exist, you would have to first add it to an assembly, upload to vault, delete it from the assembly, get it from vault, and then derive from your workspace. Many clicks compared to the "As Custom" toggle. I agree though, this would make a clean part and it would even have the custom iProperties from the templates! I think there is a better way though.
if you open a part that came from cc then run this macro this should make it behave as a normal part...
Public Sub CCNormal()
Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
' Enable all commands and set the subtype to a standard part.
oDoc.DisabledCommandTypes = 0
oDoc.SubType = "{4D29B490-49B2-11D0-93C3-7E0706000000}"
' Optionally clean up other CC related properties.
On Error Resume Next
oDoc.PropertySets.Item("Content Library Component Properties").Delete
Dim dtPropSet As PropertySet
Set dtPropSet = oDoc.PropertySets.Item("Design Tracking Properties")
dtPropSet.Item("Catalog Web Link").Value = ""
End Sub
'Public Sub CCNormB() ' 'Dim oDoc As PartDocument ' 'Set oDoc = ThisApplication.ActiveDocument ' ' ' ' '' Enable all commands and set the subtype to a standard part. ' 'oDoc.DisabledCommandTypes = 0 ' 'oDoc.SubType = "{4D29B490-49B2-11D0-93C3-7E0706000000}" ' ' ' '' Optionally clean up other CC related properties. ' 'On Error Resume Next ' 'oDoc.PropertySets.Item("Content Library Component Properties").Delete ' 'Dim DTPropSet As PropertySet ' 'Set DTPropSet = oDoc.PropertySets.Item("Design Tracking Properties") ' 'DTPropSet.Item("Catalog Web Link").Value = "" ' 'End Sub
Mark,
Thank you so much for taking the time to write this macro. I haven't tried running it because any macro that requires the user to run it would be no different than asking the user to add a value to an iproperty (this can be set as the push of a button in a form).
I would like something that is triggered off of the CC placement menu "As Custom" or "As Standard" radio button. This would make distinguishing between the two automatic.
Perhaps this isn't possible. It sounds simple.
hi, i am not sure about integrating i have not tried it.
maybe you can just make your own button that fires this ccnormal macro and then automatically invokes the 'check in to vault' command or something similar.
maybe you can add the macro to your part template (that you tell inventor to use as a cc template) so that when the user hits save, the macro is fired in the background. the user would never know about it.
i would do some testing to make sure there are no issues first though.
Dear, Jeff,
May I ask what do you mean under "CC category"? AFAIK there are only four standard (out-of-box) file categories in the Vault: Base, Office, Standard and Design (free translation from Russian).
Let assume you mean some custom file category .... which has its own custom categorizing rule, right?
"The only way to separate CC files from normal files is by the Inventor "Is Content" property."
I'm trying to reproduce your scenario, and I don't see the possibility to use "Is Content" property in categorising rule* section. Here "Initial Release Date" is followed by "Latest Release Revision"...no "Is Content" property available. So what is a plan to use the property for file categorizing?
* Vault Profesional 2012 upd1
Tools->Administration->Vault settings
Behaviours->Rules (Categories)
File Rules -> New -> OK -> Property
Hey Mark, This is what I think I was looking for. I have parts that were copied from a content center part and even though they are no longer a content center, they still act like one including the blue icon in an assembly. I tried this macro and afterword it still has a blue icon and some of the other code that I am using still sees it as a content center part because the oSS.Item(1).IsContentMember is still equal to True. Is there something else I need to do?
I also stepped through your code on both a content center part and one that was copied from a content center part and both the oDoc.DisabledCommandTypes = 0 and odoc.SubType = "{4D29B490-49B2-11D0-93C3-7E0706000000}" before it got to that code so it wasn't changing any values.
Never mind. I found a way.
Public Sub CCNormal()
Dim oDoc As PartDocument
Set oDoc = ThisApplication.ActiveDocument
Debug.Print oDoc.ComponentDefinition.IsContentMember
Call oDoc.PropertySets.Item(5).Delete
Debug.Print oDoc.ComponentDefinition.IsContentMember
End Sub