Introduction
3DM is the native file of Rhino, the NURBS modelling program from Robert McNeel & Associates, used in industrial, jewellery, marine and architectural design. A model holds exact curves, surfaces and solids (polysurfaces), meshes, points, annotations, layers, materials, named views and block definitions.
Unlike most program formats, 3DM is open to anyone: McNeel publishes openNURBS, a free toolkit that reads and writes it, so other programs can open Rhino models without Rhino.
Structure
A 3DM file is binary. It starts with a 32-byte text header beginning
3D Geometry File Format and ending with the file version number. A series
of chunks follows, each with a type code and a length, so a reader can skip what it
does not understand. They hold notes about the file and the program that wrote it,
the model settings, then tables of materials, layers, block definitions, objects and
the model’s other parts, and finally an end mark.
Each version of Rhino writes a new file version, and openNURBS can read all of them and write recent ones.