delphi下进行autocad二次开发的局限性:不支持CopyObjects 方法???(200分)

  • 主题发起人 主题发起人 gaomin
  • 开始时间 开始时间
G

gaomin

Unregistered / Unconfirmed
GUEST, unregistred user!
[^]具体问题如下:
我想将绘制的两个圆形用CopyObjects方法 复制到另外一个文档,报“对象数组无效”的错误,请大家指点!小弟在线等待,谢!
具体代码如下:
procedure TForm1.Button2Click(Sender: TObject);
var
obj_ModelSpace,obj_Acad: OleVariant;pnt_Start: OleVariant;
objCollection :Variant;
circl1,circl2:OleVariant ;
DOC1,actdoc:OleVariant ;
begin
try
obj_Acad:=GetActiveOleObject('AutoCAD.Application.16');
except
try
obj_Acad:=CreateOleObject('AutoCAD.Application.16');
except
MessageDlg('AutoCad未正确安装,请确保已经正确安装了AutoCad。', mtConfirmation, [mbOK], 0);
Exit;
end;
end;

obj_Acad.Visible := True;
obj_ModelSpace:=obj_Acad.ActiveDocument.ModelSpace;
actdoc:= obj_Acad.ActiveDocument;

//圆心位置
pnt_Start:=VarArrayCreate([0,2],varDouble );
pnt_Start[0]:=5.0;
pnt_Start[1]:=5.0;
pnt_Start[2]:=0.0;

//画圆
circl1:=obj_ModelSpace.AddCircle(pnt_Start,20).Update;
circl2:=obj_ModelSpace.AddCircle(pnt_Start,50).Update;

//First put the objects to be copied into a form compatible with CopyObjects
objCollection:=VarArrayCreate([0,1],varVariant);
objCollection[0]:=circl1;
objCollection[1]:=circl2;

//Copy object and get back a collection of the new objects (copies)
DOC1:= obj_Acad.Documents.Add ;;
actdoc.CopyObjects(objCollection,DOC1.ModelSpace)

end;
 
大家来共同研究一下啊!
 
大家赶紧来讨论啊,这个用delphi进行CAD的二次开发的问题我正急待的需要解决呢![:)]
 
怎么没有人回答啊,高手都哪去了????
 
后退
顶部