明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1833|回复: 4

[提问] 关于程序中对动态块的操作

[复制链接]
发表于 2015-1-25 22:04:34 | 显示全部楼层 |阅读模式
请问可以在程序中操作动态块的参数吗

比如先用insert命令插入一个动态块,然后选中该动态块的一个线性拉伸夹点,用pause命令等用户输入拉伸距离后,再继续运行下面的程序,可否实现?

另外问个动态块的问题,为什么做了一个带有可见性参数的动态块,有3个可见性元素,对应3个选项,选择其中一个其他2个隐藏。然后保存成块文件,插入到别的图纸中以后3个元素居然同时显示了,应该是只显示默认的第一个才对啊,但是重新操作一下可见性选项后又正常了,就刚插入的时候会出现这种情况。求大神指点。。。
 楼主| 发表于 2015-1-26 21:17:28 | 显示全部楼层
大神何在~
 楼主| 发表于 2015-1-27 21:49:58 | 显示全部楼层
继续等大神。。。
发表于 2015-1-27 23:45:57 | 显示全部楼层
  1. ;返回动态快属性和值
  2. (defun cx_b_sx (en / obj pros)
  3.   (setq obj (vlax-ename->vla-object en))
  4.   (setq Pros (vlax-invoke obj 'GetDynamicBlockProperties))
  5.   (mapcar '(lambda (X)
  6.                         (cons (vlax-get X 'PropertyName) (vlax-get X 'Value))
  7.                 )
  8.           Pros
  9.   )                                        ;返回值
  10. )


  11. ;动态快属性值修改 n第N 项
  12. (defun cx_b_sxg        (en n dis / obj osbproperty pros2)
  13.        
  14.   (setq        obj   (vlax-ename->vla-object en)
  15.                 Pros2 (vlax-variant-value (vla-GetDynamicBlockProperties obj))
  16.   )
  17.   (setq oSBProperty (vlax-safearray-get-element Pros2 (* n 2)))
  18.         ;;;起始为0,+2为下一属性值,以此类推
  19.   (vla-put-value
  20.     oSBProperty
  21.     (vlax-make-variant
  22.       dis
  23.                         ;;;修改的值
  24.       (vlax-variant-type (vla-get-value oSBProperty))
  25.     )
  26.   )
  27. )
 楼主| 发表于 2015-1-28 22:04:11 | 显示全部楼层
终于有大神出手了,感谢先,不过刚开始学,只会基本的autolisp命令,这个程序还要研究一下才能测试~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-17 06:58 , Processed in 0.162677 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表