Convert XCGM to STL in your application
3D InterOp is a CAD interoperability SDK that lets your software read XCGM files and write STL, generating the STL mesh from the geometry it reads, with tessellation settings your application controls.
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 XCGM · Writes STL
- Exact geometry → triangle mesh
- C++ / C# APIs
XCGM to STL at a glance
XCGM stores exact geometry; STL stores triangles. The translation is a tessellation, and the settings you choose decide how close the mesh stays to the original.
| XCGM (source) | STL (target) | |
|---|---|---|
| Full name | CGM native file | Stereolithography |
| Standard / owner | Dassault Systèmes / Spatial (CGM Modeler) | Open format |
| File extensions | .xcgm | .stl |
| Geometry | Exact B-Rep | Triangle mesh |
| Assemblies / structure | Yes | No |
| PMI | Semantic (read) | None |
| 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 XCGM to STL.
-
Changes
Geometry is tessellatedThe exact XCGM B-Rep is replaced by a triangle mesh, generated by 3D InterOp from the exact geometry it reads. Accuracy depends on the tessellation settings your application uses.
-
Changes
Assembly structureSTL has no native assembly hierarchy. Decide in your application how XCGM product structure is grouped or flattened before writing.
-
Not carried
PMISTL has no place for PMI, so the PMI read from XCGM isn’t written.
Why software vendors add XCGM to STL conversion
Additive manufacturing
STL is still the input most slicers and print services expect. Writing it lets your users send parts to print directly.
Mesh-based processing
Inspection, scan comparison and mesh-editing tools work on triangles. A mesh output gives them a model they can open anywhere.
Lightweight sharing
A mesh is simpler than the native CAD file and needs no CAD system to open.
Things to check before you ship
- Supported XCGM input: R2012 to 2025 1.0.
- Test tessellation settings on your heaviest parts: finer meshes mean larger files.
- 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 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.
-
Target format
What is an STL file?
STL describes a 3D surface as a set of triangles, with no units, materials or assembly structure. Its simplicity makes it the usual input for 3D printing.
Frequently asked questions
3D InterOp tessellates the geometry it reads from XCGM when it writes STL. Your application sets the tolerances, so it controls the trade-off between accuracy and file size.
STL has no place for PMI, so the PMI read from XCGM isn’t written. Your application can still access it after import, or offer STEP AP242 as an output.
STL has no assembly hierarchy, so your application decides how the XCGM structure is grouped or flattened before writing.
No. STL stores triangles only, with no units, colors or textures. Agree on the unit with the application that reads the file; the 3D InterOp STL reader assumes millimeters.
3D InterOp reads R2012 to 2025 1.0.
Yes. 3D InterOp reads and writes both formats, so STL to XCGM is supported too.
-
Building software that needs to convert XCGM to STL?
3D InterOp is an SDK that lets your application read XCGM and write STL alongside 30+ CAD and BIM formats.