尖兵1949 发表于 2016-7-12 22:09:41

autolisp 如何获取动态快的属性

动态块下拉菜单中的参数怎么用autolisp获取,我想用程序去修改这些属性

H-浩浩-H 发表于 2016-8-4 22:09:32

(defun LM:getdynpropvalue (blk prp)
(setq prp (strcase prp))
(vl-some '(lambda (x)
            (if (= prp (strcase (vla-get-propertyname x)))
            (vlax-get x'value)
            )
          )
         (vlax-invoke blk 'getdynamicblockproperties)
)
)
(defun LM:setdynpropvalue (blk prp val)
(setq prp (strcase prp))
(vl-some
   '(lambda (x)
      (if (= prp (strcase (vla-get-propertyname x)))
       (progn
         (vla-put-value
         x
         (vlax-make-variant
             val
             (vlax-variant-type (vla-get-value x))
         )
         )
         (cond (val)
             (t)
         )
       )
      )
    )
   (vlax-invoke blk 'getdynamicblockproperties)
)
)

用法:
(LM:setdynpropvalue dx_actdyn "自定义参数名称" 要修改成的值)
(LM:getdynpropvalue dx_actdyn "自定义参数名称" )



页: [1]
查看完整版本: autolisp 如何获取动态快的属性