;;;=============================================* ;;; 通用函数 * ;;;功能:属性块中属性值的修改 * ;;;参数: EN -----包含属性的块的图元名称 * ;;; AttName -----属性名称 * ;;; Value -----修改为的值 * ;;;返回:T表示修改成功;否则返回nil *
(defun ZL-INSERT-SETATTVALUE (EN ATTNAME VALUE / RETURN E TEST ENT) (setq E EN RETURN NIL TEST t ) (while (and TEST (setq E (entnext E)) ) (setq ENT (entget E)) (cond ;; ((not (= (cdr (assoc 0 ENT)) "ATTRIB")) (setq TEST NIL) ) ;; ((= "SEQEND" (cdr (assoc 0 ENT))) (setq TEST NIL) ) ;; ((= (cdr (assoc 2 ENT)) ATTNAME) (setq ENT (subst (cons 1 VALUE) (assoc 1 ENT) ENT ) ) (entmod ENT) (entupd EN) (setq RETURN t) ) ) ;_结束cond ) ;;返回 RETURN )
;;;=============================================* ;;;测试 * ;;; * (defun C:RC (/ SS) (if (setq SS (entsel "\n点取要修改的属性块: ")) (princ (ZL-INSERT-SETATTVALUE (car SS) "NAME-DRAWN" "上海港巨机械设计事务所") ) ) (princ) ) |