V4 Wish List

 From:  Michael Gibson
6925.518 In reply to 6925.517 
Hi Brian,

> In this link, (hard to believe that it was two years ago), you mentioned "...new evaluateCurvature(t)
> function. But it might need an additional method for getting curve parameter values for points
> equally spaced along the curve, I will see about adding that in."
> also "...I'm planning on adding another batch of curve functions for the next beta as well, that
> should do the trick..."

The function for getting curve parameters for equally space distances along the curves hasn't made
it in yet but it should be possible to accomplish using the ArrayCurve command to generate equally
spaced points and then crv.dropPoint( pt ) to get the parameter value for each point.


re:
> Also it seems that given a t3 parameter value of a curve, and existing script methods, a point currently
> can be found, but given a point on the curve, its t3 value cannot currently be found by script.

It can be - that's the dropPoint() methods added in the Jan-22-2020 v4 beta, there is a collection
of all the V4 beta release notes gathered in one spot here: http://moi3d.com/wiki/V4Beta

Add script methods for dropping points:
curve.dropPoint( pt ) - returns curve parameter value of closest point on the curve to the given 3D point.
curvesegment.dropPoint( pt ) - returns curve parameter value of closest point on the curve segment to the given 3D point.
face.dropPoint( pt ); - returns 2D uv coordinate point of closest point on the face to the given 3D point.
brep.dropPoint( pt ); - finds closest point on brep to given 3D point. Returns a list with 3 items, 0: Face object that the closest point is on, 1: 2D uv coordinate for the face, 2: 3D coordinate of the closest point.

The dropPoint() method takes a point as the input, it can be either on or off the curve. It then returns
the parameter value for the closest location of the curve to the point. If it is on the curve then you can think
of it as a conversion from 3D point into curve parameter value. If it's off the curve then it's like you were to
draw the shortest line from the point onto a spot on the curve and it will give the parameter value of that
curve location.

- Michael