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_INITIALIZE_DATA(A3DRWParamsLoadData, sReadParam);
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.

If you need more detail about the load parameters, see import_params_reference.

For guidance on working with tessellation, consult extracting_tessellation.

Boundary Representation (B-rep)

As noted in the above table, 3DS is a tessellation-only format. Consequently, other data such as Product 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:

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.