找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 901|回复: 7

[已解决] <已解决>点表排序问题

[复制链接]
发表于 2020-6-21 19:58:55 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 五只刀 于 2020-6-23 09:42 编辑

用vl-sort排序X跟Y坐标两个排序时会有问题.X相等的情况下Y就有一些乱了.有没有其他好的方法
398425.82851,988124.27134
398426.47851,988124.27134
398427.12851,988124.27134
398427.77851,988124.27134
398428.42851,988124.27134
398429.07851,988124.27134
398429.72851,988124.27134
398430.37851,988124.27134
398431.02851,988124.27134
398431.67851,988124.27134
398432.32851,988124.27134
398432.97851,988124.27134
398433.62851,988124.27134
398434.27851,988124.27134
398434.92851,988124.27134
398435.57851,988124.27134
398419.97851,988123.62134
398420.62851,988123.62134
398434.27851,988123.62134
398421.27851,988123.62134
398434.92851,988123.62134
398435.57851,988123.62134
398421.92851,988123.62134
398422.57851,988123.62134
398423.22851,988123.62134
398423.87851,988123.62134
398424.52851,988123.62134
398425.17851,988123.62134
398425.82851,988123.62134
398426.47851,988123.62134
398427.12851,988123.62134
398427.77851,988123.62134
398428.42851,988123.62134
398429.07851,988123.62134
398429.72851,988123.62134
398430.37851,988123.62134
398431.02851,988123.62134
398431.67851,988123.62134
398432.32851,988123.62134
398432.97851,988123.62134
398433.62851,988123.62134
398434.27851,988123.62134
398434.92851,988123.62134
这个数据就是用vl-sort排序出来的,不理想.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 511个

财富等级: 财运亨通

发表于 2020-6-22 09:25:22 | 显示全部楼层
vl-sorl没问题
(setq lst '((1.3 2.1)(1.4 2.1)(1.3 2.2)(1.4 2.2)))
(vl-sort (vl-sort lst '(lambda(a b)(> (cadr a)(cadr b))))
         '(lambda(a b)(> (car a)(car b))))
结果是((1.4 2.2) (1.4 2.1) (1.3 2.2) (1.3 2.1))
(vl-sort (vl-sort lst '(lambda(a b)(> (car a)(car b))))
         '(lambda(a b)(> (cadr a)(cadr b))))
结果是((1.4 2.2) (1.3 2.2) (1.4 2.1) (1.3 2.1))
试着把上面两种方式里的">"改为"<",看看结果,充分理解vl-sort的用法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2020-6-21 21:54:34 | 显示全部楼层
点到某个固定线的距离点和组成关联表,然后对关联表排序,在把点提出来
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-22 10:09:47 | 显示全部楼层
pxr201419 发表于 2020-6-22 09:25
vl-sorl没问题
(setq lst '((1.3 2.1)(1.4 2.1)(1.3 2.2)(1.4 2.2)))
(vl-sort (vl-sort lst '(lambda(a  ...

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

使用道具 举报

 楼主| 发表于 2020-6-22 10:14:05 | 显示全部楼层
这个是我的CAD图,提取所有圆心坐标并排序X跟Y.排序出来就有问题

111.rar

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

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

使用道具 举报

 楼主| 发表于 2020-6-22 10:16:28 | 显示全部楼层
pxr201419 发表于 2020-6-22 09:25
vl-sorl没问题
(setq lst '((1.3 2.1)(1.4 2.1)(1.3 2.2)(1.4 2.2)))
(vl-sort (vl-sort lst '(lambda(a  ...

你试一下我的图,提取所有圆心坐标后排序X跟Y的坐标,
要么X排序是对的,要么Y对.没办法X跟Y都对

点评

没有办法直接根据点就排好两个方向 你先得到对象的包围框,得到最下的边界和最左的边界 先根据最下边界排Y,得到子表, 然后每个子表在对最左边界排序X 去看下通用LISP函数库里面的 xd::pickset:tablesort函数  详情 回复 发表于 2020-6-22 10:51
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2020-6-22 10:51:51 | 显示全部楼层
五只刀 发表于 2020-6-22 10:16
你试一下我的图,提取所有圆心坐标后排序X跟Y的坐标,
要么X排序是对的,要么Y对.没办法X跟Y都对

没有办法直接根据点就排好两个方向
你先得到对象的包围框,得到最下的边界和最左的边界
先根据最下边界排Y,得到子表, 然后每个子表在对最左边界排序X

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 04:39 , Processed in 0.477461 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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