明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2178|回复: 14

[源码] 向块中添加块属性文字

[复制链接]
发表于 2024-5-11 17:27:17 | 显示全部楼层 |阅读模式
官方网站学习 AddAttribute Method (ActiveX)
  1. (defun c:addatt (/     doc      obj         vbj    blocks
  2.         blockname   block      ipoint     insertionpoint
  3.         attheight   attmode    attprompt  atttag    attvalue
  4.        )
  5.   (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  6.   (setq obj (car (entsel)))
  7.   (setq vbj (vlax-ename->vla-object obj))
  8.   (setq blocks (vla-get-blocks DOC))
  9.   (setq blockname (vla-get-name vbj))
  10.   (setq block (vla-item blocks blockname))
  11.   (setq ipoint (cdr (assoc 10 (entget obj))))
  12.   (setq  insertionPoint (apply 'vlax-3d-point ipoint)
  13.   attHeight      1
  14.   attMode         acAttributeModeVerify
  15.   attPrompt      "提示"
  16.   attTag         "标记"
  17.   attValue       "好喜欢菜卷鱼"
  18.   )
  19.   (vla-AddAttribute
  20.     block attHeight attMode attPrompt insertionPoint attTag attValue)
  21.   ;;;手动去attsync
  22. )

评分

参与人数 1明经币 +1 金钱 +15 收起 理由
tigcat + 1 + 15 非常棒,官网我值得拥有!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-5-17 18:27:39 | 显示全部楼层
  1. (defun c:addatt  (/     doc      obj         vbj    blocks
  2.         blockname   block      ipoint     insertionpoint
  3.         attheight   attmode    attprompt  atttag    attvalue
  4.        )
  5.   (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  6.   (setq obj (car (entsel)))
  7.   (setq vbj (vlax-ename->vla-object obj))
  8.   (setq blocks (vla-get-blocks DOC))
  9.   (setq blockname (vla-get-name vbj))
  10.   (setq block (vla-item blocks blockname))
  11.   (setq ipoint (cdr (assoc 10 (entget obj))))
  12.   (setq  insertionPoint (apply 'vlax-3d-point ipoint)
  13.   attHeight      1
  14.   attMode         acAttributeModeVerify
  15.   attPrompt      "提示"
  16.   attTag         "标记"
  17.   attValue       "好喜欢菜卷鱼"
  18.   )
  19.   (vla-AddAttribute
  20.     block attHeight attMode attPrompt insertionPoint attTag attValue)
  21.   ;;;手动去attsync
  22.         (vl-cmdf ".ATTSYNC" "S"  obj "Y"  )
  23. )
发表于 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查看也没有增 ...

这只是向块定义添加了属性文字,没有给块参照添加
发表于 2024-5-11 17:39:49 | 显示全部楼层
厉害了,又有新作分享了。
发表于 2024-5-12 01:06:02 | 显示全部楼层
测试了下,麻烦没反应呢?大佬能否解毒一波,选择块后没反应了,提示:选择对象: #<VLA-OBJECT IAcadAttribute 0000018e61f04968>
用attman查看也没有增加属性
发表于 2024-5-12 07:35:09 | 显示全部楼层
块就像是人,属性就像衣服,你可以穿一件或者多件,也可以一丝不挂。一丝不挂就是普通块,没带属性

点评

精辟  发表于 2024-5-18 08:26
发表于 2024-5-12 12:07:24 | 显示全部楼层
自贡黄明儒 发表于 2024-5-12 07:35
块就像是人,属性就像衣服,你可以穿一件或者多件,也可以一丝不挂。一丝不挂就是普通块,没带属性

这个解释到位
发表于 2024-5-12 12:56:52 | 显示全部楼层
感谢大佬分享
发表于 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,执行了没有
发表于 2024-5-13 10:02:08 | 显示全部楼层
可以快速的增加属性文字,简化作业流程,很好的范例程序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 17:23 , Processed in 0.287010 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表