rb 发表于 2002-9-13 23:05:00

请问那里有在Delphi中使用VBA建立与AutoCAD连接方面 的资料

autome 发表于 2002-9-14 00:45:00

这是ActiveX Automation 技术

无论是用VB,VBA,还是用Delphi来开发 AutoCAD .其时都是在利用
ActiveX Automation 技术,所以你如果学用 Delphi 的话其它主要
就是学习 ActiveX Automation.

hhxh 发表于 2002-9-14 10:03:00

DELPHI编程打开ACAD,画圆写文字的例子

基本上我是看ACAD中ACTIVEX AUTOMAIION的说明后再将其VBA的语法翻成DELPHI编程,下面是一个简单打开ACAD后画圆的例子(delphi4.0,acad14.01)
运行后应重显示ACAD。
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,comobj;

type
TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;
acad,ac,act,mdp,point,inpoint,sset:OleVariant;
cir,rr,dd,tt:olevariant;
r:real;
count:integer;
textString:string;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
acad:= GetActiveOleObject('AutoCAD.Application');//连接已打开的ACAD
// acad:= CreateOleObject('AutoCAD.Application');//创建新的ACAD
acad.Visible := True;                           //ACAD可显示
ac:=acad.activedocument;                     //AC为ACAD对象的子对象
mdp :=ac.modelspace;                     //MDP为AC的模型空间子对象
Point:=VarArrayCreate(, vardouble);//定义三维可变数组
Point:=15.4 ;
Point:=5.4 ;
Point:=0.0 ;
r:=12;                                    //定义半径值
textString:='This is a test String';      //定义字符串
mdp.AddText(textString,vararrayref(point),r);// 写文字
mdp.Addcircle(vararrayref(point),10.5);//画圆
end;
end.

autome 发表于 2002-9-14 00:34:00

参考VB的方法

在VB中是这样引用AutoCAD的:
(菜单)视图/引用...
在可引用的列表中选择AutoCAD 的相关文件(Acad.tlb),然后就可以在VB中引用AutoCAD的对象了.

可有在Delphi中也类似吧,你试试看.
页: [1]
查看完整版本: 请问那里有在Delphi中使用VBA建立与AutoCAD连接方面 的资料