att编辑帮助
我正在尝试使用Scriptpro运行脚本。我只想更改块中属性中的文本。我正在使用GATTE命令来执行此操作,但是,当它要求我输入块名时,由于块名中有空格,它会显示“无效选择”。
块的名称是WILDE-TAMESIDE BORDER NEW,我试图更改的属性是STATUS
我已经试过了,但没有用,这是我的代码。
关贸总协定
王尔德-塔梅赛德边境新酒店
状态
用于施工
谁能告诉我我做错了什么?
谢谢 显然我要插入我自己的程序
http://www.cadtutor.net/forum/showthread.php?t=37127
此外,如果您在ScriptPro打开和关闭每个图形的AutoCAD时遇到问题,我的script writer程序(我的sig中的链接)可能会对您有更多帮助。 或者,使用LISP例程而不是命令调用:
(defun attchng (blk tag val / i ss ent att)
(vl-load-com)
;; Lee Mac~17.02.10
(mapcar (function set) '(blk tag)
(mapcar (function strcase) (list blk tag)))
(if (setq i -1 ss (ssget "_X" (list (cons 0 "INSERT")
(cons 2 blk) (cons 66 1))))
(while (setq ent (ssname ss (setq i (1+ i))))
(foreach att (vlax-invoke (vlax-ename->vla-object ent) 'GetAttributes)
(if (eq (strcase (vla-get-TagString att)) Tag)
(vla-put-TextString att val)))))
(princ))
在你的剧本中这样称呼它;
(attchng "blockname" "tagname" "newtagvalue")
但您需要确保它已加载到每个图形中。 这是一个很好的小程序,谢谢。但是
我不会在多个文件(50+以上)上运行它,而不深入每一个文件,这就是我想使用scriptpro的原因。
你用什么来代替区块标题中的空格?
你指的是我的马加特计划吗?这是专门为在目录/子目录中运行100个图形而构建的。
它使用ObjectDBX,比依次打开每个图形快100倍,因为它可以在不打开图形的情况下对图形进行操作
页:
[1]