在delphi中是否有相应的函数将autoCAD图纸标题栏中的信息还原成数据,并可以提取数据,如何实现?谢谢

解决方案 »

  1.   

    使用CAD_LAB或ddvue.ocx控件操作即可...本站有個下載連接:http://download.csdn.net/source/1529447
      

  2.   

    拋磚引玉...
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, AutoCAD_TLB, ComObj;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
        AcadApp: IAcadApplication;
      public
        { Public declarations }
      end;var
    Вернуться к оглавлению
      Form1: TForm1;implementation{$R *.dfm}Function GetAcadApplication(Visible: Boolean): IAcadApplication;
    var
      v : OleVariant;
    begin
      Try
    // пытаемся присоединиться к уже запущенной копии AutoCad
        v := GetActiveOleObject('AutoCAD.Application');    
      Except
    // если не получилось присоединиться, то запускаем новую копию AutoCad
        v:= CreateOleObject('AutoCAD.Application');
      end;
    // приводим переменную типа OleVariant к типу IAcadApplication
      Result := IDispatch(v) as IAcadApplication;
    // далее проверяем, надо ли делать приложение AutoCad видимым
      if Visible then Result.Visible := True;
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    // делаем так, что бы наша форма отображалась всегда поверх окна AutoCad
      FormStyle:= fsStayOnTop;
      Button1.Caption:= ‘Текущий чертёж’;
    // присоеденимся к приложению AutoCad
      AcadApp:= GetAcadApplication(true)
    end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    // при закрытии нашей программы закроем AutoCad
      AcadApp.Quit
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    // В заголовке нашей формы напишем наимонавание текущего чертежа
      Caption:= AcadApp.ActiveDocument.Name
    end;end.