菜卷鱼 发表于 2014-11-14 13:53:08

发一个动态属性块的动态属性控制源码

本帖最后由 菜卷鱼 于 2014-11-17 08:41 编辑

我的也是东拼西凑整合的

(defun DynamicValueCtrl (ent mark rusult / BlockRef plist i a b c Property )
(setq BlockRef (vlax-ename->vla-object ent))
(setq plist (vlax-invoke BlockRef 'GetDynamicBlockProperties))
(setq i 0)
(mapcar      '(lambda (X)
(setq a   (vlax-get X 'PropertyName)
;;;;;;   b   (vlax-get X 'Value)
      c   (vlax-variant-type(vla-get-value x)) )

(if (= a mark)            ;;;属性标记
(progn
(setq Property
   (vlax-safearray-get-element
      (vlax-variant-value (vla-GetDynamicBlockProperties blockref))i))
(vla-put-value
      Property
      (vlax-make-variant
          rusult          ;;;修改的值
          c
      )
      )
))
(setq i(1+ i))
         )
       plist
         )
(prin1)
)

;;;;;举例
(defun c:dted ( )
(setq a(car (entsel)))
(setq b(getreal "\n输入属性值:"))
(DynamicValueCtrl a "翻转状态" b)
(prin1))

伪书虫86 发表于 2014-11-14 15:21:40

不明觉厉
话说工作中没感受到属性块的好处

davide888 发表于 2014-11-14 15:47:00

感谢分享   纠结好久的问题一直用的LM

lucas_3333 发表于 2014-11-14 15:55:57

话说,怎么通过LISP方便的修改属性块中的某个 “标记”与提示 ?

菜卷鱼 发表于 2014-11-14 16:18:27

本帖最后由 菜卷鱼 于 2014-11-14 16:25 编辑

lucas_3333 发表于 2014-11-14 15:55 static/image/common/back.gif
话说,怎么通过LISP方便的修改属性块中的某个 “标记”与提示 ?
这是修改动态块的动态属性提示,不是ATTDEF文字的属性!

lucas_3333 发表于 2014-11-14 17:22:38

菜卷鱼 发表于 2014-11-14 16:18 static/image/common/back.gif
这是修改动态块的动态属性提示,不是ATTDEF文字的属性!

所以我才请教你 如何快速修改ATTDEF的 tag啊

菜卷鱼 发表于 2014-11-15 08:26:08

vla-get-TagString 跟 vla-put-TagString 啊

lucas_3333 发表于 2014-11-15 08:54:33

菜卷鱼 发表于 2014-11-15 08:26 static/image/common/back.gif
vla-get-TagString 跟 vla-put-TagString 啊

Ok,谢啦

czcxxx 发表于 2015-9-30 11:04:50

谢谢分享!!!!!!!!!!!!!!!!!!!!!!!

etoxp 发表于 2015-9-30 21:05:09

楼主可否演示一下!!!不然看了也不知道做什么用的。
页: [1] 2
查看完整版本: 发一个动态属性块的动态属性控制源码