求大神帮帮忙,把这个程序改成可以框选使用。
;;功能:属性块中属性文字的修改;;作者 zml84
;;参数:
;; EN -----包含属性的块的图元名称
;; AttName -----属性名称
;; int -----修改的组码编号
;; Value -----修改为的值
;;用法示例:
;;(ZL-INSERT-SETATT entname "TEST1" 1 "WG-4/TL"),即修改图元名为entname的TEST1属性值为"WG-4/TL"
;;int为2时可以修改属性名(即标记)的值
(DEFUN ZL-INSERT-SETATT (EN ATTNAME INT VALUE / RETURN E FLAG ENT)
(SETQ E EN RETURN NIL FLAG T)
(WHILE (AND FLAG (SETQ E (ENTNEXT E)))
(SETQ ENT (ENTGET E))
(COND
((NOT (= (CDR (ASSOC '0 ENT)) "ATTRIB")) (SETQ FLAG NIL))
((= "SEQEND" (CDR (ASSOC '0 ENT))) (SETQ FLAG NIL))
((= (CDR (ASSOC '2 ENT)) ATTNAME)
(IF (ASSOC INT ENT)
(SETQ ENT (SUBST (CONS INT VALUE) (ASSOC INT ENT) ENT))
(SETQ ENT (CONS (CONS INT VALUE) ENT))
)
(ENTMOD ENT)
(ENTUPD EN)
(SETQ RETURN T)
)
) ;_结束COND
)
;;返回RETURN
)
;;(ZL-INSERT-SETATT (car(entsel)) "TEST1" 2 "ATT1")
;;(ZL-INSERT-SETATT (car(entsel)) "TEST2" 1 "WG-4/TL")
(DEFUN C:1QA ()
(ZL-INSERT-SETATT (car(entsel)) "图纸编号" 1 "66")
(ZL-INSERT-SETATT (car(entsel)) "页码" 1 "A-15")
(PRINC)
)程序是论坛里找到的。我想改成框选两个以上不同图框的可以使用。谢谢老铁们.
弄清楚自定义函数的用法就很简单了,就像给了你个工具,你想整哪个就整哪个 (DEFUN C:1QA (/ E N SS)
(while (setq ss (ssget ":S" '((0 . "INSERT"))))
(repeat (setq n (sslength ss))
(setq e (ssname ss (setq n (1- n))))
(ZL-INSERT-SETATT e "图纸编号" 1 "66")
)
)
(PRINC)
)
页:
[1]