I am looking to build a standalone app using grasshopper as a backend analysis tool working on the background. The goal is the send send user input and have the analysis done in grasshopper environment then have outputs exported in JSON format to be connected to another external library.
The goal would be the user wouldn’t need to have access to rhino to utilize the tool. Are there specific licenses to buy that can facilitate this ?
This would let you do anything you could do as an actual user of Rhino on a computer you control including plugins and whatever network and file system activity you need to communicate with the other tools that you mention. My understanding is that the last part might be particularly problematic with ShapeDiver because in their cloud they impose some limitations on what you’re allowed to do regarding file and network I/O.
I’m not an expert, but for those who are the advice would probably benefit from knowing more about what you want to do, such as whether this is an app for an internal team or whether you want to start an SaaS company.
Hey there i was workings on a project like that. As @Nathan_Bossett mentioned the compute guidelines bring you already pretty far! But there are many ways to go about it depending on your needs
If you want to make it local you don’t need a license, you can utilize the license from your local machine and use localhost. If you want to make a web-platform you’ll need to get a license from rhino for Core-Hour Billing and setup a VM.
Also to consider is if you want to go for hops/python or a js approach.
I personally went for compute.js, rhino3dm.js and a Azure VM. Takes a bit of time to setup but the documentation is fairly good! And made some custom grasshopper components to handel JSON inputs and grasshopper outputs.
ShapeDiver has plans with various degrees of features and limitations, but ultimately Enteprise plans do not limit file transfers and computation times in any way. The application described by @yousef_algohary would likely run without any issues on the right ShapeDiver plan. The main factor driving the decision is whether the developer(s) are willing to build a cloud infrastructure from scratch, including considerations of security, performance and reliability, or if they want to focus on the core goals of their project while relying on a proven, existing infrastructure, and communicate with it through simple APIs. Here is more reading about the pros and cons of both approaches:
High-level comparison: ShapeDiver & Rhino Compute Explained!
Technical documentation page: ShapeDiver <-> Rhino Compute
Those documents are meant to explain which critical points should be considered when building a cloud application, how to best get started with those points when using Rhino Compute and in which way ShapeDiver went about solving those points. Rhino Compute is a technology and ShapeDiver a SaaS, therefore they are not directly comparable, as mentioned in the articles. Therefore it does not make sense to list pros and cons of the services per say, it is more about pros and cons of building an entire cloud application with a specific architecture on the one hand, and understanding what a software like ShapeDiver provides on the other hand, and if it makes sense to use it as an infrastructure rather than building a new one.
To rephrase, I didn’t understand repeating in several places that ShapeDiver was an SaaS product while Rhino Compute is a technology. I can spin either up with a few hours and a credit card (probably less time in the case of ShapeDiver) so it seems to me that they’re both deployable products with advantages and disadvantages.
HI, any example out there of a standalone app (local or webish) that uses Compute, so I could get a grasp of what are the capabilities… Everywhere I see just a lot of texts and lists of commands, anything visual to wash the yes a little ?
@Nathan_Bossett When I mentioned the pros and cons of both approaches, I was referring to the approaches of using Rhino Compute to build a custom cloud infrastructure vs. using the infrastructure of ShapeDiver. As you mentioned, there are use cases where each of the approaches is more appropriate than the other, when implementation and running costs are taken into account on top of project requirements.
I agree entirely with this point! What we have noticed (we as in “the ShapeDiver team”) is that it is often not clear what choosing one or the other option implies in terms of project management and scope. If you have suggestions on how we can make this clearer, I am happy to discuss this further with you and potentially improve the messaging around those articles.
I developed for a customer of mine a web app with Compute. It looks basically like this…It allowed us to batch export multiple production files at the same time (Excel, 3dm…) with an easy interface for the users. The exchange basically happened all with JSON.
Capability wise, compute it is basically limited to your programming capabilities and performance wise limited to how powerful of an VM you’re willing to pay for. But it has quite a steep learning curve to get everything together. At least it was for me.
Wow, Felix, thanks for sharing your work. It is the only case study I’ve seen so far that actually does something using Compute.
Do you know whether it is possible to add graphic input into the viewport, like drawing a line or curve on the canvas? Do you know to do such thing?
Cheers.
I haven’t actually tried that but i think should be possible. I would probably use Three.js for the input and visualisation and make a converter to rhino3dm