;获取普通块内的文字,测试完成。
做下笔记有用到的朋友自行拿去用就行了。;获取普通块内的文字,测试完成。
;测试 (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
) 在做植物图块的时候,有人喜欢把植物名称直接写在块上,所以我写了这个函数准备调用。
之所以不用属性块,是属性块在插入时不方便。 不错,代码简洁明了! 楼主有修改普通块中文字的特性如字体高度字体宽度的代码吗?
好东西,留存了 很好的 学习了!
页:
[1]