求一个多点相交的交点个数(分类统计)
交点统计,按几个多段线相交于这一点分类,具体可看图。本帖最后由 satan421 于 2019-4-15 22:45 编辑
;;简单写了个
;;需要是pl线,相交处不能有重复节点
;;你的图的运行结果,是这样么
satan421 发表于 2019-4-15 22:28
;;简单写了个
;;需要是pl线,相交处不能有重复节点
人工数的结果,两个相交的没数,实际我是不需要的
3个多段线相交的交点个数:26个
4个多段线相交的交点个数:8个
5个多段线相交的交点个数:7个
6个多段线相交的交点个数:2个
可能我的问题没描述清楚,我重把文件上传下看 感谢二楼小哥的回复,可能我问题描述的不太清楚,也可能我数的多短线(如6线交点)没交在一个点,麻烦有心人在看看呢,万分感谢 夜战双乔 发表于 2019-4-16 08:11
感谢二楼小哥的回复,可能我问题描述的不太清楚,也可能我数的多短线(如6线交点)没交在一个点,麻烦有心 ...
看了下你上传的dwg,有些地方可能是作图的问题,端点看起来重合,实际并不重合
satan421 发表于 2019-4-16 08:22
看了下你上传的dwg,有些地方可能是作图的问题,端点看起来重合,实际并不重合
谢谢,不知道能不能有其他思路数出来:( ;;我用的思路是,把所有多段线的点都存在一个点表里面,遍历点表,坐标相同点,统计其数量并生成一个表(点 . 数量),再把所有表结合成一个新表,去掉数量为1的表(点 . 1),剩下的表再根据数量统计一次,最后输出统计结果。
;;问题就是点必须完全重合,结果才准确,对作图的要求很高。
;;端点不重合就麻烦了,考虑容差进去的话,就得换个思路,而且可能会有误判
;;cad的分析能力差了点,可以看看GIS软件有没有好用的功能,有的话转换成shp文件去操作 satan421 发表于 2019-4-16 08:59
;;我用的思路是,把所有多段线的点都存在一个点表里面,遍历点表,坐标相同点,统计其数量并生成一个表(点...
谢谢,公司电脑,只装的微信TIM和中望CAD,还是初级版CAD,加载不了VLX,VBA编辑器也用不了,其他软件什么也安装不了,没权限,桑心啊,能否发布LIP源码或发我邮箱huyumen@126.com satan421 发表于 2019-4-16 08:59
;;我用的思路是,把所有多段线的点都存在一个点表里面,遍历点表,坐标相同点,统计其数量并生成一个表(点...
您好,我也在写求交点数量的程序,可是有重复点的不知道怎么操作,能借鉴下您 的程序吗?我的邮箱78181417@qq.com tianying307 发表于 2019-5-12 08:55
您好,我也在写求交点数量的程序,可是有重复点的不知道怎么操作,能借鉴下您 的程序吗?我的邮箱
这个帖子里面的情况,重复点就是交点,应该跟你的情况不一样,你下载这个帖子的DWG附件就知道了。
求交点有inters和vla-intersectwith函数,你研究下。
重复点的话,参考LEE MAC的大作
;; Unique with Fuzz-Lee Mac
;; Returns a list with all elements considered duplicate to
;; a given tolerance removed.
(defun LM:UniqueFuzz ( l f / x r )
(while l
(setq x (car l)
l (vl-remove-if (function (lambda ( y ) (equal x y f))) (cdr l))
r (cons x r)
)
)
(reverse r)
)
页:
[1]
2