乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 1

[编程交流] 使用V获取块TextString

[复制链接]

170

主题

347

帖子

174

银币

中流砥柱

Rank: 25

铜币
870
发表于 2022-7-6 14:39:08 | 显示全部楼层 |阅读模式
使用AutoCAD VBA,是否可以访问块中的文本字符串?我想要一个块文本字符串来改变颜色或图层?注意,我不是在讨论块属性。
我试图访问块中的字符串。我对访问感兴趣
块定义和块引用。
 
我还对访问块中的多行文字和维度感兴趣。
非常感谢。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 16:23:51 | 显示全部楼层
这里是一个更改线型的示例,shopuld能够更改代码以搜索文本,然后进行更改。可以从VBA调用lisp
 
  1. ;(defun c:normblocks (/ adoc)
  2. (vl-load-com)
  3. (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  4. (vla-startundomark adoc)
  5. (vlax-for block (vla-get-blocks adoc)
  6.    (if   (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
  7.      (vlax-for   ent block
  8. (if  (= (vla-get-linetype ent ) "solid" )
  9. (progn
  10. (vla-put-linetype ent "Continuous")
  11. (princ (vla-get-name block))
  12. )
  13. );_ end of if
  14.    
  15.   ) ;_ end of vlax-for
  16.      ) ;_ end of if
  17.    ) ;_ end of vlax-for
  18. (vla-regen adoc acactiveviewport)
  19. (vla-endundomark adoc)
  20. (princ)

 
尝试将(if(=(vla get linetype ent)“solid”)替换为(if(=(vla get text ent)mytext)不确定此代码是否由完成但满足我的需要。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-5 00:01 , Processed in 0.603036 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表