找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1825|回复: 19

[编程申请] 如何在一个属性块中的两个属性值按数递增

[复制链接]
发表于 2014-10-1 16:40:21 | 显示全部楼层 |阅读模式
悬赏20D豆未解决
论坛中都是单个属性值按数递增,我现在想在一个属性块中的两个属性(编号1,编号2)按数递增,如何实现?


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

已领礼包: 593个

财富等级: 财运亨通

发表于 2014-10-1 17:01:22 | 显示全部楼层

  1. (defun c:tt (/ ss k lst)
  2.   (if (and (setq ss (ssget '((66 . 1))))
  3.            (setq K (getint "\n起始号码:"))
  4.       )
  5.     (progn
  6.       (setq lst        (mapcar        '(lambda (x)
  7.                            (list (last (xdrx_entity_box x))
  8.                                  x
  9.                            )
  10.                          )
  11.                         (xdrx_pickset->ents ss)
  12.                 )
  13.             lst        (xd::list:tablesort lst 0 3 1e-3)
  14.       )
  15.       (mapcar
  16.         '(lambda (x)
  17.            (mapcar
  18.              '(lambda (a)
  19.                 (mapcar
  20.                   '(lambda (b)
  21.                      (if (wcmatch (xdrx_getpropertyvalue b "tag")
  22.                                   "编号[1-2]"
  23.                          )
  24.                        (progn (xdrx_setpropertyvalue
  25.                                 b
  26.                                 "textstring"
  27.                                 (itoa k)
  28.                               )                             
  29.                        )
  30.                      )
  31.                    )
  32.                   (xdrx_insert_getattribs a)
  33.                 )
  34.                 (setq k (1+ k))
  35.               )
  36.              (mapcar 'cadr x)
  37.            )
  38.          )
  39.         lst
  40.       )
  41.     )
  42.   )
  43.   (princ)
  44. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2014-10-1 17:09:45 | 显示全部楼层
非常感谢eachy大师多次的帮助,真是太好了,要的就是这效果{:soso_e179:}

点评

把效果做个动画演示吧,我想批量处理肯定很方便了。  详情 回复 发表于 2014-10-1 18:10
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2014-10-1 17:10:06 | 显示全部楼层
改编一下
  1. (defun c:tt (/ ss k lst)
  2.   (fy:begin)
  3.   (if (and (ssget '((66 . 1)))
  4.            (setq K (getint "\n起始号码:"))
  5.       )
  6.     (progn
  7.       (setq lst        (mapcar        '(lambda (x)
  8.                            (list (vlax-get x 'Insertionpoint)
  9.                                  x
  10.                            )
  11.                          )
  12.                         (fy:cset->objs)
  13.                 )
  14.             lst        (xd::list:tablesort lst 0 3 1e-3)
  15.       )
  16.       (mapcar
  17.         '(lambda (x)
  18.            (mapcar
  19.              '(lambda (a)
  20.                 (mapcar
  21.                   '(lambda (b)
  22.                      (if (wcmatch (vlax-get b 'tagstring)
  23.                                   "编号[1-2]"
  24.                          )
  25.                        (vlax-put b "textstring" (itoa k))
  26.                      )
  27.                    )
  28.                   (vlax-invoke a 'getattributes)
  29.                 )
  30.                 (setq k (1+ k))
  31.               )
  32.              (mapcar 'cadr x)
  33.            )
  34.          )
  35.         lst
  36.       )
  37.     )
  38.   )
  39.   (fy:end)
  40.   (princ)
  41. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-10-1 18:10:26 | 显示全部楼层
liushengri1 发表于 2014-10-1 17:09
非常感谢eachy大师多次的帮助,真是太好了,要的就是这效果

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

使用道具 举报

 楼主| 发表于 2014-10-3 13:05:27 | 显示全部楼层
问题是解决了,但排序有点乱,本来是想要:从左到右:1001 1002 1003 1004 再下一行是:1005 1006 1007 1008,结果变成了:1001 1003 1004 1002 1005 1007 1008 1006
QQ图片20141003130446.jpg

test.rar

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

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-10-3 14:47:06 | 显示全部楼层
liushengri1 发表于 2014-10-3 13:05
问题是解决了,但排序有点乱,本来是想要:从左到右:1001 1002 1003 1004 再下一行是:1005 1006 1007 100 ...

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

使用道具 举报

 楼主| 发表于 2014-10-3 15:40:09 | 显示全部楼层
容差是如何让计算的,1e-3是多少呀

点评

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

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2014-10-3 15:59:13 来自手机 | 显示全部楼层
liushengri1 发表于 2014-10-3 15:40
容差是如何让计算的,1e-3是多少呀

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

使用道具 举报

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

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-10-3 18:15:35 | 显示全部楼层
本帖最后由 st788796 于 2014-10-3 18:19 编辑

以图框的左下角点作索引

(last (xdrx_entity_box x))
=>
(car (xdrx_entity_box x))

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

使用道具 举报

 楼主| 发表于 2014-10-3 19:20:39 | 显示全部楼层
以图框的左下角点作索引

(last (xdrx_entity_box x))
=>
(car (xdrx_entity_box x))
试过了,还是不行,如上图框顺序变成了:1003  1001 1002  1004

点评

放大 容差  详情 回复 发表于 2014-10-3 20:47
这帖子看着有点迷糊啊,不是问递增吗,怎么最后又排序了?  详情 回复 发表于 2014-10-3 20:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2014-10-3 20:15:56 | 显示全部楼层
liushengri1 发表于 2014-10-3 19:20
以图框的左下角点作索引

(last (xdrx_entity_box x))

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

使用道具 举报

发表于 2014-10-3 20:47:17 | 显示全部楼层
liushengri1 发表于 2014-10-3 19:20
以图框的左下角点作索引

(last (xdrx_entity_box x))

放大 容差
  1. (defun c:tt (/ ss k lst)
  2.   (fy:begin)
  3.   (if (and (ssget '((66 . 1))) (setq K (getint "\n起始号码:")))
  4.     (progn
  5.       (setq lst        (mapcar        '(lambda (x) (list (vlax-get x 'Insertionpoint) x))
  6.                         (fy:cset->objs)
  7.                 )
  8.             lst        (xd::list:tablesort lst 0 3 40.)
  9.       )
  10.       (mapcar
  11.         '(lambda (x)
  12.            (mapcar
  13.              '(lambda (a)
  14.                 (mapcar
  15.                   '(lambda (b)
  16.                      (if (wcmatch (vlax-get b 'tagstring) "编号[1-2]")
  17.                        (progn
  18.                          (vlax-put b "textstring" (itoa k))
  19.                          (vla-update a)
  20.                        )
  21.                      )
  22.                    )
  23.                   (vlax-invoke a 'getattributes)
  24.                 )
  25.                 (setq k (1+ k))
  26.               )
  27.              (mapcar 'cadr x)
  28.            )
  29.          )
  30.         lst
  31.       )
  32.     )
  33.   )
  34.   (fy:end)
  35.   (princ)
  36. )

点评

大师(mapcar '(lambda (x) (mapcar '(lambda (a) (mapcar '(lambda (b)太高级了。看不懂!  发表于 2014-10-3 20:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 19:40 , Processed in 0.518814 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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