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

FeatureValue
Full nameStandard ACIS Text (3D CAD solid model)
File extension.sat
MIME typeapplication/x-acis (informal)
Format typeNeutral 3D CAD exchange file; plain ASCII text
Geometry modelBoundary representation (B-rep): exact surfaces, edges, faces, solids
Modelling kernelACIS
DeveloperSpatial Corporation (a Dassault Systèmes company)
IntroducedACIS R1, 1989; kernel from the early 1990s
Binary counterpart.sab (Standard ACIS Binary)
Human-readableYes — ASCII, opens in a text editor
HeaderNumeric first line (version + record counts), then product/date strings, then units
Record terminator# ends each entity record
End markerEnd-of-ACIS-data
Version-sensitiveYes — a newer ACIS file may not import into older CAD
Used byAutoCAD, Inventor, IronCAD, TurboCAD, SpaceClaim (ACIS-based)
Open standardNo — proprietary kernel format
Common conversionsSAT → STEP (portable), SAT → STL (3D print)
Related extensions.sab, .step, .stp, .iges, .x_t
Specificationspatial.com/products/3d-acis-modeling
Structure at a glance

A .sat file is plain ASCII, not binary, so it opens in a text editor — but it is only meaningful in CAD. There is no byte signature. The first line is a numeric header: an ACIS version integer followed by record counts. The next lines carry the authoring product string, ACIS version and date, then modelling units and tolerance values. After the header comes an indexed list of entity records (bodies, lumps, shells, faces, edges, surfaces, curves), each terminated by a #. The record stream ends with the marker End-of-ACIS-data. The companion binary form is .sab, which begins with the text ACIS BinaryFile.

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