This module provides utilities for serializing and deserializing DataModels
to and from the SDK’s canonical JSON representation, DataModelParams. The format captures
a DataModel’s complete semantic state, including objects, relationships, properties, and metadata.
Shape
%%{init:{"theme":"dark"}}%%
classDiagram
direction TB
class DataModelImporter {
+format : "DataModelParams"
+load(params, options?) Promise~void~
}
class DataModelExporter {
+format : "DataModelParams"
+write(params, options?) Promise~DataModelParams~
}
class DataModelParams {
<<data>>
}
class ModelLoader {
<<formats>>
}
class ModelExporter {
<<formats>>
}
ModelLoader <|-- DataModelImporter
ModelExporter <|-- DataModelExporter
DataModelImporter ..> DataModelParams : reads
DataModelExporter ..> DataModelParams : writes
%%{init:{"theme":"default"}}%%
classDiagram
direction TB
class DataModelImporter {
+format : "DataModelParams"
+load(params, options?) Promise~void~
}
class DataModelExporter {
+format : "DataModelParams"
+write(params, options?) Promise~DataModelParams~
}
class DataModelParams {
<<data>>
}
class ModelLoader {
<<formats>>
}
class ModelExporter {
<<formats>>
}
ModelLoader <|-- DataModelImporter
ModelExporter <|-- DataModelExporter
DataModelImporter ..> DataModelParams : reads
DataModelExporter ..> DataModelParams : writes
classDiagram
direction TB
class DataModelImporter {
+format : "DataModelParams"
+load(params, options?) Promise~void~
}
class DataModelExporter {
+format : "DataModelParams"
+write(params, options?) Promise~DataModelParams~
}
class DataModelParams {
<<data>>
}
class ModelLoader {
<<formats>>
}
class ModelExporter {
<<formats>>
}
ModelLoader <|-- DataModelImporter
ModelExporter <|-- DataModelExporter
DataModelImporter ..> DataModelParams : reads
DataModelExporter ..> DataModelParams : writes
constjson = JSON.stringify(dataModelParams, null, 2); // persist or transmit `json`
Importing a DataModel from JSON
Use DataModelImporter to reconstruct a DataModel from a previously
serialized DataModelParams object. Create the target DataModel first,
then pass the params as fileData — load resolves with no value.
import { DataModelImporter } from"@xeokit/sdk/datamodel"; import { Data } from"@xeokit/sdk/model/data";
Because DataModelParams is a lossless representation of xeokit’s semantic graph,
a DataModel can be exported and re-imported without changing object IDs, relationships,
or properties—making it suitable for caching and synchronization workflows.
xeokit DataModelParams Importer and Exporter
Import and export semantic DataModels using xeokit’s JSON-based DataModelParams interchange format.
This module provides utilities for serializing and deserializing DataModels to and from the SDK’s canonical JSON representation, DataModelParams. The format captures a DataModel’s complete semantic state, including objects, relationships, properties, and metadata.
Shape
Features
.xgf+ semantics in.jsonform the canonical xeokit streamed-model bundle.Installation
Usage
Exporting a DataModel to JSON
Use DataModelExporter to serialize a DataModel into a DataModelParams object, which can then be stored or transmitted as JSON.
writeresolves with theDataModelParamsobject itself — stringify it yourself to persist it.Importing a DataModel from JSON
Use DataModelImporter to reconstruct a DataModel from a previously serialized DataModelParams object. Create the target DataModel first, then pass the params as
fileData—loadresolves with no value.Round-tripping DataModels
Because DataModelParams is a lossless representation of xeokit’s semantic graph, a DataModel can be exported and re-imported without changing object IDs, relationships, or properties—making it suitable for caching and synchronization workflows.