乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 100|回复: 7

[编程交流] 计算两者之间的距离

[复制链接]

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:02:42 | 显示全部楼层 |阅读模式
你好
 
我需要计算沿多段线的两点之间的距离。这些点可能存在于同一多段线上的不同线段上。也许有个函数,我找不到。
 
我非常感谢你的帮助。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:14:02 | 显示全部楼层
深入了解以vlax曲线开始的函数-****
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 07:26:15 | 显示全部楼层
如果这两个点是顶点,为什么不只是Getpoint pt1 Getpoint pt2 distance都完成了呢。如果它们是一条与普林线相交的线的交点,那么同样的事情,但像塔瓦特·弗拉相交,以计算出pt1 pt2
 
这里有大量的pline vertice lsp,将拉出vertice的co ORD。
 
你需要提供更多的信息。
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:33:18 | 显示全部楼层
采样点:
080242fkm27zkeknj7jtyk.jpg
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:44:00 | 显示全部楼层
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点,即,正如您所猜测的,这些点可能因情况而异。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:47:48 | 显示全部楼层
例如
 
  1. (vl-load-com)
  2. (if (and (progn (prompt "\n Select Polyline :")
  3.           (setq e (ssget "_+.:s" '((0 . "*POLYLINE"))))
  4.         )
  5.         (setq p (getpoint "\n Specify point on the previous selected polyline :"))
  6.    )
  7. (print (vlax-curve-getdistatpoint (ssname e 0) (vlax-curve-getclosestpointto (ssname e 0) p)))
  8. )
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 07:57:04 | 显示全部楼层
是的,vlax curve-*函数对点“恰好”位于多段线顶部非常挑剔。通常,仅仅抓住它是不够的。因此,您可以使用vlax curve getClosestPointTo函数将您的点转换为PL顶部的某个“精确”点,如Tharwat所示。
 
顺便说一句,您想在dwg上显示距离吗?一、 e.类似链式距离的东西?然后看看这条老线索:http://forums.augi.com/showthread.php?40128-沿多段线的距离和偏移
回复

使用道具 举报

2

主题

7

帖子

5

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 08:05:15 | 显示全部楼层
是的,它可以正确使用vlax curve getClosestPointTo函数。例如
 
  1. (setq distance (vlax-curve-getDistAtPoint plObj (vlax-curve-getClosestPointTo plObj (list (car intP) (cadr intP) 0.0))))

 
我想将这些距离显示为链接距离。我会看看你的链接
 
非常感谢大家
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 10:35 , Processed in 0.422849 second(s), 70 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表