已经会取得动态块的可见性名称,但是。。。
本帖最后由 jialiang168 于 2011-5-26 18:55 编辑(defun c:bb1 ()
(setq obj (vlax-ename->vla-object (car (entsel))))
(if (= (vlax-get-property obj 'isdynamicblock) :vlax-true)
(progn
(setq v (vla-getdynamicblockproperties obj))
(setq vval (vlax-variant-value v))
(setq sal (vlax-safearray->list vval))
(setq count t)
(while count
(setq vval(vlax-dump-object (nth 3 sal)))
(setq aa1 (nth 3 sal))
(setq aa2(vla-get-PropertyName aa1))
(if (= aa2 "管径选项");自定义可见性名称「"管径选项"」
(progn
(setq aa4(vla-get-Value aa1))
(setq count nil)
) ) ) ) )
aa4
)
aa4 回传的如左:#<variant 8 2">
如题: 已经可取得动态块的可见性名称,但是 aa4 回传的如左:#<variant 8 2">
2" 是我做的动态块2英吋管选项 (vla-put-Value aa1 "5\"");這句可以改可見性,让2英吋管的管变成5英吋的管。
#<variant 8 2"> 回传的这个,要如何才能取得「 2" 」的值呢?
昐请高手能帮忙解决困惑。
看看这个程序就会明白了; Function retrieve or set properties from a dynamic block
; (DynamicProps (car (entsel)) "Pipe length" nil) get the Pipe length from a dynamic block
; (DynamicProps (car (entsel)) "" nil) get the properties from a dynamic block
; (DynamicProps (car (entsel)) "Pipe length" 2000.0) set the properties from a dynamic block
(defun DynamicProps (ename propname value / obj prpL cla cll prp)
(vl-load-com)
(setq obj (if (= (type ename) 'VLA-OBJECT) ename (vlax-ename->vla-object ename)))
(if vla-getdynamicblockproperties (setq prpL (vlax-invoke obj 'getdynamicblockproperties)))
(setq return
(if (setq prp (vl-remove-if-not (function (lambda(x)(= (vlax-get-property x 'PropertyName) propname))) prpL))
(mapcar (function (lambda(v)
(if (and (/= value nil)(vlax-property-available-p v 'Value)(/= (type value)'LIST))
(progn (vlax-put-property v 'Value value)(vla-update obj))
)
(if (and (vlax-property-available-p v 'AllowedValues) (vlax-get v 'AllowedValues))
(list (vlax-get v 'Value)(vlax-get v 'AllowedValues))
(vlax-get v 'Value)
)
)) prp)
(mapcar (function (lambda(v)(list (vla-get-propertyName v)(vlax-get v 'Value) v))) prpL)
)
)
return
)
謝謝 小菜123我會好好研究的。 太感动了。这正是我要的最好的解答。我真的懂了。再次谢谢小菜123
学习中.多学习多进步. 这程序太好用了,谢谢“小菜123” 学习中.多学习多进步 谢谢,有了 vla-getdynamicblockproperties 这个不迷路,正需要 谢谢 小菜123分享程序!!!!
页:
[1]