计算两者之间的距离
你好我需要计算沿多段线的两点之间的距离。这些点可能存在于同一多段线上的不同线段上。也许有个函数,我找不到。
我非常感谢你的帮助。 深入了解以vlax曲线开始的函数-**** 如果这两个点是顶点,为什么不只是Getpoint pt1 Getpoint pt2 distance都完成了呢。如果它们是一条与普林线相交的线的交点,那么同样的事情,但像塔瓦特·弗拉相交,以计算出pt1 pt2
这里有大量的pline vertice lsp,将拉出vertice的co ORD。
你需要提供更多的信息。 采样点:
Tharwat:我使用了vlax curve getDistAtPoint函数,但得到了零。i、 e.(vlax curve getDistAtPoint plObj ip5),其中ip5是pline上的交点。
BIGAL:用我的lisp代码,我得到了所有的交点和垂直度。我只需要计算从vp0到ip1的距离,然后是从vp0到ip2,从vp0到ip3等等。对于vp0-ip5的长度,路径必须遵循vp0-ip1-ip2-vp1-ip3-ip4-vp2-vp3-ip5点,即,正如您所猜测的,这些点可能因情况而异。 例如
(vl-load-com)
(if (and (progn (prompt "\n Select Polyline :")
(setq e (ssget "_+.:s" '((0 . "*POLYLINE"))))
)
(setq p (getpoint "\n Specify point on the previous selected polyline :"))
)
(print (vlax-curve-getdistatpoint (ssname e 0) (vlax-curve-getclosestpointto (ssname e 0) p)))
)
是的,vlax curve-*函数对点“恰好”位于多段线顶部非常挑剔。通常,仅仅抓住它是不够的。因此,您可以使用vlax curve getClosestPointTo函数将您的点转换为PL顶部的某个“精确”点,如Tharwat所示。
顺便说一句,您想在dwg上显示距离吗?一、 e.类似链式距离的东西?然后看看这条老线索:http://forums.augi.com/showthread.php?40128-沿多段线的距离和偏移 是的,它可以正确使用vlax curve getClosestPointTo函数。例如
(setq distance (vlax-curve-getDistAtPoint plObj (vlax-curve-getClosestPointTo plObj (list (car intP) (cadr intP) 0.0))))
我想将这些距离显示为链接距离。我会看看你的链接
非常感谢大家
页:
[1]