Get Houdini3DM (Gumroad) [yutohw.gumroad.com]
Documentation [github.com]
Hey all,
I work between Rhino and Houdini a lot, and moving models across through OBJ or FBX has always been annoying. You lose the layers and blocks, you don't get NURBS from Houdini, and curves and points are all over the place. So I made a pair of HDAs that read and write .3dm files directly and cleanly.
---
Rhino 3DM Import
Point it at a .3dm and the Rhino scene comes in as Houdini geometry, with its structure kept as attributes.
- Breps, meshes, curves and points
- Dissolve Flat Faces turns Rhino's triangulated render mesh back into clean n-gons
- Curves as polylines or NURBS
- Rhino Blocks translated to Houdini geometry with attributes for CopytoPoints workflow
- Layer paths, object names, materials and colours come in as attributes, plus a group per layer.
---
Rhino 3DM Export
Writes Houdini geometry back to .3dm.
- Flat regions written as planar NURBS surfaces
- Tessellated cylinders, cones and fillets refitted as single NURBS surfaces
- Curves refitted to lines, arcs and splines
- Rhino block creation via block string attribute
- Recall the import scale and offset, so geometry lands back where it started in Rhino
Rhino's NURBS kernel is needed for trimming and joining, so export is two steps. Houdini writes the outlines, then the included "HouRebuild.py", run in Rhino, joins them into polysurfaces. Set it up as an alias for quick access.
---
Blocks
Blocks come in as definitions + instance points, the same setup CopytoPoints uses. So you can edit a block definition, move or add instances procedurally, and export it back as real Rhino blocks. You can also create rhino native blocks in Houdini by adding block attributes to your own definitions and instance points.
---
Requirements
- Houdini: 22.0, 21.0, 20.5 – Windows
- Rhino: 7 or later, only for HouRebuild.py
- Included: rhino3dm (bundled, nothing to pip install)
---
Get Houdini3DM (Gumroad)
Demo Video
Documentation [yutohw.gumroad.com]
