明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12311|回复: 15

改块内对象颜色为灰色,比如改为8号色

[复制链接]
发表于 2012-7-31 22:39:37 | 显示全部楼层 |阅读模式
如题,将块内的对象属性全部改为8号颜色,
不知道哪位大虾手上有这样的小lisp不,小弟学习对象,止步于块对象了,不知道如何处理。
或者哪位大侠有空,帮忙写两句,不胜感激。
别理解为是灰锁功能哦。


该贴已经同步到 zzl9105的微博
发表于 2015-6-25 11:38:10 | 显示全部楼层
tengte 发表于 2013-12-16 22:18
;修改全部图元和块定义内对象颜色和线型随层(填充可单独指定)
(defun C:tFL (/        aDoc mSpace Blocks Bl ...

试试把SECURELOAD设置为0
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-25 20:00:37 | 显示全部楼层
tengte 发表于 2015-6-25 11:38
试试把SECURELOAD设置为0

最好改下块内轮廓线为0层白色,轮廓线内为0层8号,块为0层,看可以实现吗?
麻烦帮㤃改下,谢谢!
发表于 2020-4-1 18:15:48 | 显示全部楼层
spring007_22 发表于 2012-8-2 11:47
这个可以更改单一块的属性,包括颜色

啥意思,没有gif动图?
 楼主| 发表于 2012-7-31 22:52:14 | 显示全部楼层
补充一点,得适应块里有各种对象哦,都能将其颜色改变指定颜色。
谢谢大家指点。
发表于 2012-8-1 20:17:12 | 显示全部楼层
支持一下~~
发表于 2012-8-2 11:47:26 | 显示全部楼层
这个可以更改单一块的属性,包括颜色

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-8-2 17:25:21 | 显示全部楼层
神马东西                           
发表于 2013-11-14 10:35:15 | 显示全部楼层
支持地板!
发表于 2013-12-16 22:18:08 | 显示全部楼层
  ;修改全部图元和块定义内对象颜色和线型随层(填充可单独指定)
(defun C:tFL (/        aDoc mSpace Blocks Block Obj Count Name        i Text ColHat
              Color LType)
  (setq        aDoc   (vla-get-ActiveDocument (vlax-get-acad-object))
        mSpace (vla-get-ModelSpace aDoc)
        Blocks (vla-get-Blocks aDoc)
        Color  256 ;ByLayer-256  ByBlock-0
        ColHat 8
        LType  "ByLayer"
        Count  (vla-get-Count Blocks)
        i      0
  )
  (vlax-for Block Blocks
    (setq i    (1+ i)
          Text (strcat "正在处理<块定义>:" (itoa i) "/" (itoa Count))
    )
    (grtext -1 Text)
    (vlax-for Obj Block
      (setq Name (vla-get-ObjectName Obj))
      (setq tb obj)
      (cond
        ((= Name "AcDbBlockReference")) ;不改变
        ((wcmatch Name "TDb*")) ;天正对象不改变
        ((= Name "AcDbHatch") (vla-put-Color Obj ColHat))
        (T (vla-put-Color Obj Color))
      ) ;cond
      (vla-put-Linetype Obj LType)
    ) ;vlax-for
  )
  (setq        Count (vla-get-Count mSpace)
        i     0
  )
  (vlax-for Obj        mSpace
    (setq i    (1+ i)
          Text (strcat "正在处理<图元>:" (itoa i) "/" (itoa Count))
    )
    (grtext -1 Text)
    (setq Name (vla-get-ObjectName Obj))
    (cond
      ((= Name "TDbDimension2")) ;不改变
      ((= Name "AcDbBlockReference")) ;不改变
      ((wcmatch Name "TDb*")) ;天正对象不改变
      ((= Name "AcDbHatch") (vla-put-Color Obj ColHat))
      (T (vla-put-Color Obj Color))
    ) ;cond
    (vla-put-Linetype Obj LType)
  ) ;vlax-for
  (grtext)
  (princ "\n修改全部图元和块定义内对象颜色和线型随层(填充可单独指定)完成")
  (princ)
)

点评

在AutoCAD2014和AutoCAD2016环境下AP命令载入这个LISP文件都报语法错误,不知道是怎么回事?  发表于 2015-6-25 10:40
发表于 2015-7-24 17:56:08 | 显示全部楼层
谢谢楼主的分享
发表于 2015-7-27 16:03:24 | 显示全部楼层
我也在寻找这个lisp
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 07:15 , Processed in 0.221549 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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