What is “ON_Brep”? What does “ON_” refer to?
ON refers to OpenNurbs
See here:
https://developer.rhino3d.com/api/cpp/class_o_n___brep.html
Does that help?
where people need openNurbs? since Rhino.Geometry already contains Brep class.
Rhino.Geometry
refers to a namespace in RhinoCommon, the .NET programming interface. ON_Brep
is used in C++ programming.
In fact, when you use the RhinoCommon .NET programming interface, internally it uses the OpenNURBS C++ library as well. You can think of Rhino.Geometry.Brep
as a .NET wrapper for the C++ ON_Brep
class.
Thank you. So Rhino basically is a C# wrapper of openNurbs.
Why do some people prefer to use openNurbs in Rhino while RhinoCommon is available?
Sorry for my stupid question. I am a newbie.
The Rhino program is built on top of the RhinoSDK and OpenNURBS like so:
-----Rhino-----
| |
Rhino-SDK -> OpenNURBS
OpenNURBS is, as the name suggests, open source. It contains the full geometry data model to allow reading and writing from the 3dm file format. The Rhino SDK, which is not open source, contains all the advanced geometry algorithms, for e.g. boolean operations, trimming, surface intersections, etc. etc. To use the Rhino SDK you need a Rhino license and run your plug-in inside the Rhino process.
The RhinoCommon .NET programming interface wraps around both the Rhino SDK and OpenNURBS.
How to define “use the Rhino SDK”? If use “Rhino.” in my code, do I need a Rhino license?
No, you can write any code you want against RhinoCommon. But it will only run inside a Rhino process, which requires a Rhino license.
Thank you for your answer.