明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2009|回复: 5

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

[复制链接]
发表于 2002-9-13 22:49:00 | 显示全部楼层 |阅读模式
谢谢前面的答疑
再请教一个问题:
   我在Delphi中创建一AutoCAD线程,想事先
   在Delphi程序中创建一图层,并设置各种参数,
   进入CAD后就可以见到我所创建的图层。
   请问命令的形式怎样?
发表于 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 编辑


  1.     AppStr:='AutoCAD.Application.15';

  2.     // Get AutoCAD Application
  3.     try
  4.       acadapp:=GetActiveOleobject(AppStr);
  5.     except
  6.       on EOleSysError do
  7.           AcadAlreadyRunning:=false;
  8.     end;

  9.     if not AcadAlreadyRunning then
  10.       try
  11.         AcadApp:=CreateOleObject(AppStr);
  12.       except
  13.         if not silent then MessageDlg(AppStr+' 没有安装。', mtInformation, [mbok], 0);
  14.         AutoCADInstalled := false;
  15.       end;

  16.     if not AutoCADInstalled then Exit ;    // Terminate the Application
复制代码
 楼主| 发表于 2002-9-14 14:29:00 | 显示全部楼层

请问 silent 代表什么?

请问
   if not silent then MessageDlg(AppStr+' 没有安装。', mtInformation, [mbok], 0);
中的是代表什么,编译程序不知道。
 楼主| 发表于 2002-9-14 14:36:00 | 显示全部楼层

请问 silent 代表什么?

请问
   if not silent then MessageDlg(AppStr+' 没有安装。', mtInformation, [mbok], 0);  
中的是代表什么,编译程序不知道。
发表于 2002-9-14 16:49:00 | 显示全部楼层

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

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

这个是程序中的一段。silent是程序中的一个变量如果为true 表示出错了不要出对话框,安静地退出。[br]你去掉if , 直接messsagebox(...)即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 20:59 , Processed in 0.175467 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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