明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2109|回复: 2

如何变化图块中,图元的颜色。

[复制链接]
发表于 2006-12-22 14:21:00 | 显示全部楼层 |阅读模式

我编了一个小程序,可以遍历图块中每个图元。

但不能改变图块中每个图元的颜色或显示高亮。

  Dim Ent As AcadEntity
  Dim pblock, Obj
  For Each Ent In ThisDrawing.ModelSpace
    Debug.Print Ent.Handle, Ent.ObjectName
    For Each Obj In ThisDrawing.Blocks("aa")
      Debug.Print Obj.ObjectName, Obj.Handle

'图块中的图元名和句柄号

'AcDbCircle    8E
'AcDbLine      8F
'AcDbPolyline  90
'AcDbPolyline  91


      Obj.Highlight True

'在运行中不变亮,也不变颜色
      Obj.color = 1
      MsgBox "Wait"
      Obj.Highlight False
    Next Obj
  Next Ent

请问各位大侠,有什么办法,能让图块中的图元变颜色或变亮。

发表于 2006-12-23 14:39:00 | 显示全部楼层

1.图块中的图元并不能单独高亮。

2.在对话框出来前加入:ThisDrawing.Regen (acActiveViewport)
因为修改颜色后需要重新生成一次才能看到颜色。

 楼主| 发表于 2006-12-24 12:03:00 | 显示全部楼层

改了一下程序,图块在的一个图元可以变颜色

 Dim Ent As AcadEntity
  Dim pblock, Obj
  For Each Ent In ThisDrawing.ModelSpace
    Debug.Print Ent.Handle, Ent.ObjectName
    For Each Obj In ThisDrawing.Blocks("aa")
      Debug.Print Obj.ObjectName, Obj.Handle


     

'在运行中不变亮,也不变颜色
If Obj.Handle = "92" Then
      Obj.color = 1
      ThisDrawing.Regen (acActiveViewport)

'刷新活动窗口,图块中一个图元变颜色
      MsgBox "Wait"
End If
    Next Obj
  Next Ent

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

本版积分规则

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

GMT+8, 2025-2-23 03:33 , Processed in 0.143124 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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