乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 34|回复: 2

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

[复制链接]

120

主题

326

帖子

7

银币

中流砥柱

Rank: 25

铜币
806
发表于 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
请问各位大侠,有什么办法,能让图块中的图元变颜色或变亮。
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2006-12-23 14:39:00 | 显示全部楼层
1.图块中的图元并不能单独高亮。
2.在对话框出来前加入:ThisDrawing.Regen (acActiveViewport)
因为修改颜色后需要重新生成一次才能看到颜色。
回复

使用道具 举报

120

主题

326

帖子

7

银币

中流砥柱

Rank: 25

铜币
806
发表于 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
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 05:02 , Processed in 0.313369 second(s), 59 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表