Regarding Rhino compute - price


(Jchun726) #1

Hi

I became to know Rhino Compute recently, searching for the right engine for the urban analysis/modeling service on web.

I believe currently Compute service is free of charge, and I am wondering if Rhino Compute is planned to be a paid feature in the near future.

This is quite important for us,since we need to think about service maintenance fee as Rhino then will be a big dependency if we decide to use it as our core modeling engine.

Any advice or future plan will be welcome, and I sincerely appreciate for such a wonderful development.

Best

John


(Bob McNeel) #2

John,

We don’t have a SaaS concept in place for Rhino.Compute yet. In the future, the worst case is that you will need a standard Rhino license (or licenses, depending on the load) for your R.C server.

Until we have a better understanding of what is needed, our compute server is no charge.

Please prototype you application and let us know what you need.

  • Bob

(Brian Gillespie) #3

I guess it depends on what Bob means by “worst case”. I think he was talking about you hosting your own Rhino.Compute instances in your own environment.

We’re still working out how all the licensing will be, but some ideas include:

  1. You pay for a license of Rhino for each compute instance, and run them on your own infrastructure.
  2. We have some other kind of subscription licensing for server instances of compute within your own infrastructure.
  3. SaaS: You set up a billing account with us, and we charge you per call to compute.rhino3d.com. Currently, calls to compute vary greatly depending on payload and the complexity of the operation - so it seems like billing would likely be based on a combination of bytes received, bytes sent, and milliseconds to process the request.

We’ve not figured out any of the details, nor a reasonable way to do all the billing calculations or handling of billing worldwide.

What are you hoping to do with Compute? Does it seem to do what you need it to do? How can we help?


(Jchun726) #5

Thank you all for the replies.

Our team is currently developing a rule-based modeling system with all the necessary scripted national building regulations of the city we chose. The aim of this project is to allow developers to get a quick idea of the lot from our volumetric study. Thanks to Rhino API, we have successfully managed to build the system working for our trial zone in Rhino 6.

Since we have planned to distribute this service as a web service, we were looking for the 3D modeling engine such as Rhino Compute and Blender, which allows geometry computing in a cloud environment with Rhino API. Whenever developers click the site of their interest, we plan to offer various 3D massing analysis instantly upon the request.

There were two options which we initially considered if we use Rhino as a modeling engine at the back-end.

First, we can install Rhino in a local environment and receive the request directly from users. This option carries lots of shortcomings - A server computer with Rhino software must be ON all the times and parallel computing is not possible unless we purchase multiple licenses. Therefore, our engineer said this would carry too many risks for our web service.

Secondly, it is Rhino Compute. It seems that only one instance of Compute per VM is currently allowed. My understanding of Rhino Compute might be wrong, as I just started to look at it. It seems that every Geometry operation calls for Rest API.

In our prototype system, the process at each modeling stage employs more than 100 Rhino APIs. I guess, then, the system needs to call Rest API every time whenever the script uses Rhino operation in one modeling process. This is our main concern with the current Rhino Compute, if my understanding of Compute is correct.

It will be much appreciated if you can give us some advice/recommendation regarding this matter.

Look forward to hearing from you soon.

Best

John


Regarding ShapeDiver API
(Steve Baer) #6

Yes, compute does need to be running in order to process requests. This is why it runs as a service and can restart if something bad happens or the server needs to be rebooted. We use a hosted environment (Amazon Web Services) to offload some of the burden of keeping servers on at all times, but it really isn’t any different than running your own Windows Server.

As far as parallel computing, this is allowed on a single Rhino instance running on your Server. Multiple licenses would need to be purchased if your overall load became high enough that you determined you would need multiple servers running.

This really depends on what the calls are. There are many Rhino API functions that we provide in libraries (.NET, python, or javascript) that run locally on an end user’s computer (or device) without Rhino installed. We would rather simple operations like the length of a line be run on the end user’s device without forcing network calls to compute. The libraries are still being added to, but you can see that there is already quite a bit of functionality included in the existing releases.

The API provided by compute is not static. Functions are added based on user requests. We may be able to figure out ways to make your 100 API call script into a single call.

I would be more than happy to work with you to help try and figure out what can be done. If you could share your 100 line script with me or provide me some more details, I can get a better idea of what it is you are attempting to accomplish.


(Jchun726) #7

Hi Steve

Thanks for the reply.

Can I please get your email address so that I can deliver a grasshopper file with a very simple python component to get you the idea?

It seems that I cannot attach any file in the personal message.

Look forward to hearing from you soon.

Best

John


(Steve Baer) #8

You can contact me at steve@mcneel.com


(Jchun726) #9

Thanks Steve

I just sent the message via Rhino discourse.

Please check the inbox. I will send the file to your email address as well, just in case.

Best

John


(Mathieu Huard) #10

John,

In case building some implementation with Rhino Compute proves difficult or not the right fit at the moment, I invite you to consider ShapeDiver. The service can provide you a cluster of servers running Rhino and Grasshopper, as well as an API to send and retrieve data from the servers. There is already a built-in 3D viewer which you can use to display geometry and data.
Depending on the constraints of your project, developing your own application on top of Rhino Compute might provide more flexibility, but if you think ShapeDiver has the features needed for this project, we’re happy to open a discussion.


(Jchun726) #11

Hi Mathieu

Our team is currently exploring Shapediver for our development project besides Rhino Compute. Is there Server-to-server api available at ShapeDiver? It seems that your team provide javascript api which we can employ directly at front-end. However, we would like to bring the parameters from the database at our back-end and request the call to ShapeDiver’s parametric computation system. This is because we want to get the geometry result as an output from your server, so that we can render the geometry with three.js directly on our side.

The bottom line is that we would like to build up our own urban modeling service package for the rest if ShapeDiver provides server-to-server api.

Look forwards to hearing from you.

Thank you!

John