如何判断当前drawing运行在Civil 3D环境中
如何判断当前drawing运行在Civil 3D环境中
众所周知,Civil 3D软件安装好之后,可以以“AutoCAD Civil3D as AutoCAD”方式打开。那么在程序中如何判断当前CAD是运行在Civil 3D的环境中呢?
很简单,你只需打开"named object dictionary", 检查其是否包含"Root"即可。 闲话少叙,见代码:
C#
public bool isCivilDatabase(Database db) { DBDictionary namedObjectDict = db.NamedObjectsDictionaryId .GetObject(OpenMode.ForRead) as DBDictionary; return namedObjectDict.Contains("Root"); }
VB.NET
Public Function isCivilDatabase(db As Database) As Boolean Dim namedObjectDict As DBDictionary = TryCast( _ db.NamedObjectsDictionaryId.GetObject(OpenMode.ForRead), _
DBDictionary) Return namedObjectDict.Contains("Root") End Function
有了这段代码,你就可以在加载你的应用程序的时候,自动判断是否需要隐藏某些基于Civil 3D的功能。
浙公网安备 33010602011771号