No, there are barely any examples at all as we are just getting started on rhino3dm and compute. That said, rhino3dm is really designed for running outside of Rhino. You could call compute from inside of Rhino using RhinoCommon and functions made available through the RhinoCompute.cs file available at https://github.com/mcneel/compute.rhino3d/blob/master/src/compute.geometry/RhinoCompute.cs
Data passed to and returned from compute is typically serialized geometry so you could display the geometry in a conduit if you wanted to.
At the moment, there probably aren’t a whole lot of decent use cases for this. I can imagine as the capabilities expand for what could be done with compute, then there will be cases where you would want to do this.
Perhaps it’s me who doesn’t understand. I’m sorry if that is the case. I do not fully understand the concept of this python module.
For me this module is an opportunity to develop applications using Rhino geometry calculation engine without having Rhino installed.
If you want to do these geometry calculations, intersections, calculating volume, area, weight. I doubt the idea is to generate the geometry with this module. Instead access (read/write) 3dm files.
Another opportunity would be to simply call this module (application made with the module) from a RhinoPlugin in order to speed up calculations. I assume if the calculations are done using Python and sent back to Rhino the whole process will be faster. Since you’re using multiple threads without the need to implement multi-threading from RhinoPython.
Now, how do we send the information back and forth if one is CPython, and the other is IronPython(integrated in Rhino, without ipy.exe). Either using subprocess to call CPython application or expose somehow sc.sticky to CPython and use this module interactively.
This is true. You can perform calculations on geometry or just interrogate existing geometry like Nathan did for writing a 3dm importer into Blender. We are trying to provide a toolkit for working with geometry in places that you may have a need and Rhino may not specifically be able to be involved. For example, you can’t install Rhino on your phone or on Linux, but you may have a need for the geometry and geometry services that Rhino provides on those platforms.
You have the option for both. You can generate new geometry from scratch with rhino3dm and even make fancier geometry by using compute.rhino3d. You can also read 3dm files and work with the geometry from them. These tools are not meant to force you to use 3dm files to solve your problems.
This is not true. We are currently focused on providing the existing SDK services that Rhino provides through rhino3dm and compute in order to let you work outside of Rhino. We have not invented new algorithms on compute to solve problems faster by breaking up tasks and spreading the work over multiple computers. Improving the performance of compute.rhino3d as well as providing new algorithms would come later in the development.
The system isn’t exactly designed at the moment to make this workflow easy. It is possible, just not simple. You would have to compile the RhinoCompute C# source file into a DLL and call that from IronPython integrated in Rhino. Alternatively you could execute CPython from Rhino.