As described by McHenry et al. (2008; 2011), a vast array of file formats exist for 3D data, each with varying properties and capabilities with regard to how they store geometry, textures, light sources, viewport and cameras. An overview of common formats is given below (table 1, after McHenry and Bajcsy 2008). Recommended formats are discussed in more detail in Section 3 alongside the specific storage properties of common formats (table 2).
Table 1: Overview of common 3D data formats
|Format||Properties / Technologies||Description||Recommendations|
|.x3d||ISO standard XML-based format developed by the Web3D consortium||The X3D format (extensible 3D graphics) was developed by the Web3D Consortium and has been ISO certified since 2006. The format is suitable for the storage of single 3D models as well as of complex 3D content such as virtual reality. The format succeeds VRML and, as such, should be preferred to it. The format is core to 3D in HTML5.||Suitable for preservation and recommended for complex 3D content.|
|.dae||COLLADA XML-based exchange format||COLLADA (collaborative design activity) is an XML-based format developed by the not-for-profit Khronos Group consortium and designed as an interchange format for complex 3D data. ISO/PAS 17506:2012 provides a standardised specification for the COLLADA schema.||Suitable for preservation and recommended for 3D content where x3d is not an option.|
|.obj (also includes optional .mtl and .jpg files)||Wavefront OBJ file||The open OBJ format was developed by Wavefront Technologies and is supported by a large user community with open specifications. The format stores both geometry and textures and consists of an obj file (ascii or binary format) together with an mtl (material/texture) file and image (actual texture).||Suitable for preservation of wire frame or textured models. ASCII format is preferred for preservation.|
|.ply||Stanford polygon file format||The PLY format, also known as the Stanford Triangle Format, is a simple format with ASCII and binary versions developed at Stanford University primarily for 3D scanning data. The format is inspired by OBJ but allows extension to incorporate a variety of properties including colour and transparency, surface normals, texture coordinates and data confidence values. The format also allows different properties for the front and reverse of a polygon. While the addition of certain extensions will not make the format unreadable, not all software supports all extensions so data may at best be unread or, in a worst case scenario, be discarded when files are resaved.||Suitable for preservation (ASCII version) although file content should be clearly documented.|
|.vrml, .wrl, .wrz||Virtual Reality Modelling Language||Virtual Reality Modelling Language is a text-based standard (ISO/IEC 14772) for representing 3D interactive vector graphics and is the predecessor of X3D. The most recent version was published in 1997 as VRML97||Suitable for preservation although now replaced by X3D.|
|.u3d||Universal 3D format||The Universal 3D format has been developed by the 3D Industry Forum and was standardised by Ecma international (ECMA ) in 2005. U3D is a compressed format, designed for data exchange, and offers a similar functional range as X3D and COLLADA and has been especially developed for 3D contents of PDF-documents.||Unsuitable for preservation.|
|.stl||Stereolithography or Standard Tessellation Language||STL was developed by 3D Systems and is prevalent in the field of 3D printers and digital fabrication. The ASCII version of STL only stores 3D model geometry (no textures) whereas the binary version, with the help of an extension, also saves colour information and requires less storage space. While an old format, STL is still well supported, particularly by 3d scanners, and is easy to transfer data to due to its simple structure and human readable format. As the format only exports surfaces not lines it is not suitable for photogrammetry.||Suitable for preservation (ASCII format) for very basic datasets (see supported properties in table 2).|
|.dxf||Autodesk Drawing Interchange Format||The Autodesk DXF format is primarily a CAD data exchange format and should only be used for 3D content created by CAD software. The format itself has undergone many revisions and updates over its long history with the format capability evolving over time. More information on the DXF format is available in the CAD guide.||Only suitable for preservation of native CAD datasets.|
|.fbx||Autodesk 3D asset exchange format||A proprietary interchange format owned by Autodesk. The FBX formats aims to support data exchange between 3D software such as Maya and 3DS Max and files can include animation, textures, and geometry.||Not suitable for preservation.|
|.3ds, .max||Autodesk 3DS Max files||Proprietary binary formats used by Autodesk 3DS Max.||Not suitable for preservation.|
|.skp||Google Sketchup format||Native format used by Google SketchUp.||Not suitable for preservation.|
|.blend||Blender format||Native Blender binary format for complex 3D datasets.||Not suitable for preservation.|
|.prc||Product Representation Compact format||PRC is a highly compressed format for storing 3D design data and is largely used in CAD/CAE/CAM environments and within the 3D PDF format. The format was adopted as the ISO standard ISO14739-1 in 2014.||Not suitable for preservation.|
|Adobe Portable Document Format||3D content in PDF files is based on the U3D and/or PRC formats (see above).
The PDF format is self-contained and allows basic operations such as measuring, cross sections, light sources, wireframe views. While convenient for viewing data without specialist software the format is largely a ‘dead end’ in that data cannot easily be extracted.
|Not suitable for preservation.|
|.nxs||Nexus format||Nexus is an open source multiresolution format developed by CNR-ISTI. The Nexus software package includes a format specification alongside tools for the conversion of .ply files to the multiresolution format and a visualisation library aimed at the interactive rendering of very large surface models. The format is used by 3DHOP, an open source platform for web-based visualisation of large 3D meshes.||Not suitable for preservation|
 Specifications are available for both the OBJ (http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/) and MTL (http://paulbourke.net/dataformats/mtl/) components.