SAT File Documentation
Summary
A SAT (Standard ACIS Text) file is a 3D CAD model in the text-based exchange format of the ACIS modelling kernel, used to move solid geometry between CAD programs. Its extension is .sat and it is plain ASCII, though it is only meaningful in CAD. View and measure it free with Open Cascade CAD Assistant or the ShareCAD web viewer; edit it by importing into Fusion 360 or AutoCAD. Its binary sibling is .sab, and SAT is commonly converted to STEP or STL.
Technical details
| Feature | Value |
|---|---|
| Full name | Standard ACIS Text (3D CAD solid model) |
| File extension | .sat |
| MIME type | application/x-acis (informal) |
| Format type | Neutral 3D CAD exchange file; plain ASCII text |
| Geometry model | Boundary representation (B-rep): exact surfaces, edges, faces, solids |
| Modelling kernel | ACIS |
| Developer | Spatial Corporation (a Dassault Systèmes company) |
| Introduced | ACIS R1, 1989; kernel from the early 1990s |
| Binary counterpart | .sab (Standard ACIS Binary) |
| Human-readable | Yes — ASCII, opens in a text editor |
| Header | Numeric first line (version + record counts), then product/date strings, then units |
| Record terminator | # ends each entity record |
| End marker | End-of-ACIS-data |
| Version-sensitive | Yes — a newer ACIS file may not import into older CAD |
| Used by | AutoCAD, Inventor, IronCAD, TurboCAD, SpaceClaim (ACIS-based) |
| Open standard | No — proprietary kernel format |
| Common conversions | SAT → STEP (portable), SAT → STL (3D print) |
| Related extensions | .sab, .step, .stp, .iges, .x_t |
| Specification | spatial.com/products/3d-acis-modeling |
What is a SAT file?
SAT stands for Standard ACIS Text, the text-based exchange format of the ACIS 3D modelling kernel developed by Spatial Corporation, now part of Dassault Systèmes. ACIS is one of the major geometric kernels in the CAD world: it powers or is licensed by AutoCAD, Inventor, IronCAD, TurboCAD and SpaceClaim, among others. Because so many programs share the ACIS lineage, SAT became a common neutral way to pass solid-body geometry between systems. A .sat file carries a boundary representation (B-rep) model — exact mathematical surfaces, edges, faces and solids — rather than a triangle mesh, so it preserves the precise geometry a CAD program needs to keep editing.
Two facts shape everything about working with a SAT file. First, it is plain ASCII text: you can open it in a text editor and read the header and records, though the numbers only mean something to CAD software. Second, its binary counterpart is the .sab file (Standard ACIS Binary), which stores the identical model more compactly. Users typically meet SAT files when exchanging parts with someone on a different CAD package, importing legacy geometry into AutoCAD (which uses ACIS internally), or sharing a model with a vendor.
The header: version line, product strings and units
Every SAT file opens with a short header, conventionally three lines, that tells the reader how to interpret the records that follow.
400 0 1 0
14 ACIS 32.0 NT 24 Thu Mar 14 10:22:04 2024
1 9.9999999999999995e-07 1e-10
The first line is numeric. Its leading integer is the ACIS version number that wrote the file (encoded as a whole number, for example 400 or 700), followed by counts: the number of saved records (entities) in the file, the number of top-level entities, and a flag byte. A reader uses the version to decide how to parse the records and uses the record count to know how many to read.
The second line carries identification strings, each preceded by its character length: the authoring product and ACIS release, and the date the file was written. The third line holds three real numbers that define the model’s measurement context: the number of millimetres per model unit (so a value of 1 means the model is in millimetres), then resabs and resnor, the absolute and normalised tolerances that tell the kernel how close two points must be to count as coincident. Those tolerances matter: they are why a model exported from one system can develop tiny gaps when imported into another that resolves geometry differently.
The entity records: bodies, lumps, shells, faces and edges
After the header comes the body of the file: an indexed list of entity records, one per line (or wrapped across lines), each describing one piece of the model’s topology or geometry. Each record names an entity type, then lists that entity’s data, which includes pointer references to other records by index. A pound sign, #, terminates every record.
-0 body $-1 -1 $-1 $1 $-1 $-1 #
-1 lump $-1 -1 $-1 $-1 $2 $0 #
-2 shell $-1 -1 $-1 $-1 $-1 $3 $-1 $1 #
-3 face $-1 -1 $-1 $4 $2 $-1 $5 forward single #
...
End-of-ACIS-data
The entity types form the ACIS topology hierarchy, from coarse to fine. A body is the whole model. It contains one or more lumps (disconnected solid regions). Each lump contains shells (the outer boundary and any internal voids). A shell is bounded by faces; each face lies on a surface (plane, cylinder, spline) and is bounded by loops of edges; each edge lies on a curve and ends at vertices, which sit at points. The $ tokens in a record are index references — $1 points to record 1, and $-1 is a null pointer — so the records cross-link into a graph that describes the exact boundary of the solid. The whole stream is closed by the literal End-of-ACIS-data marker, which is how a reader knows it has the complete model.
SAT versus SAB: text against binary
SAT and its binary sibling .sab store the same ACIS model in two encodings. SAT is ASCII, human-readable and slightly self-documenting; SAB is a compact binary form that begins with the text ACIS BinaryFile at offset 0 and packs the same records without the whitespace and text formatting. SAB files are smaller and faster to load, which matters for large assemblies, while SAT is easier to inspect and diff. Most CAD tools that read one read the other, and converting between them is a save-as within any ACIS-aware program; the geometry is identical either way.
ACIS version sensitivity and import errors
The single biggest real-world headache with SAT is version compatibility. Because the file records the ACIS version that wrote it (the integer at the start of the header), a SAT produced by a newer ACIS release can fail to import into software built on an older kernel — the older reader does not understand records or version conventions introduced later. The two standard workarounds are to ask the sender to export to an older ACIS version, or to route the exchange through STEP instead, which is an open international standard and avoids the kernel-version coupling entirely. This is a strong argument for preferring STEP over SAT whenever both ends support it.
Viewing and importing a SAT file
To view, rotate and measure a SAT model without buying CAD, the best free desktop tool is Open Cascade CAD Assistant (Windows, macOS, Linux), which opens both .sat and .sab and can also export to other formats. For a no-install option, the ShareCAD web viewer opens a SAT in the browser. To actually edit the geometry, import the file into CAD: AutoCAD uses the ACISIN command (it stores solids as ACIS internally), Fusion 360 imports it for editing and is free for personal use, and ACIS-based packages like TurboCAD and IronCAD open it directly. On Linux, FreeCAD can import SAT through the InventorLoader workbench, with results that vary by file.
Converting SAT to STEP and STL
The most useful SAT conversion is to STEP (ISO 10303). STEP is the truly vendor-neutral, open CAD exchange format and is far more widely supported than ACIS SAT, so exporting SAT → STEP (in CAD Assistant or any CAD package) preserves the solid B-rep geometry while making it portable and side-stepping the ACIS version problem. The other common target is STL for 3D printing: this tessellates the exact surfaces into a triangle mesh at a quality you choose, then feeds a slicer such as Cura or PrusaSlicer. That conversion is one-way — the exact geometry becomes an approximating mesh and cannot be recovered as clean surfaces. Mesh exports to OBJ (for rendering and games) work the same way. Converting SAT to a 2D DXF is a different operation: a 3D solid does not map cleanly to 2D, so you export a specific view or section, not the whole model.
Frequently asked questions
How do I open a SAT file for free?
Use Open Cascade CAD Assistant (free on Windows, macOS and Linux) to view, measure and export it, or upload it to the ShareCAD web viewer in a browser. To edit the geometry, Fusion 360 is free for personal use and imports SAT.
What is the difference between SAT and STEP?
Both are neutral 3D CAD exchange formats, but STEP (ISO 10303) is an open international standard supported almost everywhere, while SAT is tied to the proprietary ACIS kernel and is version-sensitive. If you have a choice, STEP is the safer, more portable format.
What is the difference between SAT and SAB?
They store the same ACIS model — SAT is the text (ASCII) form and SAB is the binary form. SAB is smaller and loads faster; SAT is human-readable. Most CAD tools that read one read the other.
Why won’t my SAT file import (version error)?
SAT files record an ACIS version number, and a file written by a newer release can fail to import into software built on an older kernel. Ask the sender to export to an older ACIS version, or route the model through STEP, which avoids the kernel-version issue.
References
- Spatial — 3D ACIS Modeling (kernel and format owner)
- Open Cascade CAD Assistant — free SAT/SAB viewer and converter
- CAD Interop — ACIS SAT/SAB neutral format overview
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.