Transfer Item BOMs
This sample Workflow is meant to display how Vault Item metadata, attached Vault files as well as Bill Of Material information can be transferred to Fusion 360 Manage.
It covers the most common user scenarios and is easy to configure but also serves as a base to create custom workflows.
Note: It pushes Vault items, their BOMs and attachments from Vault to Fusion 360 Manage.
Requirements
The job and its configuration are designed for use with a pre-configured Vault and the Fusion 360 Manage workspace named “Items”.
In current Fusion 360 Manage tenants, the “Items” workspace is available by default.
If the workspace is missing on your tenant, add it via Administration → Template Library by installing the “Items Workspace” template.
Then follow the configuration steps described here.
In both cases, remember to adjust your ADMS hostname for the Vault Thick and Thin Client buttons to function property.
Also adapt the ‘Items onCreate onEdit’ script to your Vault so that units, dimension fields, and weights are transferred for all items.
Note: Prior to 2024, Autodesk delivered customer tenants with a “Vault Items and BOMs” workspace or a workspace named “Items and BOMs”. Find compatible configurations and appropriate jobs on coolOrangeLabs.
In the default configuration, several Vault Item Properties are expected, which may need to be created in Vault first!
These are not included in standard Vaults, but you can use the Autodesk sample PDMC Vault to guarantee the expected settings.
Sample.TransferItemBOMs
This powerJobs Processor Job performs all the succeeding Fusion 360 Manage requests by retrieving the e-mail address of the particular user that added the Job to the Queue.
Therefore, follow the configuration steps described here.
On the condition that the according Workflow Trigger is configured, the job can easily be triggered from within the Vault Client by changing the lifecycle state of an item to ‘Released’.
The job fails when the ‘Sample.TransferItemBOMs’ workflow or the Fusion 360 Manage Workspace is not configured properly, when the Job Processor can’t connect to the Fusion 360 Manage tenant or when invalid positions are detected in the Vault Item BOM. See error handling.
The job creates Fusion Lifecylce Items for the $item where the Job is triggered on, and for all the Vault Items that are contained in its Bill of Material.
All the configured Item Details will become filled with the mapped Vault data. If the corresponding Items already exist in Fusion 360 Manage, they will be updated with these configured values, but only if their description has changed since the last transfer.
When an item is transferred to Fusion 360 Manage that represents a virtual component which is used by an assembly, then the thumbnail shows the thumbnail of the assembly.
The fields of the section Primary File in Fusion 360 Manage are empty, as there is no file equivalent existing for the Virtual Component.
Once a Vault Item is transferred to Fusion 360 Manage this relationship is stored in Vault Entity Attributes. They are not visible within Vault Explorer but can be retrieved e.g. in customizations by using the Vault APIs:
$vault.PropertyService.GetEntityAttributes($item.MasterId, 'FLC.ITEM') | Where-Object { $_.Attr -eq 'Urn' } | Select-Object -First 1 -ExpandProperty Val
#Returns "urn:adsk.plm:tenant.workspace.item:previewcoolorange.136.10610"
Attachments:
By default the attachments of the following Vault Item associations are configured to be downloaded into a temporary directory (by default C:\Temp\
), then uploaded and linked in the Attachments Tab of the Fusion 360 Manage Item:
Vault Item attachments
Composition association attachments (attachments of the primary associated file)
Design Document association attachments (attachments of the tertiary associated files)
Design Document DWGs (tertiary associated DWG files)
Already existing attachments in Fusion 360 Manage will not be deleted when the item is updated, although the attachment was removed from the item in Vault or the configuration settings have been changed.
Bill of Materials:
For each Get-VaultItemBOM component, a corresonding item will be created in Fusion Manage and linked in the Bill of Materials tab of the header Item.
The BOM line items and their BOM information will be updated if they already exist in the Fusion Manage BOM. Only line items that have been added manually to the Fusion Manage BOM remain untouched (determined using the Source
field).
When a BOM is created/updated by this job, following information is populated in Fusion Manage:
BOM item structure from Vault
Position (#)
Quantity
Mapped properties which are configured in the field mapping group Vault BOM → FLC BOM
The Bom_PositionNumber
property of the ItemBomRow in Vault is copied to the BOM field Position Number, and the Bom_InstCount
is copied to the BOM Quantity field (both are not configurable!).
Vault ItemBomRows with identical Bom_Number
properties are not unique and are getting merged within Fusion. The Quantity is determined from the sum of the Vault Instant Count values if the item occurs more than once. The Qty Pos is summed up from the Vault Quantity. Merged text fields with different values are set to “Varies”. Numerical fields with different values are set to “-1”.
Configuration
The job is delivered with a default configuration file that has to be imported from the location %ProgramData%\coolOrange\powerJobs\Jobs\Sample.TransferItemBOMs.json.
Once imported, the default configuration can be adjusted in the Workflow-Settings dialog.
This workflow synchronizes Vault BOMs for the Vault Entity Type Item to the default Fusion Manage workspace Items.
In Fusion Manage this workspace is already configured properly and allows users to choose items from this workspace from within the Bill of Materials Tab.
However, you can also configure a different workspace and adapt the workflow to your Vault configuration. To do this, either remove the unneeded mappings or create the missing properties in Vault and/or Fusion Manage.
Item Details
The fields in the Item Details Tab get filled with the values of the mapped Vault properties, or the results of the mapped Functions.
These mappings are transferred for all the Items which are created, and for those which already exist in Fusion 360 Mangage and will be updated.
Most of the mappings are configured in a field mapping group named Vault Item → FLC Item.
It contains the mappings between the properties of the Vault Item and the fields of the Item in Fusion 360 Manage:
e.g. the Fusion Lifecycle Item Field Number
gets filled with the value of the Vault Property Number
, Title
with Title (Item,CO)
, Description
with Description (Item,CO)
and Image
with Thumbnail
.
Additional mappings can be found in the field mapping group Vault primary Item-File Link → FLC Item.
It contains the Vault File properties which should be transferred from the primary subcomponent of the Vault Item to the fields of the Item in Fusion 360 Manage:
e.g. the Fusion Lifecycle Item Field Primary File Name
gets filled with with the Name
of the primary file that is linked to the Vault Item, PDM Location
with the Folder Path
and Primary File Revision / Version
with its Revision
.
Attachments
In order to configure what types of Vault Item associations will uploaded and attached to the Fusion 360 Manage Item the following Workflow Settings can be adjusted:
Type |
Name |
Description |
---|---|---|
Boolean |
Upload Item Attachments |
Whether item attachments should be transferred to Fusion 360 Manage |
Boolean |
Upload Composition Attachments |
Whether attachments of the primary attached file should be transferred to Fusion 360 Manage |
Boolean |
Upload Design Document Attachments |
Whether attachments of the design document file should be transferred to Fusion 360 Manage |
Boolean |
Upload Design Document DWGs |
Whether design document native DWG files should be transferred to Fusion 360 Manage |
Bill of Materials
The according behavior of how the Vault Item BOM gets transferred to Fusion 360 Manage can be adjusted with the following Workflow Settings:
Type |
Name |
Description |
---|---|---|
FLC BOM Field |
BOM-Source Field |
A BOM field in Fusion 360 Manage used to identify that the particular BOM row as been transferred by the workflow |
Text |
BOM-Source Value |
The value that identifies that the particular BOM row has been transferred by the workflow |
The mappings from Vault Bill of Materials properties to Fusion 360 Manage BOM fields can be configured in the field mapping group named Vault BOM → FLC BOM,
e.g. the Fusion Lifecycle BOM Field Row Order
with the Vault Property Bom_RowOrder
and Qty Pos
with Bom_Quantity
.
The following fields are set by the job and do not need to be mapped:
Fusion 360 Manage |
Vault |
---|---|
Position |
BOM row Position Number |
Quantity |
BOM row Quantity |
Source |
“Vault” (depending on the BOM-Source Value setting) |
Triggering the workflow
In order to execute the workflow job on Vault Item lifecycle changes to a ‘Released’ state, each single Vault lifecycle state transition must be extended to trigger a job of the type “Sample.TransferItemBOMs”:
Afterwards when changing the state for a specific Vault item, this will automatically queue the “Transfer Item BOMs” workflow job. Read more here.
Note
When the Lifecycle state gets changed to “Released” for the Vault Item and its dependent child Items, then the “Sample.TransferItemBOMs” job is automatically triggered for all of them.
Alternatively the job can be queued within your own client customization using powerEvents and the Add-VaultJob cmdlet, by passing the following Item parameters:
$item = Get-VaultItem -Number 100018
$job = Add-VaultJob -Name "Sample.TransferItemBOMs" -Parameters @{"EntityId"=$item.Id;"EntityClassId"="Item"} -Description "Transfer Item BOMs for: $($item._Number)"
Also the Priority of the created Job can be configured this way. Jobs with higher priority will be executed first. The lower the number the higher the priority.