有什么办法可以获取动态块的自定义属性
如图,有什么办法可以获取动态块的名称和尺寸attach://108645.png获取属性列表
(defun c:tt (/ obj pros proslst)
(setq obj (vlax-ename->vla-object (car (entsel))))
(setq Pros (vlax-invoke obj 'GetDynamicBlockProperties))
(setq Proslst
(mapcar
'(lambda (X)
(cons (vlax-get X 'PropertyName) (vlax-get X 'Value))
)
Pros
)
)
(princ proslst)
(princ)
) (defun c:tt (/ obj pros proslst)
(setq obj (vlax-ename->vla-object (car (entsel))))
(setq Pros (vla-GetDynamicBlockProperties obj))
(setq Proslst (mapcar '(lambda (x)
(cons (vla-get-propertyname x) (vla-get-Value x))
)
(safearray-value (variant-value Pros))
)
)
(princ proslst)
(princ)
) 感谢两位,没想到真的有人能解决 留个脚印!!!很好 怎么修改,例如“距离1” 本帖最后由 vitalgg 于 2022-3-3 17:40 编辑
http://atlisp.cn/static/@lisp-function-lib.mp4
(require 'block:*);; 调用 block:* 函数组即可使用下面的函数
5块相关
5.1(block:get-effectivename blk)
取得块名,支持动态块。参数为块图元。
5.2(block:get-attributes blk)
获取块属性,返回属性名和值的点对列表。
5.3(block:set-attributes blk cons-lst)
设置块属性,参数为块图元及属性名和值的点对列表。
5.4(block:get-dynamic-properties blk)
获取动态块的动态特性列表:特性名,当前值,只读性,是否显示,允许值
5.5(block:get-dynamic-prop-cons-name-value blk)
获取动态块的动态特性列表:返回值 为特性名和当前值的点对表。
5.6(block:set-dynprop blk prop val)
设置动态块的特性. 正巧需要这个,大神给力 真好!这个!
正巧需要这个,大神给力,好好学习下
页:
[1]
2