找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4043|回复: 30

[编程申请]:复制块同时块属性(数字)相应递增

[复制链接]
发表于 2008-10-24 12:21:33 | 显示全部楼层 |阅读模式

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

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

×
小弟是在设计院工作,由于工作需要,很需要这么一个功能,能减少很大的工作量,请大侠帮忙。具体功能如下:图面上有一个属性块(属性分上下两行,都是数字,上行是一个数字,下行为A—B类型),然后连续复制此块,复制所得块B递增。小弟手头有分开的两个工具,一个就是纯数字递增,还有一个是把N个块的属性编号,但是我所需要的却是复制的时候块属性递增。请大侠帮忙,小弟在此谢过。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2008-10-29 18:37:24 | 显示全部楼层
"复制所得块B递增",能不能再说清楚些。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-30 12:33:53 | 显示全部楼层
看我传的图片,非常渴望有这个功能,希望大侠能帮忙,谢谢呀。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-11-6 22:55:14 | 显示全部楼层
看看下列程序能否满足你的要求:

  1.   [FONT=courier new]
  2. (defun c:nn()
  3.   (setq sn (entsel "\n点取物体:") p1 (cadr sn) p2 t sn (car sn))
  4.   (while p2
  5.     (setq p2 (getpoint "\n下一点:" p1))
  6.     (command "copy" sn "" p1 p2)   
  7.     (setq sn (entlast) p1 (to 10) en (entget sn))
  8.     (if (and p2 (to 66)(= "INSERT" (to 0)))
  9.       (progn
  10.         (setq st  (entget (entnext (cdr (car (entget sn)))))
  11.               st (cdr (assoc 1 st))
  12.         );;提取属性
  13.         (setq st (atoi st) st (1+ st) st (itoa st))      
  14.         (setq e1 (entget (entnext (cdr (car en)))))
  15.         (setq e1 (subst (cons 1 st) (assoc 1 e1) e1))
  16.         (entmod e1)(entmod en)
  17.         (princ st)
  18.       )
  19.     )   
  20.   )
  21.   (princ)
  22. )
  23. (defun to(n)
  24.   (cdr (assoc n (entget sn)))
  25. )
  26.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-11-7 08:42:06 | 显示全部楼层
小试了一下,有点问题,命令后A-B,从“1”开始递增,而不是从A-1,A-2,能否修改一下,有选择从任意数字递增,“A-”保留。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-7 13:49:32 | 显示全部楼层
首先十分感谢gysjy  呀,虽然还是有问题,但是毕竟还是离目标进了一步,觉得有希望。
问题1,类似楼上朋友说的那样,数字递增了,但是并没有保留A-。
问题2,使用命令时,实际上递增的是属性块中上面那个属性,看图:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-11-7 19:42:40 | 显示全部楼层
最初由 foride 发布
[B]问题1,类似楼上朋友说的那样,数字递增了,但是并没有保留A-。
[/B]

现将程序修改如下:


  1.   [FONT=courier new]
  2. (defun to(n)
  3.   (cdr (assoc n (entget sn)))
  4. )

  5. (defun c:nn( / e1 en l p1 p2 sn st st1 st2)
  6.   (setq *error* nil)
  7.   (setq sn (entsel "\n点取物体:") p1 (cadr sn) p2 t sn (car sn))
  8.   (while p2
  9.     (setq p2 (getpoint "\n下一点:" p1))
  10.     (command "copy" sn "" p1 p2)   
  11.     (setq sn (entlast) p1 (to 10) en (entget sn))
  12.     (if (and p2 (to 66)(= "INSERT" (to 0)))
  13.       (progn
  14.         (setq st  (entget (entnext (cdr (car (entget sn)))))
  15.               st (cdr (assoc 1 st))
  16.         );;提取属性
  17.         (setq l (strlen st) st1 (substr st 1 (- l 1)) st2 (substr st l)
  18.               st2 (atoi st2) st2 (1+ st2) st2 (itoa st2) st (strcat st1 st2)  
  19.         )   
  20.         (setq e1 (entget (entnext (cdr (car en)))))
  21.         (setq e1 (subst (cons 1 st) (assoc 1 e1) e1))
  22.         (entmod e1)(entmod en)
  23.         (princ st)
  24.       )
  25.     )   
  26.   )
  27.   (princ)
  28. )

  29.   [/FONT]

最初由 foride 发布
[B]
问题2,使用命令时,实际上递增的是属性块中上面那个属性,看... [/B]

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

使用道具 举报

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

使用道具 举报

发表于 2008-11-9 18:33:40 | 显示全部楼层
最初由 jx2008 发布
[B]能用吗,如果有对个数数字呢,怎么递增呢? [/B]

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

使用道具 举报

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

使用道具 举报

发表于 2008-11-11 10:03:12 | 显示全部楼层
还是有点问题,递增到19后,数字就变了110而不是20,后面还是递增还是有问题的,多试一试。我还是要非常感谢热心的gysjy了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-11-11 12:10:12 | 显示全部楼层
最初由 lfx49 发布
[B]还是有点问题,递增到19后,数字就变了110而不是20,后面还是递增还是有问题的,多试一试。 [/B]

程序是基于只考虑最末的数字的增加,未考虑位数的问题。增加一个条件语句可以解决这个问题。不过在实际应用中,连续拷贝超过19的概率已极小了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-11 13:11:31 | 显示全部楼层
的确,还是很有些问题需要完善的,不过基本上解决我的问题,剩下的一些问题我自己有空慢慢完善,相信问题不大,难度也不会很大吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-11 13:24:46 | 显示全部楼层
的确,还是很有些问题需要完善的,不过基本上解决我的问题,剩下的一些问题我自己有空慢慢完善,相信问题不大,难度也不会很大吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-28 16:50 , Processed in 0.436786 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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