Rhino.Inside.QGIS?

Hello Rhino.Inside developers,

After seeing ArcRhino, it got me thinking if it were possible to integrate rhino inside QGIS as well?

I posted on another thread and Scott Davidson prompted me to start a new one here. It seems that since QGIS does not have a .NET SDK which makes running rhino.inside much harder?

ArcGIS is a powerful tool, however the cost of a licence is a barrier for many architecture firms, QGIS being open-source is more cost effective and also in the spirit of the rhino.inside project.

My own firm would much rather use QGIS and I am pretty sure others use it as well, like Woods Bagot Superspace and intensivefieldslabs

integrating GIS has a lot of potential for architecture & urban design, would be great if Mcneel could develop this or provide support.

Regards,

1 Like

Bump, forgot to add that I am happy to take on this project if I could be pointed in the right direction by the Mcneel team??

Hello @kai.aurelien.zhu!
I’ve used QGIS several years ago and it is a really nice tool. How can users extend its functionality? From a quick google search it seems one could write a plugin in c++ or python? You’ll have to help us here since not many of us are well versed on QGIS. If one can write a plugin in python, it might be possible to run Rhino.Inside.Python.Inside.QGIS (mouthful!) or you could write some file IO with the rhino3dm.py library. My suggestion is to get started with rhino3dm.py (samples) and then take a look at Rhino.Inside.CPython.

Take all of this with a grain of salt as I’m far (very far) from a python expert. @nathanletwory has written an import_3dm plugin for Blender that you might want to take a look at.

2 Likes

The import_3dm plug-in I wrote doesn’t use Rhino.Inside but rather just rhino3dm.

I tried Rhino.Inside using CPython in Blender, but there is still a bug that crashes Blender when trying to load Rhino.Inside. That said, it works fine in regular Python, so it very well may work with QGIS.

2 Likes

Hey Luis thanks for the speedy response! I’ll definitely check those resources out, maybe it won’t be as technically feasible compared to Rhino.Inside.ArcGIS… will give it a shot anyway.

In terms of extending its functionality, the big one in my opinion would be access to the Grasshopper plugin ecosystem, specifically related to simulation and optimisation (Urbano, Wallacei, DeCoding spaces toolbox). The GIS discipline is mature and connecting the data directly to Rhino/Grasshopper via Rhino.Inside would remove quite a large barrier for interoperability and I think have a massive impact on Urban Design at the very least.

A number of existing Grasshopper plugins exist which can work with GIS data of course… but then again it was the same situation with Grasshopper -> Revit before RiR. None are as sophisticated as a rhino.inside project could be.

2 Likes

Luis, Kai

I’m very, very interested to see this develop. I would try to help where possible.
@kai.aurelien.zhu have you tried the ShrimpGIS… also good for the current situation.

1 Like

Hi Luis and Kai,
I know this is somewhat of an old post but wanted to revive it. We are very interested in connecting Urbano.io with QGIS. We have some use cases in mind but It would be helpful to start a discussion here.

1 Like

QGIS could probably be now linked to Rhino thru the Hops component for CPython. Would it be possible to run the Hops libraries in QGIS?

1 Like

I am confused. Your site shows a nice integration with Grasshopper and Rhino. Is there a certain aspect of that you would like it to do more? Is Urbano.io in CPython? C#?

The Hops component allows for some really interesting connections that may work for you:

Hi Scott - thanks for your questions. We developed Urbano in C# and it integrates well with Grasshopper and can import urban data from multiple sources such as SHP files or OSM data. I know some users would like to see a more smooth link into GIS tools and I am wondering what the best approach for this would be. It would be wonderful to hear from users what workflows they would like to see. I can imagine simple ways to share data via shp or geoJSON (allowing export via Urbano), I can also imagine that users might want GIS data processing functions such as sorting, merging, clustering data spatially.

1 Like

Yes I did investigate this briefly getting Rhino running in CPython but fell by the wayside over time. I did note that the new hops component would be worth investigating when reviving Rhino.Inside.QGIS

Personally, I think a direct connection with Rhino running within QGIS would be the best possible outcome for integrating GIS. I would gladly support your project if you decide to open source it? I am able to code in python & c#

Cheers,

Kai -

The Hops connection to CPython library is open source:

The nice part about Hops is that the backend process can be completely outside Rhino.

To use Rhino.Inside directly in QGIS, it would have to be on a Windows operating System and it is easiest if QGIS had a .NET SDK. Rhino .Inside is also Open Source, here:

Those seem to be the best candidates to connect these platforms.

1 Like

Thanks Scott, sorry I was referring to Urbano, not hops component and rhino.inside being Open Source. Will definitely be looking deeper into this now that hops is available.

What about using the Rhino3DM.py library to work within a QGIS Python plugin? Has anyone tried this?

That was my gameplan last year. I gave it a go but didn’t make much progress. If I have some time, I’ll try and renew my efforts and see if the hops can have a role as well.

We have made some technical changes that may make it easier to connect with QGIS Python. What version of Python does QGIS run?

By using the Cpython link to Grasshopper thru Hops might work well. Here are a couple threads that may help:

  1. Linking Blender Python to Hops: Rhino Inside in Blender - #3 by ivelin.peychev
  2. Specifically, here is the Blender geometry being shared: Create CPython components using Hops in Grasshopper - #53 by tom_svilans
  3. Here are the basics of a Cpython service: Create CPython components using Hops in Grasshopper

Will those libraries load in QGIS?

2 Likes

Thise webinar also may shed some light on how to connect to other applications:

4 Likes

QGIS ships with python 3.7, I don’t think that is compatible with the hops component as it requires 3.8.

I am trying to figure out if it’s possible to upgrade the python version in QGIS but haven’t been able to so far.

pyqgis - update python for QGIS - Geographic Information Systems Stack Exchange.

@kai.aurelien.zhu, I’m starting to think that it’s maybe smarter to test making a Python connector for Speckle to stream data (geometry + attributes) from QGIS to Speckle / Rhino. This is the guide for creating a new connector since I don’t think they’ve created a QGIS or ArcGIS connector yet. They even give the example of the Blender connector on Github for writing a new Python connector.

1 Like

Thanks Darrel, that’s a great idea I didn’t think of that. I will do my best to scrape some time to investigate this (am very busy atm working on my registration).