如何变化图块中,图元的颜色。
我编了一个小程序,可以遍历图块中每个图元。但不能改变图块中每个图元的颜色或显示高亮。
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
'AcDbPolyline90
'AcDbPolyline91
Obj.Highlight True
'在运行中不变亮,也不变颜色
Obj.color = 1
MsgBox "Wait"
Obj.Highlight False
Next Obj
Next Ent
请问各位大侠,有什么办法,能让图块中的图元变颜色或变亮。
1.图块中的图元并不能单独高亮。
2.在对话框出来前加入:ThisDrawing.Regen (acActiveViewport)
因为修改颜色后需要重新生成一次才能看到颜色。
改了一下程序,图块在的一个图元可以变颜色
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
页:
[1]