(if(setq sel(ssget“_+:E:S:L”'((0。“INSERT”)(66.1)));选择属性
(foreach att(vlax invoke(vlax ename->vla object(ssname sel 0))'获取属性)
(if(setq col(cdr(assoc(strcase(vla get tagstring att))lst)))
(if(vlax-write-enabled-p att)(vla put textstring att dwgn));;我添加了一条新线路来实现这一点
; (if(vlax-write-enabled-p att)(vla put textstring att col));;我希望这能奏效,但为什么不呢?
)
)
)
(普林斯)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
现在我把dwgn作为文件名,我想把它放到一个列表中(setq lst’(((“DWG\u NO.dwgn)(“A1-DWG-NO.dwgn)))然后从那里使用这个列表来更新块标记,使用现在删除的行:(if(vlax-write-enabled-p att)(vla put textstring att col))
希望这有意义。这不起作用,我不知道为什么。我在上面的行中输入((if(vlax-write-enabled-p att)(vla put textstring att dwgn)),只强制输入图纸编号,忽略lst中的内容。。。再次希望我解释得足够好。这很有效,我做了我需要做的事情,然而出于好奇,为什么第一个想法不起作用?