明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 重慶崽兒

[已解答] ssget"_CP"提取多段线内多段线坐标问题,请大神解答

[复制链接]
发表于 2015-5-3 22:47 | 显示全部楼层
重慶崽兒 发表于 2015-4-19 23:07
感觉也不合适,如果4、5个点的坐标都一样呢?

一样就是重复点了,还有就是图形是闭合了
发表于 2015-11-18 17:49 来自手机 | 显示全部楼层
需要循环嵌套,今天下午刚刚写过类似的程序。思路是从第一个点开始判断,设定一个模糊距离,如果小于指定距离则删除点表坐标,然后是第二点依次循环直到大于模糊距离为止,然后从第二点开始,这个是外循环,前面一个是内循环。
 楼主| 发表于 2015-11-19 18:22 | 显示全部楼层
zjlszw 发表于 2015-11-18 17:49
需要循环嵌套,今天下午刚刚写过类似的程序。思路是从第一个点开始判断,设定一个模糊距离,如果小于指定距 ...

3Q
发表于 2015-11-20 12:24 | 显示全部楼层
客气了。编程我也是初学者,技术不太好,一个程序需要写很久。
 楼主| 发表于 2015-11-20 18:13 | 显示全部楼层
zjlszw 发表于 2015-11-20 12:24
客气了。编程我也是初学者,技术不太好,一个程序需要写很久。
  1. (setq lst (mapcar 'cdr (vl-remove-if '(lambda(x) (/= 10 (car x))) en)))
  2.   (setq old (last lst))
  3.   (setq lst (mapcar '(lambda(x) (if (<= (distance old x) 0.0001) nil (setq old x))) lst))
  4.   (setq lst (vl-remove 'nil lst))
这个思路我之前有用过,效果还行,但是遇到折返线就不行了  还得去除折返线
 楼主| 发表于 2015-11-20 18:14 | 显示全部楼层
重慶崽兒 发表于 2015-11-20 18:13
这个思路我之前有用过,效果还行,但是遇到折返线就不行了  还得去除折返线

折返线处理的方式是,对比角度
但还是有不完美的地方,总之,现在还没找到完美解决方案
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-6 22:15 , Processed in 0.175290 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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