Hallo!
Ich hätte eine Frage zu folgender Methode, gibt es einen besseren Weg als den, die xref-layer beim Auslesen zu ignorieren ?
Code:
public static List<string> ReadLayers()
{
Document acadDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database acadDb = acadDoc.Database;
Editor ed = acadDoc.Editor;
List<string> lstlay = new List<string>();
string layName = "";
LayerTableRecord layer;
using (Transaction tr = acadDb.TransactionManager.StartOpenCloseTransaction())
{
LayerTable lt = tr.GetObject(acadDb.LayerTableId, OpenMode.ForRead) as LayerTable;
foreach (ObjectId layerId in lt)
{
layer = tr.GetObject(layerId, OpenMode.ForWrite) as LayerTableRecord;
layName = layer.Name;
if(!layName.Contains("|")) //ignore xref-layer
{
lstlay.Add(layer.Name);
}
}
}
lstlay.Sort();
return lstlay;
}
------------------
Gruss Dirk
Blog | Adolf Spende | Infra-Feed | ÅF AB
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP