RhinoMobile is an open-source toolkit for developing cross-platform (iOS and Android) mobile applications that use the openNURBS (3dm) file format. The toolkit is written in C# and uses the RhinoCommon toolkit to call into openNURBS. This is the same toolkit we are building our iRhino 3D mobile app on top of…now open for others to tinker around with.
The sample (HelloRhinoMobile) demonstrates how to open a 3dm file and draw it to the screen. Basic gesture interaction code is also there as well.
Instructions for getting started (currently a work-in-progress) can be found here.
Longer answer:
RhinoMobile is really just a subset of Rhino3dmIO, which we are slowly rebranding as rhino3dm. At some point, RhinoMobile will really just be a set of mobile samples for rhino3dm. When I have time, I plan to rework it in this way. So, yes, RhinoMobile (and rhino3dm) is really only about reading and writing the geometry in a 3dm archive on mobile devices, rather than actually performing operations on that geometry. However…
We have been working on a technology called compute.rhino3d.com that allows you to call the geometry kernel operations as a web-service. These are the operations you would find in Rhino proper: booleans, mesh a NURBS surface, etc.
rhino3dm (which is free), in combination with compute.rhino3d.com (which is currently free but will not be forever), form the basis for pretty much everything you would need to build a full-fledged CAD application, whether on mobile, in the browser, or on an old-fashioned desktop computer.
Hey @dan I loved to hear that. Is there any example you can point me to so I can start playing with calls to compute platform and render results in iOS?
We do not yet have samples posted that are this specific yet, I’m afraid. That is on my TODO list. That said, we do have some samples in C# for using compute. If you get up to speed with RhinoMobile and the samples - which hopefully still build - making calls to compute should be relatively straightforward. A good test would be to SaveSmall a file from Rhino proper and use compute to created the render meshes for the BReps. This will likely be the sample that I will end up writing.