找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 905|回复: 10

[求助] 求多段线与等高线的所有交点(不延伸)坐标

[复制链接]

已领礼包: 1个

财富等级: 恭喜发财

发表于 2019-12-29 15:03:08 | 显示全部楼层 |阅读模式

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

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

×
请教大师们:求多段线与等高线的所有交点(不延伸)坐标,其中等高线有闭合的,也有不闭合的,请问使用哪个函数能求出来?谢谢大师们!

求红色多段线与黄色等高线的交点

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

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-12-29 15:09:01 | 显示全部楼层
使用“IntersectWith”这个函数只能得到闭合曲线的一个交点,得不到闭合曲线的2个交点!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 4365个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2019-12-30 08:43:40 | 显示全部楼层
可否上传个dwg文件来测试一下。如果z坐标都归零,是可以求出所有交点的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-12-30 14:44:56 | 显示全部楼层
pxr201419 发表于 2019-12-30 08:43
可否上传个dwg文件来测试一下。如果z坐标都归零,是可以求出所有交点的

之前我试过,在这里闭合曲线本来有2个交点,但只能求出1个交点坐标,曲线Z值改为0,也是一样的结果,请教如何才能得到闭合曲线的2个交点坐标?谢谢啦!

样例.rar

365.83 KB, 下载次数: 7, 下载积分: D豆 -1 , 活跃度 1

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

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2019-12-30 17:29:30 | 显示全部楼层
看了一下,就是因为两条线的标高不一样,肯定没有交点的,把两条线的标高调成一样的就行了
把那根多线段(直的那根)的标高(其实就是z坐标),调成要计算的二维多线段的标高,交点计算完成后再调回原来的标高值好了
sj.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-12-30 21:15:19 | 显示全部楼层
pxr201419 发表于 2019-12-30 17:29
看了一下,就是因为两条线的标高不一样,肯定没有交点的,把两条线的标高调成一样的就行了
把那根多线段( ...

老师,我把所有等高线的Z值和直的多段线的Z值设为一样的,结果生成就只有26个交点,等高线总共26条,这么说闭合的等高线就只能得到1个交点,还是得不到2个交点哦!谢谢老师的解答帮助!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-12-30 21:42:00 | 显示全部楼层
pengxinming 发表于 2019-12-30 21:15
老师,我把所有等高线的Z值和直的多段线的Z值设为一样的,结果生成就只有26个交点,等高线总共26条,这么 ...

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

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2019-12-30 22:00:03 | 显示全部楼层
本帖最后由 pxr201419 于 2019-12-30 22:08 编辑

(setq lst (vlax-invoke (vlax-ename->vla-object (car(entsel "\n选择一条线:")))
             'IntersectWith (vlax-ename->vla-object (car(entsel "\n选择另一条线:"))) 0)
      lst (vl-remove nil (mapcar '(lambda (x) (if (= (rem (vl-position x
                                 (mapcar 'list lst (cdr lst)(cddr lst))) 3) 0) x nil))
                                 (mapcar 'list lst (cdr lst)(cddr lst)))))
得到所有交点,结果格式  ((x0 y0 z0)(x1 y1 z1)......(xi yi zi)),第1个交点是(car lst),第2个是 (cadr lst),.........
当然也可以用(nth  i  lst)来调用第 i 个交点
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

 楼主| 发表于 2019-12-30 22:22:12 | 显示全部楼层
pxr201419 发表于 2019-12-30 22:00
(setq lst (vlax-invoke (vlax-ename->vla-object (car(entsel "\n选择一条线:")))
             'Interse ...

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

使用道具 举报

已领礼包: 299个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 04:16 , Processed in 0.455372 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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