Interoperability · Parasolid
Parasolid XT — the kernel-format spoke
Parasolid transmit files — .x_t/.xmt_txt (text) and
.x_b/.xmt_bin (binary) — are what SolidWorks, NX and Onshape speak
natively. XT is a kernel format: it carries the whole topology graph with every edge
shared by exactly the fins that use it, so a solid XT body imports as a real watertight
MANIFOLD_SOLID_BREP straight out of the reader. Nothing needs sewing — that
follow-up does not exist for this format.
Import — cad_import
Both guises read through the same pipeline: bodies, regions, shells, faces, loops, fins, edges and vertices map one-for-one onto the kernel's STEP entity graph; analytic surfaces stay analytic (plane, cylinder, cone — with the axis flip the format reference warns about — sphere, torus) and B-spline curves and surfaces carry their weights. Sheet bodies land on the sheet channel like IGES. Mass properties are meaningful immediately, and the import report carries the reader used, whether the transmit was binary, face/edge counts, and anything skipped.
SolidWorks parts (.sldprt) carry an embedded XT transmit
and import through this same path — the container work has its own
page.
Options
| Option | Kind | What it does |
|---|---|---|
units | behavior | Parasolid is unitless and its own documentation recommends metres, so real files are
usually metre-scaled — units:"m" is the override that matters most on this
format. The header's size box and linear resolution are reported so you can sanity-check. |
tolerant | skips translation | Downgrades per-face refusals to skipped entries and imports the rest.
Off by default, same fidelity contract as IGES. Despite the name, this has nothing to do
with tolerant entities — see the next row. |
| tolerant entities | behavior | Automatic, not an option: a tolerant edge (one that stores no curve of its own) imports with its geometry recovered from the neighbouring faces, and the tolerance values the file declares on edges and vertices are carried onto the kernel's per-entity tolerances — and written back out on XT export — so a round-trip never silently tightens a body the writing kernel said was loose. |
| seam splitting | behavior | Parasolid writes a full cylinder as ONE face whose loop uses the seam edge twice; the reader splits it into two half-faces at import, matching the kernel's own primitives, so downstream addressing works identically for imported and built geometry. Whole seamed spherical and toroidal faces get a pole-aware split into the kernel's own patchwork of hemispheres and full-u bands. |
Export — cad_export_body format:"x_t" | "x_b"
Both transmits write from the same body resolution as every other exporter — whole document or one named body — so NativeCAD parts feed Parasolid-kernel toolchains directly.
Try it
X_T nativecad-plate.x_t 15 KB X_B nativecad-plate.x_b 15 KB
The kernel-authored sample plate as both transmit guises — the text file is small enough to read, and re-importing it through our own reader hands back the same 1 solid / 20 faces it left with.
Refusals are named
Seventeen XT_* codes: an embedded
schema, an unsupported node, a seam-closed spline patch — each refusal names exactly what stopped it
and where. Out-of-scope by name rather than mis-parsed: assemblies/partitions, meshes and
lattices, foreign geometry, blends, offset surfaces.
ACIS SAT is the other kernel-format spoke and has its own page; this one is Parasolid XT.
XT_DANGLING_POINTER,
XB_BAD_RECORD and XT_UNSUPPORTED_SURFACE top the corpus audit) ·
real vendor corpus growth.