UpdateFileProperties result of wrong BOMblob

UpdateFileProperties result of wrong BOMblob

xavier_dumont2
Collaborator Collaborator
232 Views
3 Replies
Message 1 of 4

UpdateFileProperties result of wrong BOMblob

xavier_dumont2
Collaborator
Collaborator

Hello,

We developped an external tool to update properties on multiples files.

We discovered that the method UpdateFileProperties (DocumentService Class) don't update the BOMblob (by example if you are editing the value of partnumber and tring to create an item, the item still use the old value). If you change the value manually throught the Vault Client no problem, the BOMblob is up-to-date and the item is using the right partnumber.

 

By analysing (with Fiddler) the Vault API  calls when editing this manually we discover this sequence:

1) CheckoutFile

2) GetProperties

3) UpdateFileProperties

4) GetCintentSourceIdsByFileIds

5) GetComponentProperties

6) GetProperties

7) GetDownloadeTicketByFileIDs

8) DownloadFilePart

9) GetVaultOption

10) GetBOMByFileId => to get the actual BOM

11) GetFileAssociationsByIds

12) UploadFilePart

13) CheckinUploadedFile => push the new BOM

 

Then my question: How does Vault Client create the new BOM between the step 10 and 13? Is there now (R2025) an official way to do it through API?

The only solution we found is to empty the BOM and create a JOB for JobProcessor to extract item data.

Thanks in advance

 

0 Likes
233 Views
3 Replies
Replies (3)
Message 2 of 4

Markus.Koechl
Autodesk
Autodesk

Inventor is required to open and update a FileBOM object during check-in. Updating properties does not update a BOM but rather mapped iProperties. Note—Extract Item Data does not update the BOM either; it extracts the BOM from the file as is. That is the context why, e.g., the Copy Design default option 'Remove BOM Object' forces opening an assembly first in Inventor before progressing in downstream processes. Back to your question: Step 13 updates the updated BOM, whereas the Inventor internal BOM update is not listed in your sequence. The support path to update the BOM in Vault is calling the Vault Check-in command through Inventor CommandManager. 2025 distributed options will help to propagate the matching client settings (suppress check-in dialog) on the Job Processor machine. We are aware of requests for future enhancements regarding an "AddIn API" that covers your intent.



Markus Koechl

Solutions Engineer PDM, Autodesk Central Europe
0 Likes
Message 3 of 4

xavier_dumont2
Collaborator
Collaborator

Hi Markus, thanks for the explaination. OK this confirm what we discover.
When editing the partnumber in Vault Client as an end-user all is working without reoppening in Inventor (I mean the content of Bomblob is up-to-date in term of partnumber property's value).

 

I think Vault Client edit the XML content of the BOMblob to replace properties values. It's a pity there is no documentation about this BOMblob to avoid to open files in Inventor to update this if we do it through API. Or to make the method UpdataFileProperties more powerfull to integrate this bomblob update at the level of properties.

Is it possible to open a improvment request for this?

 

Thanks in advance.

 

0 Likes
Message 4 of 4

Markus.Koechl
Autodesk
Autodesk

Hi Xavier, the "BOMblob" is an internal designator, and the XML is an internal representation. The object to be accessed is the BOM class. This class is documented as all its members, and they are read-and-write enabled. The SDK contains a graphical view explaining the dependency of all members building a complete BOM. The script behind the Data Standard CAD-BOM detail tab is a good sample to walk through. Feel free to submit an idea post whenever you have constructive proposals. 



Markus Koechl

Solutions Engineer PDM, Autodesk Central Europe
0 Likes