標籤:os 資料 art for cti io
/// <summary>
/// 取得當前圖層名稱
/// </summary>
/// <param name="db">資料庫物件</param>
/// <returns></returns>
public static string GetCurrentLayer(this Database db)
{
//Database db = HostApplicationServices.WorkingDatabase;
using (Transaction trans = db.TransactionManager.StartTransaction())
{
//擷取當前圖形中所有顏色為紅色的圖層層名
var CurrentLayer = (from layer in db.GetAllLayers()
where layer.Id==db.Clayer
select layer.Name).ToList();
return CurrentLayer[0];
trans.Commit();
}
}
上面這個辦法比較麻煩,可以按下面的辦法做:
/// <summary>
/// 取得當前圖層名稱
/// </summary>
/// <param name="db">資料庫物件</param>
/// <returns></returns>
public static string GetCurrentLayer(this Database db)
{
using (Transaction trans = db.TransactionManager.StartTransaction())
{
LayerTableRecord ltr = (LayerTableRecord)db.Clayer.GetObject(OpenMode.ForRead);
return ltr.Name;
trans.Commit();
}
}