Manifest file
The manifest.json file describes the files in the BIMPK package with the following schema with reference to Table 1.
{
"version" : "string",
"root" : "integer",
"files" : [
{
"id" : "integer",
"name" : "string",
"author" : "string",
"company" : "string",
"modifiedOn" : "timestamp",
"source" : "string",
"editable": "bool",
"references" : [
{
"id" : "integer",
"count" : "integer"
}
]
}
],
"occurrences" : [
{
"id" : "integer",
"source" : "integer",
"data" : {
"objects" : "string",
"graphics" : "string",
"graphics2d" : "string",
"thumbnail" : "string"
}
}
],
"pluginVersion" : "string"
}
Table 1: manifest.json file data structure
| Key | Description |
|---|---|
"version" | The bimpk version |
"root" | Declares which file is the model's main file, which is processed first. |
"files" | An array of metadata objects that represent the CAD application files for the exported model. |
"files[n].id" | A unique id for the file |
"files[n].name" | The CAD application file's name |
"files[n].author" | The file's author |
"files[n].company" | The company name |
"files[n].modifiedOn" | The date the file was last edited |
"files[n].source" | The source CAD application's information |
"files[n].editable" | Boolean value that declares if platform applications can edit property data in the file. If sync-back function is implemented, you can use the plug-in to sync edited data back to the source CAD model. |
"files[n].references" | Pass an object with id and count properties for each file that this file references. |
"files[n].references.id" | The file's id |
"files[n].references.count" | The referenced file's instance number |
"occurrences" | Lists the Bimpk file's occurrence folders, which store the model files. The first folder stores the main model files; any following occurrence folders store linked model files if they exist. |
"occurrences[n].id" | A unique id for the occurrence. |
"occurrences[n].source" | Source file id, one occurrence is an instance of file from files secton |
"occurrences[n].data" | The occurrence folder's name. |
"occurrences[n].data.objects" | The relative path to the objects.json file |
"occurrences[n].data.graphics" | The relative path to the graphics.scz file |
"occurrences[n].data.graphics2d" | The relative path to the graphics2d.scz file |
"occurrences[n].data.thumbnail" | The relative path to the thumbnail.png file |
"pluginVersion" | The IPA plug-in's version |
Example
For more information, see the following complete example of manifest.json file:
{
"version": "2.1",
"files": [
{
"id": 1,
"name": "1901RK-INV-01-ZZ-M3-Z-0001_Federated.rvt",
"author": "",
"company": "",
"modifiedOn": "2023-06-14 17:06::12",
"source": "Autodesk Revit 2022",
"editable": true,
"references": [
{
"id": 2,
"count": 1
},
{
"id": 3,
"count": 1
},
{
"id": 4,
"count": 1
},
{
"id": 5,
"count": 1
},
{
"id": 6,
"count": 1
}
]
},
{
"id": 2,
"name": "1901RK-INV-01-ZZ-M3-A-0001.rvt",
"author": "",
"company": "",
"modifiedOn": "2023-04-13 11:41::07",
"source": "Autodesk Revit 2022",
"editable": false
},
{
"id": 3,
"name": "1901RK-INV-01-ZZ-M3-S-0001.rvt",
"author": "",
"company": "",
"modifiedOn": "2023-04-13 11:44::24",
"source": "Autodesk Revit 2022",
"editable": false
},
{
"id": 4,
"name": "1901RK-INV-01-ZZ-M3-P-0001.rvt",
"author": "",
"company": "yourCompanyName",
"modifiedOn": "2023-04-13 11:46::45",
"source": "Autodesk Revit 2022",
"editable": false
},
{
"id": 5,
"name": "1901RK-INV-01-ZZ-M3-E-0001.rvt",
"author": "",
"company": "yourCompanyName",
"modifiedOn": "2023-04-13 11:43::06",
"source": "Autodesk Revit 2022",
"editable": false
},
{
"id": 6,
"name": "1901RK-INV-01-ZZ-M3-F-0001.rvt",
"author": "",
"company": "",
"modifiedOn": "2023-04-13 11:45::40",
"source": "Autodesk Revit 2022",
"editable": false
}
],
"occurrences": [
{
"id": 1,
"source": 1,
"data": {
"objects": "occ/1/objects.json",
"graphics2d": "occ/1/graphics2d.scz",
"graphics": "occ/1/graphics.scz",
"thumbnail": "occ/1/thumbnail.png"
}
},
{
"id": 2,
"source": 2,
"data": {
"objects": "occ/2/objects.json"
}
},
{
"id": 3,
"source": 3,
"data": {
"objects": "occ/3/objects.json"
}
},
{
"id": 4,
"source": 4,
"data": {
"objects": "occ/4/objects.json"
}
},
{
"id": 5,
"source": 5,
"data": {
"objects": "occ/5/objects.json"
}
},
{
"id": 6,
"source": 6,
"data": {
"objects": "occ/6/objects.json"
}
}
],
"root": 1,
"pluginVersion": "IPA Revit Plugin ver4.1.0"
}