(defun c:mod ( / doc ss )
;;Lee Mac
(vl-load-com)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (ssget '((0 . "INSERT") (2 . "34door,`*U*")))
(progn
(vlax-for obj (setq ss (vla-get-ActiveSelectionSet doc))
(if (eq "34DOOR" (vla-get-EffectiveName obj))
(vl-some
(function
(lambda ( p )
(if (eq "Door Hinge" (vla-get-PropertyName p))
(progn (vla-put-Value p "LEFT") T)
)
)
)
(vlax-invoke obj 'GetDynamicBlockProperties)
)
)
)
(vla-delete ss)
)
)
(princ)
)
(defun c:mod ( / doc ss )
;;Lee Mac
(vl-load-com)
(setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (ssget '((0 . "INSERT") (2 . "34door,`*U*")))
(progn
(vlax-for obj (setq ss (vla-get-ActiveSelectionSet doc))
(if (eq "34DOOR" (strcase (vla-get-EffectiveName obj)))
(LM:SetDynamicPropValue obj "Door Hinge" 0)
)
)
(vla-delete ss)
)
)
(princ)
)
;;------------=={ Set Dynamic Property Value }==--------------;;
;; ;;
;;Modifies the value of a Dynamic Block Property ;;
;;------------------------------------------------------------;;
;;Author: Lee Mac, Copyright © 2010 - www.lee-mac.com ;;
;;------------------------------------------------------------;;
;;Arguments: ;;
;;block - VLA Dynamic Block Reference Object ;;
;;prop- Dynamic Block Property Name ;;
;;value - New value for Property ;;
;;------------------------------------------------------------;;
;;Returns: Value property was set to, else nil ;;
;;------------------------------------------------------------;;
(defun LM:SetDynamicPropValue ( block prop value )
;; © Lee Mac 2010
(vl-some
(function
(lambda ( _prop )
(if (eq prop (vla-get-propertyname _prop))
(progn
(vla-put-value _prop
(vlax-make-variant value
(vlax-variant-type (vla-get-value _prop))
)
)
value
)
)
)
)
(vlax-invoke block 'GetDynamicBlockProperties)
)
)
http://lee-mac.com/dynamicblockfunctions.html 谢谢李!! 你就不能改变一下吗
(progn (vla-put-Value p "LEFT") T)
到
5
?
我能够成功地设置这样的动态值,而不必将它们转换为变量。 @艾伦
那没用。。。
图纸1.dwg 给出:
试试看。
*只是好奇* **错误:AutoCAD。应用:无效输入**
是的-我想可能会这样 这个问题只有在翻转动态对象时才会出现吗?
页:
1
[2]