← Inbox

C3D-0059 · READ-ONLY: confirm fire hydrant / water line / electrical layer names [LAYER-TARGETS] done

Lists every existing layer whose name contains HYDRANT/FH/FIRE/WATER_LINE/ELEC/POWER/UTIL/METER so the point moves use real layer names rather than guessed ones. No changes.

Script file
C3D-0059.cs
Target
260612 · model space
Author
claude
Approved
yes · reviewer
Timeout
180s

C# payload

// READ-ONLY. Confirm the exact target layer names before moving any points.
// Need: a fire-hydrant layer (item 2) and the water-line layer (items 4,6,7,9,10), plus anywhere
// an electrical meter/shutoff would belong (item 11). Print every layer whose name looks relevant
// rather than assuming a name exists. Nothing is modified.
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
string[] KEYS = new string[] { "HYDRANT", "FH", "FIRE", "WATER_LINE", "WATERLINE",
                               "ELEC", "POWER", "PWR", "UTIL", "METER" };
var names = new List<string>();
foreach (ObjectId id in lt) {
    var l = (LayerTableRecord)Tx.GetObject(id, OpenMode.ForRead);
    string u = l.Name.ToUpper();
    foreach (string k in KEYS) {
        if (u.IndexOf(k) >= 0) { names.Add(l.Name); break; }
    }
}
names.Sort();
foreach (var n in names) Log("  " + n);
Log("");
Log("matched " + names.Count + " layers");

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\260612 - CSTORE WATER ABS 30.dwg
Message
Executed C3D-0059 (0 entities touched).
Entities
Duration
346 ms
Civil 3D
25.0.0.0

Log

  A-BLDG-UTIL
  FIRE_HYDRANT
  FIRE_HYDRANT_EXISTING
  FIRE_HYDRANT_EXISTING_TEXT
  FIRE_HYDRANT_MANUFACTURED_YEAR
  FIRE_HYDRANT_MANUFACTURER
  FIRE_HYDRANT_TEXT
  FIRE_HYDRANT_VALVE
  FIRE_HYDRANT_VALVE_EXISTING
  FIRE_HYDRANT_VALVE_EXISTING_TEXT
  FIRE_HYDRANT_VALVE_TEXT
  PDF2_E POWER
  UTILITY_EASEMENT
  UTILITY_EASEMENT_EXISTING
  UTILITY_EASEMENT_EXISTING_TEXT
  UTILITY_EASEMENT_TEXT
  WATER_LINE
  WATER_LINE_EXISTING
  WATER_LINE_EXISTING_TEXT
  WATER_LINE_TEXT
  WATER_METER
  WATER_METER_TEXT

matched 22 layers

Notes

What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.

No notes yet.