明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2041|回复: 3

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

[复制链接]
发表于 2002-9-13 23:05:00 | 显示全部楼层 |阅读模式
发表于 2002-9-14 00:45:00 | 显示全部楼层

这是ActiveX Automation 技术

无论是用VB,VBA,还是用Delphi来开发 AutoCAD .其时都是在利用
ActiveX Automation 技术,所以你如果学用 Delphi 的话其它主要
就是学习 ActiveX Automation.
发表于 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([0, 2], vardouble);//定义三维可变数组
Point[0]:=15.4 ;
Point[1]:=5.4 ;
Point[2]:=0.0 ;
r:=12;                                    //定义半径值
textString:='This is a test String';      //定义字符串
mdp.AddText(textString,vararrayref(point),r);// 写文字
mdp.Addcircle(vararrayref(point),10.5);  //画圆
end;
end.
发表于 2002-9-14 00:34:00 | 显示全部楼层

参考VB的方法

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

可有在Delphi中也类似吧,你试试看.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 20:50 , Processed in 0.166850 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表