明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4405|回复: 11

把块的颜色置为随层,可是块的颜色并没有变为所在图层上的颜色啊。

[复制链接]
发表于 2003-10-8 11:54:00 | 显示全部楼层 |阅读模式
我插入块后,把块置为特定层,然后选中这个块把它的颜色置为随层,可是块的颜色并没有变为所在图层上的颜色啊。这种情况应如何解决?
发表于 2024-3-15 13:56:59 | 显示全部楼层
龙龙仔 发表于 2003-10-8 17:12
;;这是一个改全图颜色程序(注:对Mtext中颜色无效)
;;有兴趣的网友可把它改为对单一图块修改颜色
;;改好了 ...

感谢分享~
工作上需要,已经用上了~
发表于 2020-9-24 10:57:02 | 显示全部楼层
龙龙仔 发表于 2003-10-8 17:12
;;这是一个改全图颜色程序(注:对Mtext中颜色无效)
;;有兴趣的网友可把它改为对单一图块修改颜色
;;改好了 ...

我去悬赏,看看有没高手改一下
发表于 2019-1-7 09:16:31 | 显示全部楼层
因为你的块在创建时,是采用了 byblock (随块) 的颜色。
也是说,在你创建块的时候,颜色要选择 bylayer(随层)就可以了
发表于 2003-10-8 12:30:00 | 显示全部楼层
分解掉后再修改
发表于 2003-10-8 12:31:00 | 显示全部楼层
在你建塊的時候,圖形的顏色要是隨層才可以
 楼主| 发表于 2003-10-8 13:47:00 | 显示全部楼层
上面两位大侠说的我知道,可是问题是我的数据是由其他格式转过来的,然后又不想破坏其整体性。看来真没办法了?

------------------------------------
我是一只小小小笨鸟,大家千万不要无奈地把头摇摇,一笑而过。
发表于 2003-10-8 14:16:00 | 显示全部楼层
双击块,修改块的属性。修改颜色可以吗
 楼主| 发表于 2003-10-8 16:07:00 | 显示全部楼层
不行
发表于 2003-10-8 17:12:00 | 显示全部楼层
;;这是一个改全图颜色程序(注:对Mtext中颜色无效)
;;有兴趣的网友可把它改为对单一图块修改颜色
;;改好了记得上传!!
;;By 龙龙仔(LUCAS)
(defun C:CHGBLKENTCOL (/ BLKCOL DOC OBJ COL)
  (vl-load-com)
  (arxload "acetutil.arx" NIL)
  (defun CHGCOL        (OBJ BCL COL / ATT CATT ENT1 ENT ENTNAME)
    (vlax-for ENT OBJ
      (setq ENTNAME (vla-get-objectname ENT))
      (if (= ENTNAME "AcDbBlockReference")
        (progn
          (if (= (vl-catch-all-apply 'vla-get-hasattributes (list ENT))
                 :vlax-true
              )
            (progn
              (setq ATT         (vlax-variant-value (vla-getattributes ENT))
                    CATT (vlax-variant-value
                           (vla-getconstantattributes ENT)
                         )
              )
              (if (safearray-value ATT)
                (foreach ENT1 (vlax-safearray->list ATT)
                  (vla-put-color ENT1 COL)
                )
              )
              (if (safearray-value CATT)
                (foreach ENT1 (vlax-safearray->list CATT)
                  (vla-put-color ENT1 COL)
                )
              )
            )
          )
          (CHGCOL (vla-item BCL (vla-get-name ENT)) BCL COL)
          ;;(VLA-UPDATE ENT)
        )
        (if (vlax-property-available-p ENT 'COLOR)
          (vla-put-color ENT COL)
        )
      )
      (if (or (= ENTNAME "AcDbLeader") (= ENTNAME "AcDbFcf"))
        (vla-put-dimensionlinecolor ENT COL)
      )
      (if (= ENTNAME "AcDbFcf")
        (vla-put-textcolor ENT COL)
      )
    )
  )
  (setq COL (acad_colordlg 7))
  (setq        BLKCOL (vla-get-blocks
                 (setq DOC (vla-get-activedocument
                             (vlax-get-acad-object)
                           )
                 )
               )
  )
  (acet-ui-progress "颜色转换中..." (vla-get-count BLKCOL))
  (vlax-for OBJ        BLKCOL
    (if        ;;(and
        ;;(= (vla-get-islayout OBJ) :vlax-false)
        (= (vla-get-isxref OBJ) :vlax-false)
      ;;)
      (CHGCOL OBJ BLKCOL COL)
    )
    (acet-ui-progress -1)
  )
  (acet-ui-progress)
  ;;(setvar "DIMCLRD" COL)
  ;;(setvar "DIMCLRE" COL)
  ;;(setvar "DIMCLRT" COL)
  (vla-regen DOC acallviewports)
  (vlax-release-object DOC)
  (vlax-release-object BLKCOL)
  (princ)
)
发表于 2018-12-22 13:12:44 | 显示全部楼层
版主的程序非常完美的解决了我的问题,谢谢分享,不过处理的图形比较大的时候比较慢,要耐心一点
发表于 2019-1-6 16:23:52 | 显示全部楼层
建块的时候建在0层并随层。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 14:37 , Processed in 0.213905 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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