热度 1|
;插件定制, QQ775452144 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,, ;http://bbs.mjtd.com/thread-109615-1-1.html ;;提取BLOCK REF单一属性性质 ;;USAGE: (GET_ATT1 "比例" "LAYER") ;;USAGE: (GET_ATT1 <属性标籤> <性质>) (defun GET_ATT1 (TAG PROPERTY / VALUE BLK BLKREF ENT) (vl-load-com) (while (or (not (setq BLK (car (entsel "\n选取带属性图块: ")))) (progn (setq BLKREF (vlax-ename->vla-object BLK)) (not (= (vla-get-objectname BLKREF) "AcDbBlockReference")) ) ) ) (foreach ENT (vlax-safearray->list (vlax-variant-value (vla-getattributes BLKREF)) ) (if (= (strcase (vla-get-tagstring ENT)) (strcase TAG)) (setq VALUE ((eval (read (strcat "vla-get-" PROPERTY))) ENT)) ) ) VALUE ) ;--------------------------- ;;;============================================= ;;; 通用函数 获取块insert属性obj列表 ;;;参数:obj------块insert对象名 ;;;返回值insert所有属性对象名列表 (defun get_insattlst (obj /) (vlax-safearray->list (vlax-variant-value (vla-GetAttributes obj)))) |