找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 478|回复: 3

[求助] 初学,请问怎么在多个封闭的多段线中,确定一点就能知道这个点在哪个多段线中?

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-7-19 12:45:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
初学,请问怎么在多个封闭的多段线中,确定一点就能知道这个点在哪个多段线中?有没简单普通的命令呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-7-19 13:28:20 | 显示全部楼层
多段线的起始参数值是0,终止参数值=顶点索引(从0开始)-1。

所以,你根据点,求出点所在多段线的参数值取下整,就代表是在多段线哪个索引开始的段上了

  1. (defun _whichseg (pl pt / seg)
  2.   (and
  3.     pl
  4.     pt
  5.     (= (type pl) 'ENAME)
  6.     (= (vla-get-objectname (vlax-ename->vla-object pl))
  7.        "AcDbPolyline"
  8.     )
  9.     (setq pt (vlax-curve-getclosestpointto pl pt))
  10.     (setq seg (fix (vlax-curve-getparamatpoint pl pt)))
  11.   )
  12.   seg
  13. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2017-7-19 15:34:19 | 显示全部楼层

感谢,vlisp函数介绍里面似乎没有vlax-curve-getclose……,能不能用一般函数呢,上面我的意思就像是说中国地图划分的行省,随便在地图上点个点就知道这个点在哪个行省中
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-7-19 16:06:09 | 显示全部楼层

有那个函数,你没找到帮助,不代表没有

去看看下面的帖子,http://bbs.xdcad.net/forum.php?m ... ight=VL%BF%AA%CD%B7

你在命令行上输入  !vlax-curve-getclosestpointto 就知道了,正宗的VLISP函数

命令: !vlax-curve-getclosestpointto
#<SUBR @2d3a2af0 vlax-curve-getClosestPointTo>

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 02:23 , Processed in 0.185582 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表