Import and export Dassault Systèmes 3DXML (CATIA / 3DEXPERIENCE) assemblies in the .3dxml format
3DXML is Dassault Systèmes' lightweight, XML-based 3D format: a ZIP archive
holding a Manifest.xml, a product-structure document (the assembly tree of
Reference3D / Instance3D / ReferenceRep nodes), and one or more
tessellated representation documents carrying triangle geometry.
The ThreeDXMLLoader unzips the package, walks the product structure
(composing each instance's RelativeMatrix into a world transform), and emits
the result into a SceneModel as a first-class
model — one geometry per representation (reused across instances), one mesh per
instance with the assembly transform baked into its matrix, and one object per
instance. So a 3DXML scene loads, streams, transforms and picks exactly like
any other xeokit model.
Importing .3dxml scenes
Use ThreeDXMLLoader to load .3dxml file data into a SceneModel. The
loader produces geometries, meshes and objects; no
DataModel is produced in this version.
Exporting .3dxml scenes
Use ThreeDXMLExporter to write a SceneModel's triangle geometry back to
.3dxml bytes. It round-trips with the loader: each mesh becomes a part whose
tessellation, transform and flat colour reproduce on re-import.
Tessellated geometry — reads <VertexBuffer> positions + normals and
<Face triangles="…"> index lists into TrianglesPrimitive geometry.
Assembly structure — walks Reference3D / Instance3D / ReferenceRep
and bakes each instance's RelativeMatrix into its mesh transform, so shared
parts are instanced (geometry created once, reused across occurrences).
Flat part colours — <SurfaceAttributes><Color> becomes per-mesh RGBA.
First-class SceneModel primitive — imports as ordinary geometry/mesh/
object, so it renders, picks and transforms like any other model.
Installation
npminstall@xeokit/sdk
Usage
import { Scene } from"@xeokit/sdk/model/scene"; import { ThreeDXMLLoader } from"@xeokit/sdk/formats/threedxml";
xeokit 3DXML Importer / Exporter
Import and export Dassault Systèmes 3DXML (CATIA / 3DEXPERIENCE) assemblies in the
.3dxmlformat3DXML is Dassault Systèmes' lightweight, XML-based 3D format: a ZIP archive holding a
Manifest.xml, a product-structure document (the assembly tree ofReference3D/Instance3D/ReferenceRepnodes), and one or more tessellated representation documents carrying triangle geometry.The ThreeDXMLLoader unzips the package, walks the product structure (composing each instance's
RelativeMatrixinto a world transform), and emits the result into a SceneModel as a first-class model — one geometry per representation (reused across instances), one mesh per instance with the assembly transform baked into its matrix, and one object per instance. So a 3DXML scene loads, streams, transforms and picks exactly like any other xeokit model.Importing
.3dxmlscenesUse ThreeDXMLLoader to load
.3dxmlfile data into a SceneModel. The loader produces geometries, meshes and objects; no DataModel is produced in this version.Exporting
.3dxmlscenesUse ThreeDXMLExporter to write a SceneModel's triangle geometry back to
.3dxmlbytes. It round-trips with the loader: each mesh becomes a part whose tessellation, transform and flat colour reproduce on re-import.Features
<VertexBuffer>positions + normals and<Face triangles="…">index lists intoTrianglesPrimitivegeometry.Reference3D/Instance3D/ReferenceRepand bakes each instance'sRelativeMatrixinto its mesh transform, so shared parts are instanced (geometry created once, reused across occurrences).<SurfaceAttributes><Color>becomes per-mesh RGBA.Installation
Usage