SLDASM File Documentation
Summary
A SOLIDWORKS Assembly File is the native 3D assembly document of SOLIDWORKS: it ties multiple part files (.sldprt) together with mates that fix how the components sit and move. The .sldasm file is a binary OLE2 Compound File, and by default it references its parts rather than embedding them. Full editing needs SOLIDWORKS; to view, rotate and measure for free, use the eDrawings Viewer, and export STEP for other CAD or STL for 3D printing.
Technical details
| Feature | Value |
|---|---|
| Full name | SOLIDWORKS Assembly File |
| File extension | .sldasm |
| MIME type | application/octet-stream |
| Format type | Proprietary binary 3D CAD assembly |
| Developer | Dassault Systèmes (SOLIDWORKS) |
| Introduced | 1995 (SOLIDWORKS 95) |
| Container / base format | Microsoft OLE2 Compound File Binary (CFB) |
| Byte order | Little-endian (CFB container) |
| Magic number (hex) | D0 CF 11 E0 A1 B1 1A E1 |
| Open standard | No — closed, version-specific |
| Stores | Component references, mates, assembly features, configurations, metadata, preview |
| Embeds part geometry? | No by default — references external .sldprt files |
| Forward compatibility | Newer SOLIDWORKS opens older files; older cannot open newer |
| Sibling document types | .sldprt (part), .slddrw (drawing) |
| Native editor | SOLIDWORKS (Windows only, paid) |
| Free viewer | eDrawings Viewer (Windows, macOS, iOS, Android) |
| Neutral export (CAD) | .step / .stp, .iges / .igs |
| Mesh export (printing) | .stl, .obj, .3mf |
| Related extensions | .sldprt, .slddrw, .easm, .step, .iges, .stl |
| Specification | solidworks.com (closed format) |
What is a SLDASM file?
A .sldasm file is a SOLIDWORKS Assembly File, one of the three native document types of SOLIDWORKS, the mechanical 3D CAD program first released in 1995 and now owned by Dassault Systèmes. Where a part file (SLDPRT) describes a single solid body, an assembly describes a product built from many components: parts and sub-assemblies positioned in 3D space and joined by mates, the geometric constraints that decide how the pieces fit and move. A drawing of either is a SLDDRW.
The important structural fact about an assembly is that it usually holds no part geometry of its own. It is largely a document of references and relationships: pointers to the .sldprt files on disk, the mates between them, assembly-level features, saved configurations, and metadata such as a bill of materials. That reference model is why a .sldasm sent without its parts opens with components shown as missing, and it shapes almost everything about how the file behaves.
The OLE2 Compound File container
A SLDASM is a binary file wrapped in Microsoft's OLE2 Compound File Binary format (CFB), the same container Microsoft used for legacy .doc and .xls documents. Every such file opens with the 8-byte signature D0 CF 11 E0 A1 B1 1A E1 at offset 0. A Compound File is effectively a small file system inside one file: it is divided into fixed-size sectors and organises its content into named storages (directories) and streams (files), navigated through a FAT-like sector allocation table and a directory of entries.
Compound File layout (conceptual)
┌─ Header (512 bytes) magic D0 CF 11 E0 …, sector size, FAT location
├─ FAT / DIFAT sectors sector allocation chains
├─ Directory stream tree of storages + streams (names, sizes, start sectors)
└─ Data sectors the SOLIDWORKS streams themselves
├─ preview / thumbnail image
├─ document properties / custom properties
├─ configuration + feature data
└─ component reference + mate data (proprietary, undocumented)
Because the container is shared, the magic bytes alone cannot tell a .sldasm from a .sldprt, a .slddrw or even an old Word document. Identification comes from the internal stream names and the file extension, not from the header. The bytes of the SOLIDWORKS-specific streams inside are proprietary and version-tagged; Dassault has never published their layout, which is why third-party tools rely on the neutral exports described later rather than on reading these streams directly.
Component references and the missing-parts problem
An assembly's component list is a set of links. Each entry records a path or reference to a part or sub-assembly document, a transform placing that instance in assembly space, and its display and suppression state. The same part can appear many times as separate instances (eight identical bolts reference one .sldprt eight times), so the assembly stays small while the heavy geometry lives once in each part file.
This is the root of the most common SLDASM complaint. When SOLIDWORKS opens an assembly, it resolves each reference by searching for the part files: alongside the assembly, in the folders it was last saved with, and along the configured search paths. If a referenced .sldprt is not found, that component is unresolved and shown as missing. Sending someone a lone .sldasm therefore rarely works. The fixes are to send the whole folder of parts, to Pack and Go the assembly (which gathers every referenced file into one bundle), or to export a single self-contained file such as a STEP or an eDrawings EASM that carries the geometry inside it.
Mates: the constraint solver at the core
Mates are the relationships that turn a pile of parts into a mechanism. Each mate constrains the degrees of freedom between two component faces, edges or reference geometries. The standard mates are the geometric ones:
| Mate | What it constrains |
|---|---|
| Coincident | Two faces/edges/points share the same plane or location |
| Concentric | Two cylindrical faces share an axis (a shaft in a hole) |
| Parallel / Perpendicular | Fixes the angle between two references at 0° or 90° |
| Distance | Holds a fixed gap between two references |
| Angle | Holds a fixed angle between two references |
| Tangent | A face stays tangent to a curved face |
When the file is opened, SOLIDWORKS feeds these constraints to its geometry solver, which computes a consistent position for every unfixed component. A fully constrained assembly has one solution; an under-constrained one leaves components free to drag, and an over-constrained or conflicting set of mates produces the errors flagged in the tree. The assembly stores the mate definitions, not the solved positions alone, so the solver re-runs whenever a part changes size, which is what lets a design update ripple through the product. Advanced and mechanical mates (width, gear, cam, limit) add motion relationships on top of the basic geometric set.
Configurations, assembly features and the preview
A single .sldasm can hold several configurations: named states of the same assembly with different suppressed components, dimensions or display settings. One configuration might be the fully assembled product and another an exploded view for a manual, or a family of product variants (short, medium, long) driven from one file. The file stores each configuration's overrides rather than duplicating the whole assembly.
Assembly-level features are cuts, holes or patterns applied after the components are combined, affecting several parts at once rather than editing each part file. The container also holds a rendered preview image and tessellated display graphics, so a viewer or file browser can show the assembly without loading and solving the full model. That embedded preview is what eDrawings and shell thumbnail handlers read for a quick look.
Version lock and neutral exports
The format is closed and version-specific. A newer release of SOLIDWORKS opens files saved by older releases, but an older release generally cannot open a file written by a newer one, and there is no downgrade save. This one-way compatibility is a frequent source of “the file won't open” reports between people on different SOLIDWORKS versions, and it is a reason to keep neutral copies.
To move an assembly out of the SOLIDWORKS ecosystem you export a neutral format. STEP (.step/.stp, ISO 10303) is the general interchange choice, read by Fusion 360, Inventor, FreeCAD and Onshape; it carries the solid geometry as one model but drops the editable mates and feature history. IGES is the older surface/solid equivalent. For 3D printing, STL and OBJ tessellate the assembly into a single triangle mesh with no component structure. For review without any CAD program, an eDrawings .easm or a 3D PDF bundles the geometry so a recipient can rotate and measure it. None of these round-trip back into an editable assembly, so the .sldasm plus its parts remains the master.
Reading a SLDASM without SOLIDWORKS
SOLIDWORKS itself is Windows-only and licensed, but the file can be viewed without it. The free eDrawings Viewer from Dassault opens .sldasm directly on Windows, macOS, iOS and Android to rotate, explode, measure and print. Autodesk Fusion 360 imports SOLIDWORKS assemblies for viewing, editing and re-export on both Windows and Mac. For a lightweight look, several browser-based CAD viewers accept an uploaded .sldasm and render its embedded graphics. In every case, remember the reference model: a viewer can only show what the file contains, so a bare assembly missing its parts still opens incomplete unless it was exported as a self-contained STEP or eDrawings file.
References
- SOLIDWORKS — official site (Dassault Systèmes)
- SOLIDWORKS Help — Assemblies
- eDrawings Viewer — free CAD viewer
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.