Convert OBJ to XCGM in your application
3D InterOp is a CAD interoperability SDK that lets your software read OBJ files and write XCGM, writing the OBJ facets as faceted geometry, since OBJ stores triangles rather than solids.
Spatial does not offer an online converter or a desktop conversion app. 3D InterOp is a component that software vendors embed in their own products.
- Reads OBJ · Writes XCGM
- Triangle mesh → faceted B-Rep
- C++ / C# APIs
OBJ to XCGM at a glance
OBJ stores triangles; XCGM is an exact-geometry format. The mesh is written as faceted geometry: 3D InterOp doesn’t rebuild smooth surfaces from triangles.
| OBJ (source) | XCGM (target) | |
|---|---|---|
| Full name | Wavefront OBJ | CGM native file |
| Standard / owner | Open format | Dassault Systèmes / Spatial (CGM Modeler) |
| File extensions | .obj | .xcgm |
| Geometry | Polygon mesh | Exact B-Rep |
| Assemblies / structure | No assembly hierarchy | Yes |
| PMI | None | Semantic (read) |
| 3D InterOp support | Read and write | Read and write |
What's preserved, what changes
Here is what your application can expect to carry across from OBJ to XCGM.
-
Changes
Faceted geometryOBJ stores triangles, so the XCGM file holds faceted bodies, not solids. 3D InterOp doesn’t rebuild exact B-Rep from a mesh.
Why software vendors add OBJ to XCGM conversion
Hand models to kernel-based applications
Many CAD, CAM and CAE applications are built on the XCGM kernel. Writing XCGM gives them exact geometry they can load without another translation step.
Downstream modeling and analysis
An exact XCGM B-Rep can still be edited, meshed or machined by downstream tools, which a tessellated export would not allow.
Exchange within one ecosystem
Partners whose tools share the XCGM kernel often prefer to exchange XCGM files directly.
Things to check before you ship
- Written XCGM versions: R2012 to 2025 1.0.
- PMI and miscellaneous data aren’t written to XCGM.
- Supported OBJ input: any OBJ version.
- Validate a sample of translated files in the target system your users actually work with.

Working with Spatial was a real milestone for us: Thanks to the powerful 3DInterOp library, we were able to successfully bring our complex CAD-based solutions to the cloud while remaining flexible to meet individual customer requirements. For us, Spatial is not just a technology partner, but a true enabler of our product strategy.
Dr. Arno Michelis, Founder, Simus Systems
Read the Case StudyAbout the formats
-
Source format
What is an OBJ (.obj) file?
OBJ is a simple, widely supported text format for polygon meshes, created by Wavefront. It describes vertices, faces and texture coordinates, with materials in a separate .mtl file.
-
Target format
What is an XCGM (.xcgm) file?
XCGM is the native file format of the CGM geometric kernel, used by CGM Modeler and Dassault Systèmes applications. It stores exact B-Rep geometry.
Frequently asked questions
No. OBJ stores triangles, and 3D InterOp writes them to XCGM as faceted geometry. It doesn’t rebuild exact B-Rep from a mesh.
No. PMI and miscellaneous data aren’t written to XCGM.
Yes. 3D InterOp reads the visual material properties of OBJ files on import.
3D InterOp reads any OBJ version, as visualization data.
3D InterOp writes R2012 to 2025 1.0.
Yes. 3D InterOp reads and writes both formats, so XCGM to OBJ is supported too.
-
Building software that needs to convert OBJ to XCGM?
3D InterOp is an SDK that lets your application read OBJ and write XCGM alongside 30+ CAD and BIM formats.