菜卷鱼 发表于 2024-5-11 17:27:17

向块中添加块属性文字

官方网站学习 AddAttribute Method (ActiveX)
(defun c:addatt (/   doc      obj         vbj    blocks
      blockname   block      ipoint   insertionpoint
      attheight   attmode    attpromptatttag    attvalue
       )
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq obj (car (entsel)))
(setq vbj (vlax-ename->vla-object obj))
(setq blocks (vla-get-blocks DOC))
(setq blockname (vla-get-name vbj))
(setq block (vla-item blocks blockname))
(setq ipoint (cdr (assoc 10 (entget obj))))
(setqinsertionPoint (apply 'vlax-3d-point ipoint)
attHeight      1
attMode         acAttributeModeVerify
attPrompt      "提示"
attTag         "标记"
attValue       "好喜欢菜卷鱼"
)
(vla-AddAttribute
    block attHeight attMode attPrompt insertionPoint attTag attValue)
;;;手动去attsync
)

dabingrain 发表于 2024-5-17 18:27:39

(defun c:addatt(/   doc      obj         vbj    blocks
      blockname   block      ipoint   insertionpoint
      attheight   attmode    attpromptatttag    attvalue
       )
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(setq obj (car (entsel)))
(setq vbj (vlax-ename->vla-object obj))
(setq blocks (vla-get-blocks DOC))
(setq blockname (vla-get-name vbj))
(setq block (vla-item blocks blockname))
(setq ipoint (cdr (assoc 10 (entget obj))))
(setqinsertionPoint (apply 'vlax-3d-point ipoint)
attHeight      1
attMode         acAttributeModeVerify
attPrompt      "提示"
attTag         "标记"
attValue       "好喜欢菜卷鱼"
)
(vla-AddAttribute
    block attHeight attMode attPrompt insertionPoint attTag attValue)
;;;手动去attsync
        (vl-cmdf ".ATTSYNC" "S"obj "Y")
)

tranque 发表于 2024-5-17 17:37:57

weimeng555 发表于 2024-5-12 01:06
测试了下,麻烦没反应呢?大佬能否解毒一波,选择块后没反应了,提示:选择对象: #
用attman查看也没有增 ...

你进入块编辑器里就会发现,其实是添加进去属性了

凨仴黯夜 发表于 2024-5-13 08:48:42

weimeng555 发表于 2024-5-12 01:06
测试了下,麻烦没反应呢?大佬能否解毒一波,选择块后没反应了,提示:选择对象: #
用attman查看也没有增 ...

这只是向块定义添加了属性文字,没有给块参照添加

lxl217114 发表于 2024-5-11 17:39:49

厉害了,又有新作分享了。

weimeng555 发表于 2024-5-12 01:06:02

测试了下,麻烦没反应呢?大佬能否解毒一波,选择块后没反应了,提示:选择对象: #<VLA-OBJECT IAcadAttribute 0000018e61f04968>
用attman查看也没有增加属性

自贡黄明儒 发表于 2024-5-12 07:35:09

块就像是人,属性就像衣服,你可以穿一件或者多件,也可以一丝不挂。一丝不挂就是普通块,没带属性

22千里之外 发表于 2024-5-12 12:07:24

自贡黄明儒 发表于 2024-5-12 07:35
块就像是人,属性就像衣服,你可以穿一件或者多件,也可以一丝不挂。一丝不挂就是普通块,没带属性

这个解释到位

magicheno 发表于 2024-5-12 12:56:52

感谢大佬分享

zilong136 发表于 2024-5-13 02:15:58

weimeng555 发表于 2024-5-12 01:06
测试了下,麻烦没反应呢?大佬能否解毒一波,选择块后没反应了,提示:选择对象: #
用attman查看也没有增 ...

跟你一样

菜卷鱼 发表于 2024-5-13 08:35:09

weimeng555 发表于 2024-5-12 01:06
测试了下,麻烦没反应呢?大佬能否解毒一波,选择块后没反应了,提示:选择对象: #
用attman查看也没有增 ...

手动去ATTSYNC,执行了没有

jkop 发表于 2024-5-13 10:02:08

可以快速的增加属性文字,简化作业流程,很好的范例程序。
页: [1] 2
查看完整版本: 向块中添加块属性文字