Using Zoo server from a plugin



Hi, for version 6 of Rhino, there are changes in the node licensing of plugin for using zoo server. My plugin successfully was using Zoo6 server, but the ported version for Rhino 6 doesn’t. Is there a new working example of how a plugin of Rhino 6 can connect and get a license from the zoo 6 server? Also there are newly added functions which probably we will need to implement.
I see some documentation in the header file, but going to the website shows the ‘old version 5’ approach of the licensing mechanism.

Any information will be kindly appreciated.


(Dale Fugier) #2

Hi @kvrantzaliev,

We’ve updated the C++ samples to include one on how to use Rhino’s licensing feature.

Let me know if this helps.

– Dale


Hi Dale, thanks for the update. Unfortunately I tried to open the solution, but it appears to be broken. Can you double check if the files are properly set. I am trying to build it on VS2017.

(Dale Fugier) #4

I don’t understand what this means. Are you getting an error? If so, when? (when loading the solution? When building?)

As you should be.

– Dale


HI Dale, it was my fault. Sorry for the inconvenience. I manage to get it up and running as an example.
The current licensing mechanism is much more sophisticated and is more than only requiring the connection to Zoo server, but also provide much more options.
This would mean that we will need to comply with the approach which Rhinoceros uses, i.e. Login to the profile, Enter license key as Rhino.
What happens if I press Evaluate? It takes the user the Rhino web site.
What happens if I press buy a license key? How we developer can have control on this dialog, or we can only process the Zoo license here only?


(Dale Fugier) #6

Hi @kvrantzaliev,

Yes, there are more features in the licensing system. But you don’t have to use them.

In the sample, you will see this:

BOOL CSampleWithLicensingPlugIn::OnLoadPlugIn()
  SetLicenseCapabilities(g_text_mask, g_capabilities, ON_UuidFromString(L"1ABD5EFC-2C65-11D7-B6F7-0050BABF6BC2"));

This is how you set what your plug-in is capable of.

Does this help?

– Dale


Thanks Dale, I made progress, but you also provide capabilities to handle licenses on the server of Currently all we know is how to work with Zoo 6 and store our licenses there, but some documentation on how the developers can hold plugin licenses on the cloud is much appreciated.

(Dale Fugier) #8

This is currently done for McNeel products only. Thus, you won’t want to specify the CRhinoPlugIn::license_capabilities::supports_rhino_accounts flag…

– Dale


Hi, I have managed to start using the Zoo server with the sample you provided. Despite this, there is a small problem. I have corrected setup my Zoo server, I can connect with the plugin to the server and obtain the license. The problem is that I cannot change the license type. What I mean is that when I select Options\Licenses of main Rhino App, I see my plugin listed and up and running, but if I click - “Change your license key…” nothing happens, i.e. once I have my plugin set to use Zoo server, there is no way to set it back to use a local license key. Can you test this scenario if there is something wrong on my side or there is a bug.

Thanks in advance.

  • Kosta

(Dale Fugier) #10

Hi @kvrantzaliev,

I’m hoping to have time to look into this by the end of the week.

Sorry for the delay.

– Dale

(Dale Fugier) #11

Hi @kvrantzaliev,

Sorry for the delay - let me know if this helps.

– Dale