Rhino V7 Request: Save as Blender 2.8

Considering Rhino is now using Cycles, and Blender is now with 2.8 out, it would be amazing, as an architect, to design on Rhino and export to Blender for the final render, adding complex materials, use cloth tools which Blender has, and not have to add to the Rhino design a degree of complexity I only want for the final presentation products ( people, animations, moving grass with wind, trees moving with wind, all possible in Blender which represent a very cumbersome deal on Rhino )… so… if I can have a WishList for Rhino 7 it would be Save as… Blender 2.8 Cycles/Eevee File.

I hope since I just saw the WIP for 7 is out, it is proper time for this request. Regardless of the efforts going to importing the 3dm file into Blender, it could be simpler to have the export feature from Rhino, as it does with other software.


I already replied here

exporting to .blend format will be such a big undertaking that it won’t happen any time soon. The import_3dm plug-in that I created will do already a great job.

I don’t really see how writing a .blend directly from Rhino is any different from reading directly a .3dm into Blender.

One day I’d like to do a .blend writer for Rhino, but writing the add-on in Blender is far more easy and robust, since all the necessary technology already exists - for writing a .blend there is nothing in the .NET nor C++ with right license, thus nothing for Rhino.

So, reading .3dm into Blender using import_3dm then saving out the .blend file is currently the fastest and most versatile.


I’m very happy for getting a reply from you, I have been wanting to test the 3dm reader, I did not have the chance to test it yet but I’d like to thank you for putting the effort.

As an architect on Archicad, Archicad makes a great 3dm file already. If I can get that file with all the information ( lights, UV mapping, object hierarchy by layer ) it would solve my problems completely. Yes, the Blender 3dm import does the job, but to be honest, I still would like to press McNeil for full corporate support for Blender, regardless of your wonderful job, it would still be dreamy. I guess from the love and effort you put already into making it happen, you fully agree :slight_smile:

1 Like

I use Rhino and Archicad as a paid on my workflow… I make many scene objects and furniture design on Rhino and import on Archicad… or construct urban scenes on Archicad using Grasshopper as a base… today, for some quick high resolution renders on VRay, I simply save the Archicad as 3DM and do it all in Rhino already… I am studying Blender for replacing VRay, and adding Eevee… so… that’s the logic behind my reasoning ( and I do donate for the Blender foundation monthly… I’d back open source or at least very open software plataforms anyday over fully enclosed commercial ones any day )

Nice to hear you’re looking into EEVEE as a potential render engine. Rhino already does indirectly support Blender/Cycles development by having its own Cycles fork publicly available at https://github.com/mcneel/cycles, https://github.com/CCSycles and https://github.com/RhinoCycles. I suppose I could also submit our code changes as patches, but much of it is very specific to Rhino, so I’m expecting much of it not to be accepted anyway.

Anyway, your best way forward is currently using import_3dm. Since I work on Rhino this is also essentially support from Rhino for Blender - not very directly there either, but I am able to work on this :slight_smile: Further there have been some great code contributions by @tom_svilans, @joel_putnam - and I’m expecting cool stuff from @fertig.

1 Like

when rhino files over 600 mb it crashes so the import_3dm is not working exactly

You could follow in the task manager how the memory usage is during the import. I’m guessing at some point there is no free memory.

I have 32 gb ram. Ram usage is normal when I check. Also is there a solution for when I try to import hundreds objects in rhino layer to blender, the grouped file splited in parts. So the blender file is getting huge and hard to arrange layer system.

For architecture, import_3dm addon is not functional workflow.

Still… if I want to do an animation… and use Blender elements such as fluids and particle systems… which Rhino should not have… I’d love to just “save as Blender”, go to blender and do a small movie for my architectural project using my Rhino Geometry… and have Rhino as a pure design tool, and Blender as a pure ArchiViz tool… am I the only one who would see that as very interesting?

1 Like

It is very interesting indeed, but technically very challenging. There is no library for the Blender format, and it isn’t all that well documented. Creating an exporter in Rhino to the Blender format is going to be very time consuming, and difficult.

The Blender Python API is the best access to Blender. The closest we can get now is by writing an importer in Blender for Rhino 3dm files. Which I have started in the form of import_3dm. With all its shortcomings you can use it today. Rhino as your design tool, Blender as the visualization tool in all its glory.

I am working on a tighter Rhino<>Blender integration, but that is not yet ready. But it won’t be an exporter from Rhino to Blender. Nor an importer in Blender for Rhino. It will be better.

1 Like

I too have been looking for a long time to facilitate the work between Revit <> Rhino <> Blender.
I am a small developer in my spare time, So I started to think about it.
Nathan explains that it’s very difficult, I’m more radical, it’s almost impossible.

Technically, the problem with a blender file is that it doesn’t have a defined format. For the analogy with a human, when we write to explain an idea, we structure our idea on a paper for example. Blender writes the idea as is, without any predefined structure. He takes his memory and saves it to a file. So a Blend file reflects what is happening in the software itself.

Some software will make you think they can process blend files (like Unity). but that’s wrong, it opens Blender in the background to import or export the file to another format they can process. (These are utilities that avoid doing it yourself)

import_3dm already offers an advantage and Nathan seems motivated to continue.
To conclude, and because I pulled my hair out on this subject. You must find a workflow with “Blender import Rhino” rather than “Rhino export Blender”. Cause it’s probably one thing that won’t come.


Can you say more?

I would assume a Rhino.Inside implementation. We were able to recently tweak Rhino so running inside Blender would be possible.

1 Like

Oh!! Can I assume that Grasshopper can be used as a geometry generator in Blender?

You are always free to assume as much as you want :slight_smile: the future will tell us where we get.

The underlying structure is actually pretty well defined, and each Blender file contains the blueprint for all data structures written by the version of Blender the file was written with. This blueprint is called the struct DNA. Reading it isn’t still not an easy task, let alone writing it. For some parts you need version specific information,but that isn’t hard to get.

So, not impossible, just hard.

Here one basic description : https://formats.kaitai.io/blender_blend/index.html

and official documentation, based on the work by Jeroen Bakker:

I know, I sent you this link.

And at this topic, i have found

It uses the “sdna.blend” to generate the structure.
But it’s Java, I didn’t know how to use it.