乐筑天下

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

帮助查找距离GetEntity选定点最近的pline端点

[复制链接]

2

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
10
发表于 2018-12-7 13:49:03 | 显示全部楼层 |阅读模式
本人'我肯定我'我不是第一个问这个问题的人,但我可以#039;经过几个小时的搜索,似乎找不到这个简单问题的答案 我有一个子例程,我用它来创建道路条纹,具体来说是虚线 它基本上要求用户输入单个条纹的长度和宽度以及条纹之间的间隙 为单个条带创建块 然后,它使用GetEntity要求用户选择一条多段线,该多段线是根据我们的实地调查得出的基础地形创建的 最后,sub使用SendCommand方法调用;“测量”;根据用户输入的间隙和条纹长度,以适当的间隔使用条纹块测量选定多段线的命令
我遇到的问题是measure命令的固有限制,即它不会在拾取的行的开始处插入块 目前,在运行例程后,我必须在多段线的端点手动插入块,然后通过拾取点确定其方向 如果我可以自动化整个过程,避免在多段线的端点(起点)手动插入单个条纹,那就太好了
因为点本身通常不在实体上,所以我找不到一种方法来传递最靠近拾取点的选定多段线的端点 寻找最近的顶点也不可靠,因为多段线可以有许多线段(直线和圆弧),并且我不知道'我不希望程序在某个中间顶点插入条纹 使用第一组坐标也不会#039;t工作可靠,因为有时这是从中选择GetEntity点的多段线的另一端
我发现一个模糊的引用使用GetPoint,它将遵循osnap设置,然后在图形实体中循环,找到可以使用该点作为GetEntity选择点的实体,但帖子中没有任何代码和I'我不确定如何格式化for each循环,以找到GetEntity将处理的实体
有人知道如何找到距离GetEntity选取点最近的多段线的端点吗 我想我可以计算从点到第一个顶点和最后一个顶点的距离并比较它们,但如果有其他更简单的方法,我洗耳恭听
谢谢你的帮助,如果你需要我的代码,我可以发布 我不知道'我不认为这会让你深入了解这个问题,但如果你认为这会有所帮助,我会这么做。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2018-12-7 14:19:58 | 显示全部楼层
不确定VBA,但可能可以翻译为:
  1. (defun c:foo (/ e p)
  2.   (cond ((and (setq e (entsel "\nPick polyline near an end: "))
  3.               (= "LWPOLYLINE" (cdr (assoc 0 (entget (car e)))))
  4.               (setq p (vlax-curve-getclosestpointto (car e) (cadr e)))
  5.          )
  6.          (if (= 0 (fix (vlax-curve-getparamatpoint (setq e (car e)) p)))
  7.            (vlax-curve-getstartpoint e)
  8.            (vlax-curve-getendpoint e)
  9.          )
  10.         )
  11.   )
  12. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 05:59 , Processed in 0.138684 second(s), 56 queries .

© 2020-2024 乐筑天下

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