|
我现在更改图块中子图元颜色的方法,是通过遍历图块,再通过条件语句找到需要更改子图元的句柄号handle后,来实现目标
Dim ent As AcadEntity
Dim pblock, obj
For Each obj In ThisDrawing.Blocks("aa") '遍历已知图块名
If obj.Handle = "92" Then '判断图块中符合条件的子图元句柄handle
obj.color = 5 ' 更改子图元颜色
ThisDrawing.Regen (acActiveViewport) '刷新活动窗口
End If
Next obj
从理论讲,已知图块名+子图元名柄handle,从上面小程序分析,可以不用遍历的方法,直接更改子图元的颜色.
图块有三种类型:简单块, XRef 块 和布局块.简单块是可以联合在一起形成单个对象或块定义的对象集合,
从简单块定义看,遍历图块更改子图元的颜色是唯一方法.不用遍历的方法,直接更改子图元的颜色是不可行的???
我这种结论对吗????
|
|