[CommandMethod("RenameMyLayers")]
public static void RenameMyLayers()
{
const string layerNamePrefix = "FiddleSticks|";
Active.WriteMessage("\nRenaming Layers.\n ");
using (Transaction transaction = Active.Database.TransactionManager.StartTransaction())
{
// Returns the layer table for the current database
LayerTable layerTable = (LayerTable)transaction.GetObject(
Active.Database.LayerTableId, OpenMode.ForWrite);
foreach (ObjectId layerId in layerTable)
{
LayerTableRecord layerTableRecord = (LayerTableRecord)transaction.GetObject(
layerId, OpenMode.ForRead);
if (layerTableRecord.Name == "0" || layerTableRecord.Name == "Defpoints")
{
Active.WriteMessage($"layer {layerTableRecord.Name} skipped.\n ");
}
else
{
layerTableRecord.UpgradeOpen();
layerTableRecord.Name = $"{layerNamePrefix}{layerTableRecord.Name}";
Active.WriteMessage($"layer {layerTableRecord.Name} renamed.\n ");
}
}
transaction.Commit();
}
}