cabltv1 发表于 2022-7-6 12:15:30

将图形另存为属性值

大家好,
 
我正在寻找一个Lisp例程,它将用属性值中的名称保存图形。
块名为“MAP_NUM”。
标签名为“MAP”。
例子:
图纸名称为25-25。标签值为“500-500”。
将图纸25-25另存为500-500。
 
任何帮助都将不胜感激。

SteveK 发表于 2022-7-6 12:38:46

看看这是怎么回事。将文件保存到当前文件夹(因为未指定),如果有多个块,则只查找找到的第一个块:
 
(defun c:savePerAtt (/ blkname attTag ss txtStr subEn)
(vl-load-com)

; Get Text String
(setq blkname "PLD Border 07");"MAP_NUM")
(setq attTag "TITLE1");"MAP")
(if (setq ss (ssget "_X" (list '(0 . "INSERT") (cons 2 blkname))))
   (progn
   (setq subEn (ssname ss 0))
   (while (AND (not txtStr)
         (setq subEn (entnext subEn))
         (eq (cdr (assoc 0 (entget subEn))) "ATTRIB"))
   (If (eq (cdr (assoc 2 (entget subEn))) attTag)
   (setq txtStr (cdr (assoc 1 (entget subEn))))
   )
   )
   )
   )

; Save Drawing
(If txtStr
   (vla-saveas
   (vla-get-activedocument
   (vlax-get-acad-object))
   txtStr)
   (princ "\nAttribute Not Found.")
   )

(princ)
)

cabltv1 发表于 2022-7-6 13:08:35

完美的
非常感谢你。这个例行公事会节省我很多时间。

SteveK 发表于 2022-7-6 13:22:59

别担心
页: [1]
查看完整版本: 将图形另存为属性值