AutoCAD.Net/C#.Net QQ群:193522571 你选择的点它并不一定在线上!
using (var view = ed.GetCurrentView())
{
pt3 = curve.GetClosestPointTo(pt3, view.ViewDirection, false);
}
因此需要先转换一下,求出最近点。
另外,如果curve是块中的线,则需要先将pt3转换成块中点,再来求最近点。
var xform = sh.ResultNestedPrompt.Transform.Inverse() * ed.CurrentUserCoordinateSystem;
pt3 = pt3.TransformBy(xform);
下图就是没有转换前的情况: