MBSE Integration Services for Integrating Modeling Tools
exportCollection()
This API saves or exports data to Teamcenter from the modeling tool. This API also uploads the files referenced by datasets to Teamcenter. Note that files have to be uploaded explicitly in the case of the exportCollection SOA.
It takes a JSON file payload as input, creates all the defined objects, GRM and BVR associations, and related files as datasets in Teamcenter. The output returned by the API contains the Teamcenter identifiers and metadata of the objects and associations created in Teamcenter.
ResponseData exportCollection(String applicationName, String containerIdentifier, String userSpecifiedSourceContextFolder, String userSpecifiedTargetContextFolder, String inputJSONData )
Input Parameters
- applicationName — The application name to identify the integrating tool, for example, MATLAB, ECAD, or Amesim. This value is used to identify the mapping file of the tool.
- containerIdentifier — A unique identifier for the container in the tool. This is used to identify a container which is used as a component in another container.
- userSpecifiedSourceContextFolder — Not yet implemented.
- userSpecifiedTargetContextFolder — Not yet implemented.
- inputData — The input payload in the form of a JSON string. The JSON payload is categorized in two types — Containers and Components.
- Container — All objects that must be created in Teamcenter must have their input information as Container. This applies to Teamcenter business objects of the types Item and Dataset.
- Component — All objects that are associated with the newly created Container in Teamcenter with a certain GRM relation or as an instance to the product structure of the Container.
Returns
ResponseData containing the JSON document with the Teamcenter UIDs of the objects created. The format of the output JSON file is the same as that of the input JSON file.
Use Case 1 — Create a business object in Teamcenter representing a model in the integrating tool
Pass the following JSON string as an input to the exportCollection() API. The output returns the tcContainerIdentifier value in a similar output JSON. This is the Teamcenter assigned unique identifier of the business object representing the model. The tcContainerIdentifier can subsequently be used to import or update the model in Teamcenter.
{
"AllContainers": {
"toolIdentifier": "MIG",
"Containers": [
{
"containerIdentifier": "Battery_Identifier",
"containerName": "Battery",
"containerType": "Assembly",
"tcContainerName": "Battery",
"isTopContainer": false,
"action": "add",
"attributes": [
{
"attrName": "Item_Description",
"tcAttrName": "",
"value": [ "This is a cart battery." ]
}
],
"revAttributes": [
{
"attrName": "Revision_Description",
"tcAttrName": "object_desc",
"value": [ "This is a cart battery, revision A." ]
}
],
"userSpecificInputs": [
{
"inputKey": "CHECKOUT",
"values": [ "true" ]
}
]
}
]
}
}
Use Case 2 — Create a business object in Teamcenter to store the model file authored in the integrating tool
Pass the following JSON string as an input to exportCollection(). The output returns the tcContainerIdentifier value of the dataset under which the file is to be uploaded. The output JSON also returns a writeTicket that can be used to upload files to Teamcenter using FMS SOAs.
{
"AllContainers": {
"toolIdentifier": "MIG",
"Containers": [
{
"containerIdentifier": "GolfCart_Dataset_identifier",
"containerName": "GolfCart_Dataset",
"containerType": "DesignData",
"tcContainerIdentifier": "",
"tcContainerType": "Zip",
"tcContainerName": "GolfCart_Dataset",
"isTopContainer": false,
"action": "add",
"datasetFileInfos": [
{
"fileName": "GolfCartModelFile",
"fileExtension": "zip",
"filePath": "D:\\GolfCart",
"namedReferenceName": "ZIPFILE",
"allowReplace": true,
"isText": false
}
]
}
]
}
}
Use Case 3 — Associate or organize models in Teamcenter as a BVR structure
Pass the following JSON string as an input to the exportCollection() API to associate Battery in the code example as a component (BVR Structure) to Golf Cart.
Note that the object mapping for the containerType of Battery, that is, Assembly, must have behaviorType="BVR" in the integration definition file.
{
"AllContainers": {
"toolIdentifier": "MIG",
"Containers": [
{
"containerIdentifier": "Battery_Identifier",
"containerName": "Battery",
"containerType": "Assembly",
"tcContainerName": "Battery",
"isTopContainer": false,
"action": "add",
"attributes": [
{ "attrName": "Item_Description", "tcAttrName": "", "value": [ "This is a cart battery." ] }
],
"revAttributes": [
{ "attrName": "Revision_Description", "tcAttrName": "object_desc", "value": [ "This is a cart battery, revision A." ] }
],
"components": []
},
{
"containerIdentifier": "GolfCart_identifier",
"containerName": "GolfCart",
"containerType": "Project",
"tcContainerName": "GolfCart",
"isTopContainer": true,
"action": "add",
"attributes": [
{ "attrName": "Item_Description", "tcAttrName": "", "value": [ "This is a Golf Cart Assembly." ] }
],
"revAttributes": [
{ "attrName": "Revision_Description", "tcAttrName": "object_desc", "value": [ "This is a golf cart, revision A." ] }
],
"components": [
{
"componentType": "Battery",
"componentName": "Battery_component_1",
"componentIdentifier": "Battery_component_1_identifier",
"containerIdentifier": "Battery_Identifier",
"tcContainerIdentifier": "",
"tcComponentIdentifier": "",
"tcComponentName": "",
"tcComponentType": "",
"tcComponentCopyStableID": "",
"owningContainerIdentifier": "",
"tcOwningContainerIdentifier": "",
"action": "add",
"attributes": [],
"ComponentLinks": []
}
]
}
]
}
}
Use Case 4 — Associate or organize models in Teamcenter as GRM
Pass the following JSON string as an input to the exportCollection() API to associate the OutputPort as a GRM component to Battery.
Note that the object mapping for the containerType of OutputPort, that is, Port, must have behaviorType="GRM" in the integration definition file.
{
"AllContainers": {
"toolIdentifier": "MIG",
"Containers": [
{
"containerIdentifier": "OutputPort_Identifier",
"containerName": "OutputPort",
"containerType": "Port",
"tcContainerName": "OutputPort",
"isTopContainer": false,
"action": "add",
"attributes": [
{ "attrName": "Item_Description", "tcAttrName": "", "value": [ "This is an Output Port." ] }
],
"revAttributes": [],
"components": []
},
{
"containerIdentifier": "Battery_identifier",
"containerName": "Battery",
"containerType": "Assembly",
"tcContainerName": "Battery",
"isTopContainer": true,
"action": "add",
"attributes": [
{ "attrName": "Item_Description", "tcAttrName": "", "value": [ "This is a battery on the cart." ] }
],
"revAttributes": [
{ "attrName": "Revision_Description", "tcAttrName": "object_desc", "value": [ "This is a battery, revision A." ] }
],
"components": [
{
"componentType": "OutputPort",
"componentName": "OutputPort_component_1",
"componentIdentifier": "OutputPort_component_1_identifier",
"containerIdentifier": "OutputPort_Identifier",
"tcContainerIdentifier": "",
"tcComponentIdentifier": "",
"tcComponentName": "",
"tcComponentType": "",
"tcComponentCopyStableID": "",
"owningContainerIdentifier": "",
"tcOwningContainerIdentifier": "",
"action": "add",
"attributes": [],
"ComponentLinks": []
}
]
}
]
}
}
You can use the MBSE Integration Services Toolkit to try out this API.
Source: https://docs.sw.siemens.com/en-US/doc/282219420/PL20251212545240207.xid1913857/xid2009106 · retrieved Fri Jul 10 2026 00:00:00 GMT+0000 (Coordinated Universal Time)