找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1144|回复: 1

[求助] 根据文件名改属性块(求简化)

[复制链接]

已领礼包: 127个

财富等级: 日进斗金

发表于 2014-10-29 11:52:46 | 显示全部楼层 |阅读模式

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

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

×
;根据文件名改属性块 文件名格式: 图号空格图名空格总页码空格
(DEFUN CHATTRIB (OLDATT NEWATT)
(IF (AND ;(PRINC "\nSelect Block with attribute 选择带属性图块 :")

                  ;(SETQ SS (SSGET '((0 . "INSERT") (66 . 1))))
                  
        (SETQ SS (SSGET "X" '((0 . "INSERT") (66 . 1)(2 . "KX-目录属性块"))));只选择"KX-目录属性块"
                  )
                  (PROGN
  (SETQ I -1)
  (REPEAT (SSLENGTH SS)
   (SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
         ENT1 ENT)
   (WHILE (= (CDR (ASSOC 0 (SETQ ENT1 (ENTGET (ENTNEXT (CDR (ASSOC -1 ENT1))))))) "ATTRIB")
    (IF (= (CDR (ASSOC 1 ENT1)) OLDATT) (PROGN
  (SETQ ENT1 (SUBST (CONS 1 NEWATT) (ASSOC 1 ENT1) ENT1))
  (ENTMOD ENT1)
  (ENTMOD ENT)
))
   )
  )
))
(PRINC)
)

(defun strsplit(str splits / i a b)
  (while(<""str)
    (if(vl-remove'nil(mapcar'(lambda(x)(vl-string-search x str))splits))
      (setq i(car(vl-sort(vl-remove'nil(mapcar'(lambda(x)(if(setq l(vl-string-search x str))(cons l x)))splits))
       '(lambda(s1 s2)(<(car s1)(car s2)))))
      a(cons(substr str 1(car i))a)b(cons(cdr i)b)
      str(substr str(+(car i)(strlen(cdr i))1)))
      (setq a(cons str a)b(cons "" b)str"")))
  (list(reverse a)(reverse b)))

(DEFUN C:gtm ()        (vl-load-com)
(SETQ OATT (GETSTRING "\n原始图名:"));这里能不能改成点选属性块中的图名属性而不是输入


(setq  kx-tm (cadr(car(strsplit(getvar "dwgname")'(" ")))))

(CHATTRIB OATT kx-tm )
  (PRINC)
)

(DEFUN C:gth ()        (vl-load-com)
(SETQ OATT (GETSTRING "\n原始图号:"));这里能不能改成点选属性块中的图号属性而不是输入


(setq  kx-th (car(car(strsplit(getvar "dwgname")'(" ")))))

(CHATTRIB OATT kx-th )
  (PRINC)
)

(DEFUN C:gzym ()
        (vl-load-com)
(SETQ OATT (GETSTRING "\n原始总页码:"));这里能不能改成点选属性块中的总页码属性而不是输入

(setq  kx-zym (caddr(car(strsplit(getvar "dwgname")'(" ")))))

(CHATTRIB OATT kx-zym )
  (PRINC)
)

想省去输入原始属性块中值,改成点选属性块!求大家出手简化!


属性块.rar

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

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

已领礼包: 127个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 05:20 , Processed in 0.356463 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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