lisp获取图名_如何获取图纸内的所有图块名称 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

本帖最后由 lostbalance 于 2019-10-12 11:24 编辑

首先申明:以下函数出自自贡黄明儒共享的函数库。

个人为了便于使用和管理,修改了函数名称。

[code="lisp]

(setq ;;常用VLA对象、集合

*ACAD*  (vlax-get-acad-object) ;;AutoCAD任务中的顶层 AutoCAD应用程序对象,即获取AutoCAD程序本身

*DOC*   (vla-get-ActiveDocument *ACAD*) ;;是在autocad程序下面运行的当前文档对象

*BLKS*  (vla-get-Blocks *DOC*)

)

;|= 9.6. 对象名称

@== (wyb-name obj)

#== return: [str]

par:

sample:

(wyb-name *ACAD*) return: "AutoCAD"

(wyb-name *MS*) return: "*Model_Space"

ver:

[1.0] 自贡黄明儒

====================|;

(defun wyb-name (@obj)

(if (vlax-property-available-p @obj 'Name)

(vlax-get-property @obj 'Name)

""

)

)

;|= 9.11. 返回集合成员名称列表

@== (wyb-listCollectionMemberNames collection)

#== return: [lst]

par:

sample:

(wyb-listCollectionMemberNames *lays*) return: '("0" "中心线" "文字" "DIM")

ver:

[1.0] 自贡黄明儒

====================|;

(defun wyb-listCollectionMemberNames (@collection / out)

(vlax-for each @collection

(setq out (cons (wyb-name each) out))

)

(reverse out)

)

;|= 9.18. 返回块集合成员名称列表

@== (wyb-listBlocks)

#== return: [lst]

par:

sample:

(wyb-listBlocks) return: '("*Model_Space" "*Paper_Space")

ver:

[1.0] 自贡黄明儒

====================|;

(defun wyb-listBlocks ()

(wyb-listCollectionMemberNames *BLKS*)

)

[/code]额,论坛的代码格式感觉没正常过啊……

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值