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