zj12345678 发表于 2011-10-19 11:24:09

如何将多线上的点座标按“多线起点-终点顺序”进行排序?

现有1条多线,其上已标注6个点(P1-P6),假设座标如图,怎样使用LISP方法按此多线的方向将P1-P6点的座标按“多线起点-终点顺序”进行排序? 生成表( (P1 (1 2))(P2 (2 3)) (P3 (3 2)) (P4 (5 2)) (P5 (6 1)) (P6 (4 -1)))
不胜感激!

vormittag 发表于 2011-10-19 11:57:47

按到起点的距离排序就行了。 vlax-curve-getDistAtPoint

Andyhon 发表于 2011-10-19 11:59:56

借助 (vlax-curve-getParamAtPoint curve-obj point) 即可

zj12345678 发表于 2011-10-19 14:23:34

谢谢回复,问题解决,明经,你太伟大啦!

zj12345678 发表于 2011-10-19 14:26:50

汇总:
    (1) 借助 (vlax-curve-getParamAtPoint curve-obj point) ,判断某点是否在线上
    (2) 借助 (vlax-curve-getDistAtPoint)计算该点至起点的距离
    (3) 按到起点的距离排序就行了

特别感谢上面2位兄弟的支持

zj12345678 发表于 2011-10-19 14:31:16

另外问题,还要请教?____如现有"多线外的1点,如何求出该点至此多线的垂点座标?"


Gu_xl 发表于 2011-10-19 14:50:02

zj12345678 发表于 2011-10-19 14:31 static/image/common/back.gif
另外问题,还要请教?____如现有"多线外的1点,如何求出该点至此多线的垂点座标?"

(vlax-curve-getclosestpointto en pt)

zj12345678 发表于 2011-10-19 15:56:05

全部测试通过,效率极高,感谢明经,感谢版主
页: [1]
查看完整版本: 如何将多线上的点座标按“多线起点-终点顺序”进行排序?