rb 发表于 2002-9-13 22:49:00

在Delphi中 ruhe 创建一AutoCAD线程,想事先

谢谢前面的答疑
再请教一个问题:
   我在Delphi中创建一AutoCAD线程,想事先
   在Delphi程序中创建一图层,并设置各种参数,
   进入CAD后就可以见到我所创建的图层。
   请问命令的形式怎样?

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

Delphi创建图层设置颜色的程序

创建图层设置颜色的程序(delphi4.0,acad14.01)
unit uint1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,comobj;

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

var
Form1: TForm1;
acad,ac,act,mdp,lay:OleVariant;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
acad:= GetActiveOleObject('AutoCAD.Application');
// acad:= CreateOleObject('AutoCAD.Application');
acad.Visible := True;
ac:=acad.activedocument;
mdp :=ac.modelspace;
lay:=ac.layers.add('asf');//创建名为ASF的图层
lay.Color := 1 ;          //设图层的颜色为红色
end;

end.

秋枫 发表于 2002-9-14 13:54:00

我来完善一下与autocad连接的代码。

本帖最后由 作者 于 2002-9-14 13:54:31 编辑


    AppStr:='AutoCAD.Application.15';

    // Get AutoCAD Application
    try
      acadapp:=GetActiveOleobject(AppStr);
    except
      on EOleSysError do
          AcadAlreadyRunning:=false;
    end;

    if not AcadAlreadyRunning then
      try
      AcadApp:=CreateOleObject(AppStr);
      except
      if not silent then MessageDlg(AppStr+' 没有安装。', mtInformation, , 0);
      AutoCADInstalled := false;
      end;

    if not AutoCADInstalled then Exit ;    // Terminate the Application

rb 发表于 2002-9-14 14:29:00

请问 silent 代表什么?

请问
   if not silent then MessageDlg(AppStr+' 没有安装。', mtInformation, , 0);
中的是代表什么,编译程序不知道。

rb 发表于 2002-9-14 14:36:00

请问 silent 代表什么?

请问
   if not silent then MessageDlg(AppStr+' 没有安装。', mtInformation, , 0);
中的是代表什么,编译程序不知道。

秋枫 发表于 2002-9-14 16:49:00

这个是程序中的一段。silent是程序中的一个变量如果为true 表示出错了不要出对

本帖最后由 作者 于 2002-9-14 16:49:40 编辑

这个是程序中的一段。silent是程序中的一个变量如果为true 表示出错了不要出对话框,安静地退出。你去掉if , 直接messsagebox(...)即可。
页: [1]
查看完整版本: 在Delphi中 ruhe 创建一AutoCAD线程,想事先