回覆列表
-
1 # 使用者3417633067606
-
2 # 使用者3417633067606
宣告一個儲存圖層的變數
開啟圖形資料庫
開啟LayerTable
遍歷LayerTable中的LayerID獲取LayerTableRecord並加入到儲存圖層的變數
再從Record中獲取相關圖層資訊,如圖層名、顏色、狀態等
/// <summary>
/// 獲取當前圖形中所有的圖層
/// </summary>
/// <param name="db">資料庫物件</param>
/// <returns>返回所有的層表記錄</returns>
public static List<LayerTableRecord> GetAllLayers(this Database db)
{
//開啟層表
LayerTable lt=(LayerTable)db.LayerTableId.GetObject(OpenMode.ForRead);
//用於返回層表記錄的列表
List<LayerTableRecord> ltrs=new List<LayerTableRecord>();
foreach (ObjectId id in lt)//遍歷層表
{
//開啟層表記錄
LayerTableRecord ltr=(LayerTableRecord)id.GetObject(OpenMode.ForRead);
ltrs.Add(ltr);//新增到返回列表中
}
return ltrs;//返回所有的層表記錄
}
宣告一個儲存圖層的變數
開啟圖形資料庫
開啟LayerTable
遍歷LayerTable中的LayerID獲取LayerTableRecord並加入到儲存圖層的變數
再從Record中獲取相關圖層資訊,如圖層名、顏色、狀態等
/// <summary>
/// 獲取當前圖形中所有的圖層
/// </summary>
/// <param name="db">資料庫物件</param>
/// <returns>返回所有的層表記錄</returns>
public static List<LayerTableRecord> GetAllLayers(this Database db)
{
//開啟層表
LayerTable lt=(LayerTable)db.LayerTableId.GetObject(OpenMode.ForRead);
//用於返回層表記錄的列表
List<LayerTableRecord> ltrs=new List<LayerTableRecord>();
foreach (ObjectId id in lt)//遍歷層表
{
//開啟層表記錄
LayerTableRecord ltr=(LayerTableRecord)id.GetObject(OpenMode.ForRead);
ltrs.Add(ltr);//新增到返回列表中
}
return ltrs;//返回所有的層表記錄
}