zzl9105 发表于 2012-7-31 22:39:37

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

如题,将块内的对象属性全部改为8号颜色,
不知道哪位大虾手上有这样的小lisp不,小弟学习对象,止步于块对象了,不知道如何处理。
或者哪位大侠有空,帮忙写两句,不胜感激。
别理解为是灰锁功能哦。


http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 zzl9105的微博

tengte 发表于 2015-6-25 11:38:10

tengte 发表于 2013-12-16 22:18 static/image/common/back.gif
;修改全部图元和块定义内对象颜色和线型随层(填充可单独指定)
(defun C:tFL (/        aDoc mSpace Blocks Bl ...

试试把SECURELOAD设置为0

00放飞梦想00 发表于 2020-3-25 20:00:37

tengte 发表于 2015-6-25 11:38
试试把SECURELOAD设置为0

最好改下块内轮廓线为0层白色,轮廓线内为0层8号,块为0层,看可以实现吗?
麻烦帮㤃改下,谢谢!

swb4420 发表于 2020-4-1 18:15:48

spring007_22 发表于 2012-8-2 11:47
这个可以更改单一块的属性,包括颜色

啥意思,没有gif动图?

zzl9105 发表于 2012-7-31 22:52:14

补充一点,得适应块里有各种对象哦,都能将其颜色改变指定颜色。
谢谢大家指点。

preone 发表于 2012-8-1 20:17:12

支持一下~~

spring007_22 发表于 2012-8-2 11:47:26

这个可以更改单一块的属性,包括颜色

海灯 发表于 2012-8-2 17:25:21

神马东西                           

bzhjl 发表于 2013-11-14 10:35:15

支持地板!

tengte 发表于 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)
        Color256 ;ByLayer-256ByBlock-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)
)

黄金铁蛋 发表于 2015-7-24 17:56:08

谢谢楼主的分享

hpbqqq 发表于 2015-7-27 16:03:24

我也在寻找这个lisp
页: [1] 2
查看完整版本: 改块内对象颜色为灰色,比如改为8号色