正在填充 ACAD 对象数组...我做错了什么?
我尝试使用以下代码提取构成ACAD图案填充对象外边界的实体:Dim acadents(1000)As acad entity
For TL = 0 To a chatch。NumberOfLoops - 1。GetLoopAt tl,acadents
下一步
当我运行代码并查看应该在acadents数组中的实体时...没有。
我做错了什么?杰瑞
**** Hidden Message ***** 首先,看起来您可以多次分配整个数组(tl)。
我会考虑将getLoop与临时数组一起使用,然后逐步遍历临时数组以一次分配一个acadents。这样您就可以将下一个temparray(tl+1)附加到您刚刚放入acadents的数据的末尾。
这有意义吗? 您好
感谢您回复我。理论上,我需要为图案填充边界中的每个循环用实体填充数组,因此tl=0到numberofloops-1。如果我可以重新划分数组,那将很好,但不幸的是,我无法知道每个循环中有多少实体
当该方法要求循环编号(我确实知道)和对象数组时,我不确定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]