DuanJinHui 发表于 2022-7-5 20:26:33

替换属性值

你好每个人圣诞快乐
 
我做了一点搜索,但没有找到我需要的。
但我想知道是否有人提出了lisp解决方案。
 
在模型空间中。一些属性块,一个属性标记是“DR_DATE”,我想替换这个标记的值。
 
PS.不替换所有属性块,仅替换选择区域。我需要输入的新值。
 
 
谢谢

Tharwat 发表于 2022-7-5 20:48:02

像这样的?
 

(defun c:TesT (/ st ss)
;; Tharwat 25.12.2014    ;;
(if (and (/= "" (setq st (getstring t "\n Specify new value :")))
          (princ "\n Select Attributed blocks ...")
          (ssget "_:L" '((0 . "INSERT") (66 . 1)))
   )
   (vlax-for x (setq
               ss (vla-get-ActiveSelectionSet
                      (vla-get-ActiveDocument (vlax-get-acad-object))
                  )
               )
   (mapcar '(lambda (a)
                (if (eq (strcase (vla-get-tagstring a)) "DR_DATE")
                  (vla-put-textstring a st)
                )
            )
             (vlax-invoke x 'getattributes)
   )
   )
)
(if ss
   (vla-delete ss)
)
(princ)
)(vl-load-com)

DuanJinHui 发表于 2022-7-5 21:24:56

 
Tharwat先生。这很好。非常非常好!非常感谢。

Tharwat 发表于 2022-7-5 21:37:38

 
很高兴听到这个
 
非常欢迎你。
页: [1]
查看完整版本: 替换属性值