找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 678|回复: 3

[已解决] 建议对XD::List:GroupByIndex函数稍加修改,可以使用于索引为图元的情况

[复制链接]

已领礼包: 202个

财富等级: 日进斗金

发表于 2020-8-14 10:56:49 | 显示全部楼层 |阅读模式
悬赏20D豆已解决
本帖最后由 dyjwyqz5221 于 2020-8-14 11:05 编辑

将函数中这两处稍加修改即可:

(setq lst
        (vl-sort lst
                '(lambda (l1 l2)
                        (if (= (type index) 'ENAME)
                                (xdrx-string-logical< (vl-princ-to-string (car l1)) (vl-princ-to-string (car l2)))
                                (< (car l1) (car l2))
                        );;;if
                )
        )
);;;setq
(or
        (and
                        (= (type index) 'INT)
                          (setq tf t
                                lst
                                (mapcar
                                              '(lambda (x)
                                                (cons (float (car x)) (cdr x))
                                        )
                                              lst
                                    )
                                lst (reverse lst)
                          );;;setq
             );;;and
             (= (type index) 'REAL)
             (= (type index) 'STR)
        (= (type index) 'ENAME)
);;;or
就可以了。

最佳答案

查看完整内容

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

已领礼包: 145个

财富等级: 日进斗金

发表于 2020-8-14 10:56:50 | 显示全部楼层
dyjwyqz5221 发表于 2020-8-14 10:59
测试:
(progn
        (setq e1 (car (entsel))

现在就支持这样啊

点评

有个版本的这个函数有点问题,我将论坛里的源代码拷贝到程序中了,所以造成了不适用于图元了。抱歉! 非常感谢!  详情 回复 发表于 2020-8-17 08:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-8-14 10:59:31 | 显示全部楼层
测试:
(progn
        (setq e1 (car (entsel))
                e2 (car (entsel))
                n 0
                lst nil
        );;;setq
        (apply 'append
                (repeat 6
                        (setq n (1+ n))
                        (setq lst (cons (list e1 n) lst)
                                lst (cons (list e2 n) lst)
                        );;;setq
                );;;repeat
        );;;apply
        lst
)

选择对象:
选择对象: ((<图元名: 7ff440bfe090> 6) (<图元名: 7ff440bfe080> 6) (<图元名: 7ff440bfe090> 5) (<图元名: 7ff440bfe080> 5) (<图元名: 7ff440bfe090> 4) (<图元名: 7ff440bfe080> 4) (<图元名: 7ff440bfe090> 3) (<图元名: 7ff440bfe080> 3) (<图元名: 7ff440bfe090> 2) (<图元名: 7ff440bfe080> 2) (<图元名: 7ff440bfe090> 1) (<图元名: 7ff440bfe080> 1))

命令: (XD::List:GroupByIndex lst 10)
((<图元名: 7ff440bfe090> 1 2 3 4 5 6) (<图元名: 7ff440bfe080> 1 2 3 4 5 6))

点评

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

使用道具 举报

已领礼包: 202个

财富等级: 日进斗金

 楼主| 发表于 2020-8-17 08:25:05 | 显示全部楼层
XDSoft 发表于 2020-8-14 20:44
现在就支持这样啊

有个版本的这个函数有点问题,我将论坛里的源代码拷贝到程序中了,所以造成了不适用于图元了。抱歉!
非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 04:31 , Processed in 0.336955 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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