Query: A: After a successful build of the C++ project, using the wrapper project, will I be able to call functions like the below sample from a C# project?
Sure.
Prebuilt nugget packages of OpenNurbs does not contains few features like SubD.ToBrep, Surface.ToPullBack(), where as in our rhino SDK we have those methods.
In a nutshell, i am trying to use the rhinoSDK to call those methods.
If you want to use the full Rhino SDK you need to be using RhinoCommon, and that will work only when you have also Rhino installed, and running from inside Rhino.
Rhino3dm is mostly just a wrapper around OpenNURBS the file format part. Access to the geometry kernel is not part of that. Yes, you get to directly manipulate geometry, but you won’t for instance get access to boolean operations, etc. Even building your own version will not work without Rhino installed and running from inside Rhino.
RhinoCommon does wrap also OpenNURBS. RhinoCommon wraps the entire Rhino SDK, that includes OpenNURBS access.
You can use just the C++ Rhino SDK, of course. That doesn’t need custom compiling either, you can see installation instructions here: Rhino - Installing Tools (Windows) . But then you’ll have to do all the C++ and .NET interop yourself, which has already been done for you in RhinoCommon.
No, the full C++ Rhino SDK works only when run inside Rhino. This SDK and the .NET RhinoCommon SDK allow you to create plug-ins for Rhino.
For stand-alone applications you can use the public OpenNURBS library. The pure C++ version has the same restrictions as the rhino3dm versions - these are just a wrapper around the C++ version.
so there is no way to connect from an standalone app(exe) to the plugin source(assume its running). ultimately to utilize the limited features in the opennurbs from plugin solution(full sdk).