现在主要是想把一个标注对象添加到一个块中,本人采取的方法是CopyObjects,可是却遇到了一个始料不及的问题,苦想了好几个星期也没有解决,希望各位大虾救救我!该问题对我至关重要! 代码如下: procedure TForm1.Button1Click(Sender: TObject); var spnt,epnt,TextPosition:variant; dimObject:acadDimAligned; dim:array of variant; i:integer; begin spnt:=varArrayCreate([0,2],varDouble); epnt:=varArrayCreate([0,2],varDouble); TextPosition:=varArrayCreate([0,2],varDouble); spnt[0]:=0; spnt[1]:=54; spnt[2]:=0; epnt[0]:=6000; epnt[1]:=54; epnt[2]:=0; //标注点坐标 TextPosition[0]:=(spnt[0]+epnt[0])/2; TextPosition[1]:=spnt[1]+1000; TextPosition[2]:=0; dimObject:=acad.ActiveDocument.ModelSpace.AddDimAligned(spnt,epnt,TextPosition);//向cad中添加一个标注 dimobject.TextHeight:=30; dimobject.color:=acred;
dim[0]:=dimobject; acad.ActiveDocument.CopyObjects(dim,blockobject,emptyparam); dimobject.Delete; end; end.
j结果总是出现‘对象数组无效’这个错误。百思不得其解,估计问题出在dim这个参数上,就是出在原来这个程序要求的数组类型,在delphi中如何定义才能不会报错? 也许论坛上的朋友用delphi的不多,但可以告诉我把一个标注对象添加到一个块中,除了这个方法还有其他的方法没有?不胜感激!!!
|