Import Rhinoceros 3D files into Blender

Create a null and scale it down to %10, when imported make it a parent using the object properties panel, so that you do no need to track it all the time. Using Ctrl+P does not seem to inherit the parent’s scale.

Hi there. Any updates regarding this addon? It would be really nice if there was a way to maintain changes to the imported Rhino file such as material changes among others when models are re-imported from Rhino. Currently in an archviz workflow where there are constant changes to the project it is difficult to redo texturing every time the model is updated. Any thoughts?

1 Like

Ah, no updates yet. Sorry. Been a bit busy with clipping volume code in Raytraced (Cycles for Rhino).

It is on the list to maintain (material) changes done in Blender when reimporting a file, though.

4 Likes

Nathan, I just want to thank you for your work! The add-on is a truly time (life) savior!

1 Like

Hi, Nathan!
Is it possible to weld vertices along edges while importing into Blender? I think it’s impossible, because this must be done on export stage, but maybe.
Thanks in advance!

@Egor, I think I get what you want, but it would help if you could provide a (very) simple 3dm file that shows you an object for which you want welding to happen. In reality, wouldn’t it be pretty much merge by distance with distance some very small number?

1 Like

Hi I’m quite interested in this addon, and I have a question: the rhino3dm python module can be installed only having Python installed on the system? Can’t it be placed somewhere where the addon can find it and “communicate” with it?
I mean Blender uses a lot of python regardless of having it installed on the system, can’t it work also for the rhino3dm module?

@jesterKing, yes, in reality, you need to apply merge by distance to weld vertices, because after importing of Rhino file, you get object with separate faces. It would be great to automate this extra step.

Sure, just use pip from your command-line to install the rhino3dm module. As long as it is in sys.path for your Blender it can be imported and used by the import_3dm add-on.

Understood, shouldn’t be a problem to add.

1 Like

ehm sorry, I should have asked more directly: so this whole addon is working only if I have Python installed right?
No Python installed (windows here) = I can’t use rhino3dm module = i cant use import_3dm addon

You don’t need to have Python installed. I released today a version where on Windows the dependencies will automatically be installed entirely contained within Blender paths - no need for a separate Python install.

3 Likes

Cool! So all I have to do is install the zip add-on?

@jesterKing After a lot of struggle I need your advice… I followed the instructions step by step but still can’t use the addon. It says that it is installed and when I go to blender’s addon directory it is there, but unfortunatly still can’t import a .3dm file. I do have python3.7, rhino3dm.py and tried a few more things but nothing. Would like some advice, thanks in advance!

Managed to get it work. I think blender wasn’t getting pip from the native windows python. Installed ensurepip with command prompt following the steps on this site ->http://www.codeplastic.com/2019/03/12/how-to-install-python-modules-in-blender/
and it worked!

1 - make sure were blender is installed, you can type on blenders python:

      >>>import sys
      >>>sys.exec_prefix
      (gave me this) 'C:\\Program Files\\blender-2.80.0-git.699193713fc0-windows64\\2.80\\python'

2 - On command prompt I changed the directory from “C:\WINDOWS\system32” to “C:\Program Files\blender-2.80.0-git.699193713fc0-windows64\2.80\python” by typing:

cd C:\Program Files\blender-2.80.0-git.699193713fc0-windows64\2.80\python

3 - Then typed to install pip:

 .\bin\python.exe -m ensurepip

4 - And finally, to install rhino3dm:

 .\Scripts\pip3.exe install rhino3dm

It worked for me, I think that I’m the only one dumb here but if you have the same problem as me I hope you can fix it with this!

Then to make that, do you have python installed on your windows?

edit: nevermind! i should have followed your link before asking…

The latest release should be able to install the necessary dependencies itself, though.

1 Like

Hi Guilherme, I find myself in a similar situation as you did, but I have not managed to make it work following your steps. I get the report error showed in the attached image.

Any ideas on what else I can try? I have pip3.7, rhino3dm installed through “pip3.7 install rhino3dm”, using ensurepip, etc., all from Blender’s python directory.

1 Like

Hi @izantux,

Actually I have no clue… Anyways, you could try to install python 3.7 and use the command prompt to install “rhino3dm.py” to the system and not to blenders python directory only. I don’t know if it will work but I did it before installing the things I have mentioned on the previews post to blenders python directory.
Make sure you have CPython installed throw pip.
I dont know if it makes sense to have or install it but when I read the installation for “rinho3dm” throw python on this site https://github.com/mcneel/rhino3dm I just installed it because they have mentioned it.
Hope it helps and I’m really sorry for not being able to help that much!

I really want try this, but I’m unable to install…
I have installed rhino3dm, pip and cython and started blender with sudo… but I get the same errors,

Failed to load rhino3dm, trying to install automatically...
Installing rhino3dm to /home/pafu/.config/blender/2.80/scripts/addons/modules... 
The directory '/home/pafu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/pafu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting rhino3dm
  Downloading https://files.pythonhosted.org/packages/2d/4d/933b108e41988ad3987e5e1545b85a639578ec30ab332086dc13170645d3/rhino3dm-0.7.1.tar.gz (4.8MB)
    100% |████████████████████████████████| 4.8MB 290kB/s 
Installing collected packages: rhino3dm
  Running setup.py install for rhino3dm ... done
Successfully installed rhino3dm-0.7.1
Traceback (most recent call last):
  File "/home/pafu/.config/blender/2.80/scripts/addons/import_3dm/read3dm.py", line 113, in <module>
    import rhino3dm as r3d
  File "/home/pafu/.config/blender/2.80/scripts/addons/modules/rhino3dm/__init__.py", line 5, in <module>
    from ._rhino3dm import *
ModuleNotFoundError: No module named 'rhino3dm._rhino3dm'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pafu/Software/blender-2.80/2.80/scripts/modules/addon_utils.py", line 351, in enable
    mod = __import__(module_name)
  File "/home/pafu/.config/blender/2.80/scripts/addons/import_3dm/__init__.py", line 43, in <module>
    from .read3dm import read_3dm
  File "/home/pafu/.config/blender/2.80/scripts/addons/import_3dm/read3dm.py", line 121, in <module>
    raise Exception("Please restart Blender.")
Exception: Please restart Blender.


You shouldn’t have to start as sudo, since all dependencies are installed in user-writable locations. Did it work after restarting Blender as suggested by the exception message?