首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 呼叫 AutoCAD 自動化:版本相容與開啟圖檔實作

     編輯:Delphi

概述

本文提供 Delphi 透過 COM 自動化控制 AutoCAD 的實用程式碼片段,涵蓋 AutoCAD 2000 (版本 15) 與 AutoCAD R14 (版本 14) 兩大版本,示範如何連接既有執行個體或建立新執行個體、設定可見性、開啟 DWG 圖檔。

核心程式碼

uses ComObj;

{ AutoCAD 2000 (版本 15) }
procedure TForm1.Button1Click(Sender: TObject);
var
  objAcad: OleVariant;
begin
  try
    // 嘗試取得已執行的 AutoCAD 執行個體
    objAcad := GetActiveOleObject('AutoCAD.Application.15');
  except
    // 若無則建立新執行個體
    objAcad := CreateOleObject('AutoCAD.Application.15');
  end;

  objAcad.Visible := True;
  // 開啟指定圖檔 (注意路徑分隔符)
  objAcad.Documents.Open('G:\AutoCad\data\dwg\4.dwg');
end;

{ AutoCAD R14 (版本 14) }
procedure TForm1.Button1Click(Sender: TObject);
var
  objAcad: OleVariant;
begin
  try
    objAcad := GetActiveOleObject('AutoCAD.Application.14');
  except
    objAcad := CreateOleObject('AutoCAD.Application.14');
  end;

  objAcad.Visible := True;
  // R14 透過 ActiveDocument 開啟
  objAcad.ActiveDocument.Open('G:\AutoCad\data\dwg\4.dwg');
end;

關鍵差異說明

項目AutoCAD 2000 (v15)AutoCAD R14 (v14)
ProgIDAutoCAD.Application.15AutoCAD.Application.14
開啟圖檔方式Documents.OpenActiveDocument.Open
物件模型較新、功能較完整較舊、部份屬性/方法不同

實作提醒

  • 路徑字串建議使用雙反斜線 \\ 或正斜線 / 避免逸出字元問題。
  • 若 AutoCAD 未安裝或版本不符,CreateOleObject 會拋出例外,需妥善處理。
  • 實際專案中可將版本號抽取為常數或從登錄表偵測安裝版本。
  • 更複雜的操作 (繪圖、修改實體、列印等) 需深入 AutoCAD 物件模型 (ActiveX Automation)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved