本文提供 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) |
|---|---|---|
| ProgID | AutoCAD.Application.15 | AutoCAD.Application.14 |
| 開啟圖檔方式 | Documents.Open | ActiveDocument.Open |
| 物件模型 | 較新、功能較完整 | 較舊、部份屬性/方法不同 |
\\ 或正斜線 / 避免逸出字元問題。CreateOleObject 會拋出例外,需妥善處理。