I'm having issues with the Curve library. The GetDistanceAtParameter function does not seem to return the correct value. It seems to be using the 3D distance along the Curve, whereas the other routines in this library use the 2D distance along the Curve. This yields inconsistent results. For example:
param = curveItem.GetParameterAtDistance(dist1);
dist2 = curveItem.GetDistanceAtParameter(param);
In this example dist1 should equal dist2, and it does if the linework is flat, but not if the linework is 3D.
On the other hand, dist1 is equal to dist2 in the following example, in both 2D and 3D linework, so it seems to be a valid work-around:
point = curveItem.GetPointAtDist(dist1);
param = curveItem.GetParameterAtPoint(point);
dist2 = curveItem.GetDistanceAtParameter(param);
Sinc