77077 发表于 2016-5-8 22:05:10

;获取普通块内的文字,测试完成。

做下笔记
有用到的朋友自行拿去用就行了。;获取普通块内的文字,测试完成。
;测试 (XX-Get-BlockTexts(vlax-ename->vla-object(car(entsel"\n选择块: "))))
;    =>("文字2" "文字1")
(defun XX-Get-BlockTexts(blkobj / obj strlst)
(setq blks (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))))
(if (= (vla-get-objectname blkobj) "AcDbBlockReference")
    (vlax-for obj (vla-item blks (vla-get-name blkobj))
      (if (= (vla-get-objectname obj) "AcDbText")
      (setq strlst (cons (vla-get-TextString obj)strlst))
      )
    )
)
strlst
)

77077 发表于 2016-5-8 22:08:42

在做植物图块的时候,有人喜欢把植物名称直接写在块上,所以我写了这个函数准备调用。
之所以不用属性块,是属性块在插入时不方便。

springwillow 发表于 2016-5-8 22:42:26

不错,代码简洁明了!

木个木 发表于 2020-3-9 15:51:36

楼主有修改普通块中文字的特性如字体高度字体宽度的代码吗?

qq1254582201 发表于 2021-8-15 15:04:27

好东西,留存了

guankuiwu 发表于 2022-11-23 20:03:59

很好的 学习了!
页: [1]
查看完整版本: ;获取普通块内的文字,测试完成。