如何判断当前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的功能。

posted on 2015-12-04 23:43  Civil3d  阅读(187)  评论(0)    收藏  举报

导航