# Export from Rhino to Blender preserving solids and layers?

**URL:** <https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965>\
**Category:** Rhino for Windows\
**Tags:** windows\
**Created:** [December 4, 2024, 9:26am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965 "2024-12-04T09:26:11Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [December 4, 2024, 9:26am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/1 "2024-12-04T09:26:11Z")

</div>

Hi everybody,  
I can’t export from Rhino to Blender preserving both layers and solids.

if I export in OBJ I can tessellate the mesh as I want and the imported mesh in Blender is perfect (manifold solid and with proper normals and shading), however, the layers are lost.

If I export in Glb or glTF I can preserve layer structure but the models are imported as exploded geometries (when I export and import preserving normals), or non-manifold geometries with bad flat shading (when I export without vertex normals and welding the vertices at import in Blender).

I’ve found these threads but none of them helped me solve the problem,

> [@Exporting from Rhino to Blender](https://discourse.mcneel.com/t/exporting-from-rhino-to-blender/151389):
>
> Hi all! I decided to create this new topic because I want to keep on track my experimentations between Blender and Rhino so maybe someone on the road can give some advice or check it in case of help. I was creating some 3d models and importing them to Blender changing configurations. I found some issues that I wanted to explain here in case somone wants to have a chat related to it. My actual solution: exporting as OBJ with these options: Pros: Model …

> [@Transferring Rhino to blender](https://discourse.mcneel.com/t/transferring-rhino-to-blender/131353):
>
> @nathanletwory I tried the [blender importer](https://discourse.mcneel.com/t/accurate-exporting-as-obj-from-rhino-to-blender/107357/2) you wrote, but I don’t get good result with it as the normals of the meshes are not being transferred properly. If I export as OBJ, it gives close to perfect results. So I wonder if you can make the importer for Rhino files behave the same as the OBJ version, with the added benefit of importing the size correctly slight_smile example Rhino objects (turned on mesh display to see the differences, custom meshes): imported in blender:

here’s the bests settings I’ve found for both OBJ and Glb but with the problems I’ve described before

 ![obj settings](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/7/2/2/722b2d6168d6460dfb58f445dbb1d8c94847c5b5.jpeg)

 ![glb export import](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/6/9/6/69626d58a85d64b0766dbc997a14aa7df391f4d8.jpeg)

Here you can find some test objects and files.

[test.3dm](https://discourse.mcneel.com/uploads/short-url/flFSH6pgF3RQevSjr7xxJD5bwCE.3dm) (6.8 MB)  
[preserved layers but non manifold.glb](https://discourse.mcneel.com/uploads/short-url/f85eX7YkjDSxyD9xUBmzZz0DLxl.glb) (2.2 MB)  
[merged objects but solid.obj](https://discourse.mcneel.com/uploads/short-url/pMZPTzMQToPHCYbXW8JGmJeI5fr.obj) (15.4 MB)

A partial solution I’ve found is exporting the layers from Rhino 1 by 1 as OBJ and reorganising them manually in Blender but it is very cumbersome, do you maybe have a better solution for this problem?

I guess the problem is due to the fact that the mesh exported by Glb and glTF is the visualization mesh which is less accurate than the mesh calculated for OBJ, or maybe it’s the blender Glb import options which are less robust than the obj import options.

Does anybody has a solution for this?

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [December 4, 2024, 9:46am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/2 "2024-12-04T09:46:54Z")

</div>

Have you tried my Blender add-on [import\_3dm](https://github.com/jesterKing/import_3dm/releases/latest)?

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/c/2/4/c2480f5dff86d910390afe6f3a05b482913da7bb.jpeg)

---

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [December 4, 2024, 9:58am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/3 "2024-12-04T09:58:17Z")

</div>

Yes, you did a terrific job with the plugin! unfortunately it imports exploded geometries (if you enter edit mode you will see that the solids are lost)

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [December 4, 2024, 10:02am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/4 "2024-12-04T10:02:48Z")

</div>

That is because Rhino mesh format has meshes with hard edges like this unwelded. You can simply do “Merge By Distance” in Blender in edit mode with all verts selected. And in object mode afterwards do Object \> Shade Auto Smooth.

---

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [December 4, 2024, 10:18am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/5 "2024-12-04T10:18:44Z")

</div>

Unfortunately, this does not always work, the visualization meshes in Rhino are not made to be welded in the first place, so at sharp edges some vertices will not always match and thus they will not weld properly leaving the objects open in Blender.

But if you try export manually from Rhino in obj format the mesh that is exported is not the visualization mesh is a newly calculated mesh which is much more robust and keeps the vertices at sharp edges aligned and welded, this makes the models perfectly solid and closed when imported in Blender while also preserving the split normal shading (giving that the original poly-surface in Rhino is closed).  
Also I can’t import 3dm with correct smooth shading with the plugin, it imports only flat shading for me

It would be amazing if it was possible to recalculate the meshes at import and not use the visualization meshes that Rhino has embedded in the file. But I’m sure this is not possible to do right from Blender. We would probably need a plugin to export a Blender file from Rhino rather than a plugin to import .3dm files into Blender, but I guess this would be much more difficult to do.

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [December 4, 2024, 10:39am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/6 "2024-12-04T10:39:36Z")

</div>

> [@riccardo.foschi2](#):
>
> Unfortunately, this does not always work, the visualization meshes in Rhino are not made to be welded in the first place, so at sharp edges some vertices will not always match and thus they will not weld properly leaving the objects open in Blender.

By default Rhino meshes are never welded on hard edges. But even then using Merge By Distance (mesh.remove\_doubles operator) and adjusting the distance from 0.0001 to say 0.001 or higher will work.

> [@riccardo.foschi2](#):
>
> But if you try export manually from Rhino in obj format the mesh that is exported is not the visualization mesh is a newly calculated mesh which is much more robust and keeps the vertices at sharp edges aligned and welded

Not by default. You have to actually change the meshing settings in the OBJ exporter and set things to be welded.

> [@riccardo.foschi2](#):
>
> Also I can’t import 3dm with correct smooth shading with the plugin, it imports only flat shading for me

Are you on the latest importer version 0.0.15?

> [@riccardo.foschi2](#):
>
> It would be amazing if it was possible to recalculate the meshes at import and not use the visualization meshes that Rhino has embedded in the file. But I’m sure this is not possible to do right from Blender. We would probably need a plugin to export a Blender file from Rhino rather than a plugin to import .3dm files into Blender, but I guess this would be much more difficult to do.

It would be much easier to just set the meshing settings in the document before you save.  
[riccardfoschi2\_\_test\_SmoothAndSlow.3dm](https://discourse.mcneel.com/uploads/short-url/187YtzW7Oa7nyWZ2kAV2GcmOVFi.3dm) (10.9 MB)

The document properties for this file

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/6/4/8/64886519a53b2538b244f87ecb94bfc765608845.png)

And imported into Blender

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/9/1/1/9113f0ffab89dcab40a99d9f46c83b266179ef80.jpeg)

Looks pretty smooth to me

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/3/6/8/368f0fcf0bbfa53a829d7d4dbcab2d0e77f52f4e.jpeg)

Still. Import using my addon, then do Merge By Distance and potentially Shade Auto Smooth.

---

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [December 4, 2024, 10:49am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/7 "2024-12-04T10:49:29Z")

</div>

Yes I’m on 0.0.15 version.

 ![Immagine 2024-12-04 114753](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/c/1/9/c19e5c27afd42d4ced601bb64b41fe065a9e0831.jpeg)

I don’t know what I’m doing differently, but I’ve used your 3dm file and I still see flat shading and also even if most vertices are welded some of them are not, you can try to filter the edges by trait and select non-manifold. I got this selection and in that point the mesh is not welded properly.

While if I export in obj and weld at export (in Rhino) and not at import (in Blender) it will weld them properly.

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [December 4, 2024, 11:00am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/8 "2024-12-04T11:00:23Z")

</div>

> [@riccardo.foschi2](#):
>
> I got this selection and in that point the mesh is not welded properly

Is this after Merge By Distance (`mesh.remove_doubles`)? I don’t see that here. Yes, I have to re-apply Shade Auto Smooth after removing doubles, but there are no unwelded vertices here.

---

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [December 4, 2024, 11:23am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/9 "2024-12-04T11:23:49Z")

</div>

Yep I followed all your steps and I still got non-manifold edges after welding, can you send your Blender file so I can check as well?

PS: I don’t want to exploit too much your time, you already helped a lot, but in case you’d like to debugging the issue together maybe it’s faster to do it face to face in a 10 minutes meeting on any meeting platform you’d like, if you think it’s feasable I’m available anytime!

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [December 4, 2024, 2:40pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/10 "2024-12-04T14:40:26Z")

</div>

[riccardofoschi2.blend](https://discourse.mcneel.com/uploads/short-url/zLOgE1EBF0ENiqadjRPhnywzMjY.blend) (6.0 MB)

---

<div class="post-metadata">

**Author:** ![Ante\_Ljubas](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/ante_ljubas/32/519090_2.png) [@Ante\_Ljubas](https://discourse.mcneel.com/u/Ante_Ljubas)\
**Post date:** [December 5, 2024, 5:33pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/11 "2024-12-05T17:33:24Z")

</div>

Have you tried iges or step as brep fileformats?

> **[STEP import](https://blenderartists.org/t/step-import/1203804/573)**
>
> I have tried CAD Assistnat 1.4, 1.5 and 1.6. Before this I was often able to import files with 1.4 which 1.5 and 1.6 would not import. But this time the error is different. My RAM fills up and windows crashes. Not only Blender or CAD Assistant...

---

<div class="post-metadata">

**Author:** ![luis88luis](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/luis88luis/32/477874_2.png) [@luis88luis](https://discourse.mcneel.com/u/luis88luis)\
**Post date:** [March 24, 2025, 2:04pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/12 "2025-03-24T14:04:18Z")

</div>

This is dope. Keep the good work! These days I do a few renderings from Rhino to Blender but for sure I could use this in a near future.

---

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [April 22, 2025, 9:35am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/13 "2025-04-22T09:35:45Z")

</div>

> [@nathanletwory](#):
>
> Is this after Merge By Distance (`mesh.remove_doubles`)? I don’t see that here. Yes, I have to re-apply Shade Auto Smooth after removing doubles, but there are no unwelded vertices here

After all this time I’ve finally discovered why it didn’t work for me and worked for you, I was using a wrong welding vertices distance, now it works by setting 0.0001 vertex distance when welding on Blender.

Thanks!

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [April 22, 2025, 10:03am UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/14 "2025-04-22T10:03:20Z")

</div>

I have updated import\_3dm to version v0.0.16, double-removing is done automatically now: [https://www.rhino3d.com/download/rhino/8/import\_3dm/](https://www.rhino3d.com/download/rhino/8/import_3dm/) .

---

<div class="post-metadata">

**Author:** ![PeterB](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/peterb/32/767001_2.png) [@PeterB](https://discourse.mcneel.com/u/PeterB)\
**Post date:** [April 22, 2025, 3:49pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/15 "2025-04-22T15:49:49Z")

</div>

Beauty. Just tested in blender 4.4 and works nicely for importing 3dm from rhino 8 on windows.

Do you have a workflow for doing back and forth trips between rhino and blender?  
For example, Im developing a building in rhino as I can control the dimensions, do plan/section/detail layouts with notes/dimensions, but I want to texture/render it in Blender. So I use your plugin to import the model and do my texturing in blender. However, at some point, some of the dimensions might change in the model in rhino, or new elements added.

Any suggestions for how best to update the blender version of the textured/lit model to reflect the changes/additions in rhino version of the model?

Do you have a help or faq for this plugin by chance?

Thank you for this plugin!

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [April 22, 2025, 3:57pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/16 "2025-04-22T15:57:46Z")

</div>

I do not have a workflow to go back and forth. I know this is something people have been wanting for quite a while, but there is nothing that would help with that currently. If you were to work with meshes only then you could export from Blender as OBJ and import that into your Rhino. But there is not a good way currently to maintain say a polysurface as a polysurface in a roundtrip way.

I personally only really go from Rhino to Blender for rendering and animation - modelling I can do in Rhino.

---

<div class="post-metadata">

**Author:** ![riccardo.foschi2](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/riccardo.foschi2/32/674544_2.png) [@riccardo.foschi2](https://discourse.mcneel.com/u/riccardo.foschi2)\
**Post date:** [April 22, 2025, 4:18pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/17 "2025-04-22T16:18:35Z")

</div>

That’s great! Thanks!  
R

---

<div class="post-metadata">

**Author:** ![PeterB](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/peterb/32/767001_2.png) [@PeterB](https://discourse.mcneel.com/u/PeterB)\
**Post date:** [April 22, 2025, 4:44pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/18 "2025-04-22T16:44:48Z")

</div>

Thanks Nathan. Is this something that is possibly in the works? How best to encourage someone with the required coding knowledge to develop this capability.

---

<div class="post-metadata">

**Author:** ![nathanletwory](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/nathanletwory/32/482880_2.png) [@nathanletwory](https://discourse.mcneel.com/u/nathanletwory)\
**Post date:** [April 22, 2025, 5:27pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/19 "2025-04-22T17:27:20Z")

</div>

> [@PeterB](#):
>
> How best to encourage someone with the required coding knowledge to develop this capability.

Give huge amounts of money? 😉

Anyway here’s an old thread on the topic [Rhino Inside in blender](https://discourse.mcneel.com/t/rhino-inside-in-blender/95950) .

I’ve done some prototyping, experimental stuff. But nothing has yet come of it.

---

<div class="post-metadata">

**Author:** ![PeterB](https://sea3.discourse-cdn.com/mcneel/user_avatar/discourse.mcneel.com/peterb/32/767001_2.png) [@PeterB](https://discourse.mcneel.com/u/PeterB)\
**Post date:** [April 22, 2025, 6:08pm UTC](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965/20 "2025-04-22T18:08:38Z")

</div>

Money does the trick. 🙂 Maybe we can get a crowd fund going? Could grow into a nice amount.

btw Im importing a rhino model with the plugin and it’s showing up as curves. Any ideas why or how to resolve so comes in as solids? All layers are on in blender.

 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/b/4/e/b4e08f65a7cc4ee641ba352bef2a6dfac5f864e7.jpeg)  
 ![image](https://global.discourse-cdn.com/mcneel/uploads/default/original/4X/f/6/7/f67a83bf6776b2f7dd2348e9254a8b56d5f476b8.jpeg)

[Next page](https://discourse.mcneel.com/t/export-from-rhino-to-blender-preserving-solids-and-layers/195965.md?page=2)
