bono05 发表于 2022-7-5 17:56:57

更改属性标记

李,你好,
 
我正在使用autocad 2010,如果我更改了标记。。。然后选择另一个计划来保存它,好的,他打开了。。。做某事,然后保存并关闭。。。。但什么都没变?!
我不知道为什么。

bono05 发表于 2022-7-5 18:03:15

好的,我试试;-)
 
Lisp不为我工作,我不知道为什么?
因此,第一步:
-打开计划并键入batte
-然后选择一个块
-编辑项目并更改标记名称
-然后下一个
-选择另一个计划,然后“运行”
最后我总是有老标签名?!
 
你能帮助我吗?
 
最后,我需要更改+/-40个“标签”块(实际上具有不同的标签名称)。我想把所有这些块都改成相同的标签名。有可能吗?

bono05 发表于 2022-7-5 18:05:05

该死的!!不跟我一起工作很正常
 
您有没有想法将图形中所有块的标记(更改为相同的标记)?
实际上,我有很多块的标签名不同,我需要所有的块都有相同的标签名(“TYPE”)。

Tharwat 发表于 2022-7-5 18:06:37

 
嗨,博诺
 
这是我很久以前写的一个程序,这是我第一次公开发布它,所以为了满足您关于更改标签的请求,只需从修改选项->标签中选择,然后新标签的编辑框应该被激活。
 
试试看,让我知道。
 
课程介绍。
 

收件人:。rar公司

bono05 发表于 2022-7-5 18:10:51

非常感谢Tharwat!
只有一件事
按属性块名称,有“所有块”或“按选定块”。
是否可以在列表中选择块?对于示例,如果我有60个块,只需要更改40个?

Tharwat 发表于 2022-7-5 18:15:47

 
你不需要超过这些代码行尝试一下,让我知道。
 

(defun c:test (/ ss tag )
;;        Tharwat 1st.Apr.2015        ;;
(if (and (setq tag (getstring t "\n Specify new tag string :"))
      (princ (strcat "\n Select Attributed blocks to change to new TAG name < " tag " > ."))
      (setq ss (ssget "_:L" '((0 . "INSERT")(66 . 1))))         
      )
((lambda (i / sn )
    (while (setq sn (ssname ss (setq i (1+ i))))
      (mapcar '(lambda (g) (if (vlax-write-enabled-p g)(vla-put-tagstring g tag)))
         (vlax-invoke (vlax-ename->vla-object sn) 'getattributes)
            )
      )
      )
   -1 )
)
(princ)
)(vl-load-com)

bono05 发表于 2022-7-5 18:17:57

现在的问题是,我每个区块有2个标签。。。。只有一个需要更换。

Tharwat 发表于 2022-7-5 18:22:17

 
您要用新标签替换的标签的名称是什么?

bono05 发表于 2022-7-5 18:24:21

这就是问题所在。。。现在每个块都有不同的标记。
所以我要换的标签总是不同的。
 
事实上,Attm。lisp是一个很棒的工具,因为您可以看到选项“标记字符串”。。。。但对我来说,我需要选择一些区块,而不是所有区块。

bono05 发表于 2022-7-5 18:26:44

我会给你一个样品。
 
实际上是这样的:
 
块名称:键入标记:A值:A(或A/S)
标记:回路值:(空)
 
块名称:类型B标记:B值:B(或B/S)
标记:回路值:(空)
 
块名称:类型K标记:K值:K(或K/S)
标记:电路值:(空)
 
发射型计算机断层扫描仪。。。。。。。。
 
标签“circuit”需要保持这样。。。仅标记A、B、K。。。。需要更改为类型。
但我还有另外一个完全带有其他标签的块,这些不需要更改。
页: [1] 2
查看完整版本: 更改属性标记