本人想在自定义tool中,根据指定线串和点,获取线串上距离指定点最近位置的坐标,以下是调用代码:
double d; DPoint3d p1, p2; mdlElmdscr_distanceAtPoint(&d, &p1, &p2, eehRefLine.GetElementDescrP(), &pt, 1e-6 * UOR_PER_METER);
其中pt是_OnDynamicFrame(DgnButtonEventCR ev)中的ev.GetPoint()得来;
在计算得到参数3后,将结果向上下各延伸一定长度用于测试计算结果,最终测试得到了以下结果,
其中1是光标悬停的位置(未开启捕捉),2是根据计算结果动态绘制的线串,明显可以看出计算结果不正确,个人分析有两个可能的原因:
1._OnDynamicFrame(DgnButtonEventCR ev)中的ev.GetPoint()得到的坐标与我们主观感觉的坐标有偏差;
2.mdlElmdscr_distanceAtPoint方法有漏洞或者我调用方式错误;
请教,为什么会出现这种情况呢?
题干描述中出现一个口误,应该是第二个参数是计算结果返回值,而非第三个参数。