Loads Dassault Systèmes 3DXML (.3dxml) files into a SceneModel (tessellated geometry, assembly structure, baked per-instance transforms, flat per-part colours).

Like every other format loader it targets a SceneModel through the ModelLoader base, so 3DXML imports as "just another model":

const sceneModel = scene.createModel({ id: "myModel" }).value;
fetch("model.3dxml")
.then(r => r.arrayBuffer())
.then(fileData => new ThreeDXMLLoader().load({ fileData, sceneModel }));

3DXML is a ZIP of XML documents (a Manifest.xml, a product-structure file, and tessellated representation files). The loader unzips it, walks the product structure, and emits one geometry per representation, one mesh per instance (with the assembly transform baked into the mesh matrix), and one object per instance. No DataModel is produced in this version. Single "*" version — the schema is detected from the ZIP container, not a version header.

Hierarchy (View Summary)

Constructors

Properties

fileDataType: string

Identifies the MIME type of files loaded by this parser.

fileNameExtensions: string[]

Filename extensions expected on loaded model files.

format: string

The loaded model file format.

getVersion: (fileData: any) => string

Gets the schema version of the given file data.

parsers: { [key: string]: ModelParser }

A parser for each supported schema version.

versions: string[]

IDs of supported file schema versions.

Methods