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 |