scenegraph.json file
The scenegraph.json file in the SGPK package has following schema with reference to Table 1.
{
"SourceFileName": string,
"Creator": string,
"Units": string,
"Properties": [{
"Id": "Integer",
"Name": "string",
"DisplayName": "string",
"psName": "string",
"psDisplayName": "string",
"DataType": {"enum" : ["STRING", "BOOLEAN","INTEGER","LONG", "DOUBLE","FLOAT","DATE"]},
"Uom" : "string"
}]
"RootItem":
{
"Id" : "integer",
"ClassName": "string",
"ClassDispalyName": "string",
"DisplayName": "string",
"HasGeometry": "boolean",
"Properties": [{
"Id": "integer",
"Name": "string",
"Value": "source-type-of-property"
}],
"Items": ["array-of-ModelItem"]
],
}
}
Table 1: scenegraph.json file data structure
| Key | Description |
|---|---|
| Model (top object of scenegraph.json): | |
"SourceFileName" | Original source file name that this model was first converted from. Null if unknown. |
"Creator" | Name of creating file loader or design application. Null if unknown. |
"Units" | Units in which dimensions of this model are defined |
"Properties" | Normalized property definitions, generated by the plug-in. (Navisworks API does not provide property definition data. Here, we utilize normalized property definition based on property-category and property names and its value's data type. Otherwise the scenegraph.json file would be too large.) |
| ModelItem: | |
"id" | ID of the ModelItem in Scene Graph. This is generated by the plug-in and will be unique in the Navisworks model. |
"ClassName" | Name for type of item. Derived from types in original design application. |
"ClassDisplayName" | Display name for type of item. Derived from types in original design application. |
"DisplayName" | End user supplied name for item. May be null. |
"HasGeometry" | Flag to indicate if this ModelItem has geometry data. If yes, ModelItem Id will be used in the geometry file to link the geometry data with ModelItem in Scene Graph. |
"Properties" | Properties of this item |
"Items" | Child items under this ModelItem |
| PropertyDefinition: | |
"id" | ID of the Property Definition |
"Name" | Name of Property (suitable for programmatic use) |
"DisplayName" | Display name of Property (localized) |
"psName" | Name of Property-Group (suitable for programmatic use) |
"psDisplayName" | Display Name of Property-Group (localized) |
"DataType" | Property value's data type. Can be String, Integer, Double, Boolean, or Date. |
"Uom" | Unit of measure, only applicable when DataType is double or float. |
| Property: | |
"id" | Reference to ID of Property Definition (suitable for programmatic use |
"Name" | Display name of Property (more human readable) |
"Value" | Value of the property |