下面是一个添加属性值的通用例程-大卫
- ;;;ADD NUMERIC VALUES OF AN ATTRIB TAG IN SELECTED INSERTS
- (defun c:combav (/ tm ss i en an ad at av vl)
- (setq tm (strcase (getstring "\nATTRIB Tag To Add: ")))
- (and (setq ss (ssget (list (cons 0 "INSERT")
- (cons 66 1)
- (cons 67 (if (= (getvar "TILEMODE") 1) 0 1)))))
- (setq i (sslength ss))
- (while (not (minusp (setq i (1- i))))
- (setq en (ssname ss i)
- an (entnext en))
- (while (= "ATTRIB" (cdr (assoc 0 (entget an))))
- (setq ad (entget an)
- at (strcase (cdr (assoc 2 ad)))
- av (atof (cdr (assoc 1 ad))))
- (if (= at tm)
- (setq vl (cons (if (= (fix av) av)
- (fix av) av) vl)))
- (setq an (entnext an)))))
- (apply '+ vl))
|