Convert Rhino 3DM to OBJ
Rhino out, and into whatever you model or render in. OBJ keeps the separate objects and their names, which an STL cannot, so a Rhino file with twenty named parts arrives as twenty named parts rather than one lump of triangles.
Drag a 3D file here, or.
This page is set up for Rhino 3DM files. Other formats we can read work here too.
The file is read on your own computer. It is never uploaded.
Your file is read by your own browser and never sent to a server. There is no upload, no account and no copy of your model anywhere but on your computer.
Names and parts survive, which is the reason to choose OBJ
Rhino names its objects, and designers use those names. An STL throws every one of them away and merges everything into a single body. OBJ has named groups, so each Rhino object becomes a group with its own name.
That matters most for anything going into Blender, Cinema 4D, 3ds Max or a renderer, where the first thing you do with an imported model is find the part you want to work on. With names, that takes a second. Without them, you are selecting faces by hand.
What you are actually getting
The render mesh Rhino saved, not the NURBS surfaces. A 3DM holds exact mathematical surfaces and OBJ holds triangles, so the conversion is a tessellation, and the density is whatever Rhino’s display mesh setting was when the file was saved.
For rendering and for games that is usually right, because Rhino’s render mesh is built for display. For anything where you need to keep editing the surfaces, export a STEP file from Rhino instead and take that into a CAD program.
Units: metres, millimetres, and the box you need to set
Rhino records its document unit and this reader uses it, so the size is a fact. OBJ records nothing at all, so what the file means is decided by whichever program opens it — and Blender reads an OBJ as metres.
A ring modelled in millimetres therefore arrives in Blender as something the size of a house unless you set the output unit box. If the model is going into a modelling program, set it to metres. If it is going to a printer, millimetres.
What survives, and what does not
Kept in the OBJ file
- Every object as its own named group
- The document unit, converted to whatever you choose
- Object colours, written into a .mtl file beside the OBJ
Lost on the way
- The exact NURBS surfaces, which become Rhino’s own render mesh
- Curves, points and annotations — OBJ holds only surfaces
- Objects on hidden or switched-off layers, which are counted
How to convert Rhino 3DM to OBJ
Save from Rhino with "Save Small" unticked
Without the render meshes there is nothing in the file for any reader to use.
Drop the .3dm file in
The Rhino reader is fetched once, about a megabyte, and cached by your browser.
Check the object list
Each Rhino object is a row with its own name. Switch off anything you do not want in the OBJ.
Set the output unit for where it is going
Metres for Blender and most modelling programs. Millimetres for printing or CAD.
Download
If the objects carry colours you get a ZIP with the .obj and its .mtl inside. If not, a single .obj file.
Rhino 3DM and OBJ compared
| Property | Rhino 3DM.3dm | OBJ.obj |
|---|---|---|
| File contents | Binary, in Rhino’s openNURBS format. The reader is published as open source. | Plain text, one item per line. Materials live in a separate .mtl file beside it. |
| Geometry | NURBS surfaces and curves, plus meshes and SubD objects. | Triangles and polygons. Also stores free-form curves, which almost nothing writes. |
| Units | Recorded in the file, along with a model tolerance. | None. Like STL, the numbers are bare, though exporters usually mean metres. |
| Colour and texture | Materials, layers and display colours. | Material names and texture coordinates, with the materials themselves in the .mtl file. |
| Separate objects | Objects on named layers, with blocks for repeated parts. | Named objects and groups, each able to carry its own material. |
| Published by | Robert McNeel and Associates. The specification is deliberately open. | Wavefront Technologies, 1980s, for the Advanced Visualizer. |
| Written by | Rhino, Grasshopper, and Matrix in the jewellery trade. | Blender, Maya, 3ds Max, ZBrush and most modelling programs. |
Questions
- Why is my model enormous in Blender?
- Blender reads an OBJ as metres and your Rhino document was probably in millimetres. Set the output unit box to metres before downloading, or scale by 0.001 in Blender.
- Can I keep the NURBS surfaces?
- Not in an OBJ — the format holds triangles and nothing else. Export a STEP file from Rhino if the surfaces need to stay exact, and take that into a CAD program.
- Do the layers come across?
- Object names do; layers do not. OBJ has one level of grouping and Rhino layers are a separate idea, so the names are the more useful of the two to keep.
Where to go next
Other things to do with a Rhino 3DM file
Other ways to get a OBJ file
Related guides and tools
- Repair an STL that will not sliceClose the holes and separate the bad edges so a slicer accepts it
- Reduce the size of an STL fileFewer triangles, the same shape, a much smaller file
- Check whether an STL is ready to printFind out what is wrong with a model before you print it
- Convert BLEND to OBJGuide
- Convert BLEND to STLGuide