Latest Rhino3dmIO Nuget Package gives Unable to find an entry point error

Hi there,
I am a long time Rhino user and developer and have successfully used the OpenNurbs sdk a couple of years ago in VS2008. I recently upgraded to VS2013 and need to extract some curve information from a Rhino 5 (fully patched) model.
I installed the Rhino3dmIO Nuget package as per https://github.com/mcneel/rhinocommon/wiki/Rhino3dmIO-Toolkit-(OpenNURBS-build) and was able to open my 3dm file, iterate through all the objects and find the curve I was looking for. However when I try to call curve.Length() I get
System.EntryPointNotFoundException was unhandled
_HResult=-2146233053
_message=Unable to find an entry point named ‘ON_Curve_GetLength’ in DLL ‘rhino3dmio_native’.
HResult=-2146233053
IsTransient=false
Message=Unable to find an entry point named ‘ON_Curve_GetLength’ in DLL ‘rhino3dmio_native’.
Source=Rhino3dmIO
ResourceId=0
TypeName=""
StackTrace:
at UnsafeNativeMethods.ON_Curve_GetLength(IntPtr pCurve, Double& length, Double fractional_tol, Interval sub_domain, Boolean ignoreSubDomain)
at Rhino.Geometry.Curve.GetLength(Double fractionalTolerance)
at Rhino.Geometry.Curve.GetLength()

Any suggestions?

Many thanks,
David Clement

ON_Curve::GetLength is not available in the public version of openNURBS. The fact that the Rhino3dmIO toolkit is referencing it is a bug. I will report this as a bug, which probably isn’t a help to you…

I wrote a Rhino plugin which exports a proprietary file format instead. I was trying to promote the rhino file format as a wire bending “standard” as its internal curve representation is ideal for this application but I guess the logic around OpenNurbs is not to prevent sales of Rhino licenses in a broad sense. Oh well…

Thanks for the clarification. The full API is exposed in the Rhino3dmIO Nuget Package btw. :smile:

David

Hi, i’m not sure if result is the same, but you can try to convert the curve to polyline with

Curve.TryGetPolyline(out polyline);

The polyline entity has a lenght property.