3
在AutoCAD .NET API中,打開圖形時,可以使用環境變量EXTMAX和EXTMIN獲取擴展數據塊。但是,如果沒有打開繪圖,這些變量不會提供正確的值。如何在不打開圖形的情況下獲得這些相同的範圍(使用數據庫的AKA)?在不打開圖形的情況下使用數據庫獲取圖形上的擴展數據塊
在AutoCAD .NET API中,打開圖形時,可以使用環境變量EXTMAX和EXTMIN獲取擴展數據塊。但是,如果沒有打開繪圖,這些變量不會提供正確的值。如何在不打開圖形的情況下獲得這些相同的範圍(使用數據庫的AKA)?在不打開圖形的情況下使用數據庫獲取圖形上的擴展數據塊
我瀏覽了Autodesk討論組並找到了Tony Tanzillo的答案。
http://forums.autodesk.com/t5/NET/Zoom-Extents-on-new-Database/m-p/2070825/highlight/true#M8176
下面是一個例子:
Database database = new Database(false, true);
String drawingFilePath = @"C:\Drawings\MyDrawing.dwg";
database.ReadDwgFile(drawingFilePath, FileShare.ReadWrite, true, String.Empty);
database.UpdateExt(true);
Point3d extentsMax = database.Extmax;
Point3d extentsMin = database.Extmin;
我不想把這個起死回生 - 但如何你到底是引用ObjectARX的dll文件沒有AutoCAD中被打開? - 我以爲你必須在COM中運行這些DLL,就像插件一樣? - 這是獨立的權利? – Pakk 2016-02-06 08:00:47
@Pakk使用數據庫方法打開圖形只是意味着在後端打開圖形,而不會在用戶界面中直觀地顯示任何東西。您仍然必須從AutoCAD內的插件運行此代碼。 – skeletank 2016-02-08 13:08:34