明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: mrhvslisp

版主请进,我的问题很难么?这些天了居然没人解决....

  [复制链接]
发表于 2011-4-20 11:12:05 | 显示全部楼层
回复 mrhvslisp 的帖子

  1. ;;;修改嵌套块中所有物体颜色
  2. (defun blkcolor (blkname color / blk obj name att)
  3.   (setq blk (vla-item (vla-get-blocks *ACDOCUMENT*) blkname))
  4.   (vlax-for obj blk
  5.     (print (vla-get-ObjectName obj))
  6.     (cond ((or (= "AcDbMInsertBlock" (vla-get-ObjectName obj))
  7.                (= "AcDbBlockReference" (vla-get-ObjectName obj))
  8.                )
  9.            (princ " AcDbMInsertBlock")
  10.            (mapcar
  11.              '(lambda (Att)
  12.                 (vla-put-color att color) ;_ 此处为修改属性颜色
  13.               ) ;_ lambda
  14.              (vlax-invoke Obj "GetAttributes")
  15.            ) ;_ mapcar


  16.            (setq name (vla-get-name obj))
  17.            ;;;递归调用
  18.            (blkcolor name color)
  19.            )
  20.           (t
  21.            (vla-put-color obj color)
  22.            )
  23.           )
  24.    
  25.     )
  26.   (princ)
  27.   )
  28. ;;;对单独块属性颜色修改,使用二楼代码
  29. 你提供的图中高程点块就是带属性快!而非嵌套块!用二楼代码就可逐个修改属性颜色!
 楼主| 发表于 2011-4-20 11:34:50 | 显示全部楼层
回复 Gu_xl 的帖子


哈哈,受益颇多,感谢Gu_xl大神。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-26 20:07 , Processed in 0.230424 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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