# Autodesk 3DS Reader

3DS
File Extension | 3DS
Supported Versions | Any
Platforms |
Tessellation | Supported
Boundary Representation (B-rep) | Unsupported by format
PMI | Unsupported by format

3DS is a binary 3D file format provided by Autodesk. The typical 3DS file extension is .3ds.

## How to Import From 3DS

Reading `Autodesk 3DS` files follows the same pattern as other formats: configure load parameters, then call the standard load function.

To load a 3DS file, use `A3DAsmModelFileLoadFromFile()`.

The `A3DParamsLoadData` structure is used to customize the loading behavior:

    A3DAsmModelFile* pModelFile = 0;

    A3DRWParamsLoadData sReadParam = A3D_MAKE_DATA(A3DRWParamsLoadData);
    sReadParam.m_sGeneral.m_bReadSolids = true;

    // ... set other A3DRWParamsLoadData fields as necessary

    A3DAsmModelFileLoadFromFile("path/to/file.3ds", &sReadParam, &pModelFile);

See Simple Load and Export for more about loading model files.

## Boundary Representation (B-rep)

As noted in the above table, 3DS is a tessellation-only format. Consequently, other data such as Product and Manufacturing Information (PMI) and Boundary Representation (B-rep) are not supported by the format, including when using 3DS with HOOPS Exchange.

## Format-Specific Notes

### Assembly

The 3DS extension is a simple 3D format. As such, complex assembly structures are not supported.

### Textures

Textures are fully supported when parsing 3DS files.

In 3DS files, texture filenames follow these conventions:

> - Limited to 12 characters
> - Stored without the folder path
> - Typically capitalized

As a result, the texture name stored in the file may differ from the actual texture file to be loaded.

During import, HOOPS Exchange searches for a corresponding texture by comparing truncated and capitalized versions of the filenames found in the search folders. It will use the first match it encounters.

The search folders are in the following order:

- The parent folder of the 3DS file
- The folders specified in `A3DRWParamsGeneralData.m_ppcSearchTextureDirectories`

### 3DS and Default Units

The default measurement unit differs between the 3DS and PRC file formats; 3DS uses inches, whereas PRC uses millimeters. Consequently, the values are converted when the file is read by HOOPS Exchange.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...