填充ACAD对象数组…我做错了什么?
我试图使用以下代码提取构成ACAD图案填充对象外部边界的实体:Dim acadents(1000)作为tl=0到acHatch的AcadEntity。回路数-1  ;阿查奇。GetLoopAt tl,acadents下一步当我运行代码并查看应该在acadents数组中的实体时…没有
我做错了什么
杰瑞
首先,看起来可以多次分配整个数组(tl)
我会考虑使用带有临时数组的getloop,然后遍历临时数组,一次分配一个事件。这样,您可以将下一个temparray(tl+1)附加到刚刚放入acadents的数据的末尾
这有意义吗? 您好,谢谢您回复我;理论上,我需要在阵列中填充图案填充边界中每个循环的实体,因此tl=0到numberofloops-1;如果我能重新定义数组就好了,但不幸的是,我无法知道每个循环中有多少个实体
I';当该方法要求循环编号(我知道)和对象数组时,我不确定ACAD在寻找什么…这是返回循环中实体的工具…因此ACADEnts数组
它应该';不要这么难,但…我似乎错过了一些东西
杰瑞 循环编号允许访问实体的变体,例如作为单个实体的圆或构成矩形的4条线,后者是每个循环需要变体的原因
Sub Hatch()
Dim h As AcadHatch
Dim i As Integer, Cnt As Integer
Dim j As Integer, Clr As Integer
Dim Ents(), oLoops
Set h = EntSel
Cnt = h.numberOfLoops
ReDim Ents(Cnt)
For i = 0 To Cnt - 1
h.GetLoopAt i, oLoops
Ents(i) = oLoops
Next i
For i = 0 To Cnt - 1
oLoops = Ents(i)
For j = 0 To UBound(oLoops)
oLoops(j).Color = Clr
Clr = Clr + 1
Next j
Next i
End Sub
非常感谢你…我';我会试试看,如果需要的话再给你回复。
页:
[1]