Is there any documentation or write-up explaining in detail the different capabilities of the full Rhino Common library and the rhino3dm.py library?
I understand at a high-level the rhino3dm.py library is used for simple geometry tasks, and that Rhino.Compute is meant to be used for more complex tasks, but would like to understand what that division of tasks looks like. Is the github repo the only place where I can find the relevant methods: https://github.com/mcneel/rhino3dm/tree/master/src/bindings ?
And for background, I’ve used Rhino.Common (with the GHPython) for years, now, but am now looking for a geometry library that gives me the option of working outside of Rhino, with Cython.
I’ve considered the following:
- pyeuclid - pure python geometry library for 2d, 3d shapes. Not maintained recently, and is a bit slow
- shapely - python geometry library for 2d shapes. Maintained regularly, and faster than pyeuclid because it uses numpy under the hood
- sympy - can be used as a 2d, 3d geometry library, but I think it represents it’s numbers inefficiently so ends up being very slow
Right now I’m using shapely, and writing my own 3d geometry transformations using numpy when I need something in 3d, but want to test out rhino3dm as well.