← Inbox

C3D-0316 · 260714 Huckaby: read the CURRENT drawing - layers, long lines, power text done

READ-ONLY. Logs the active filename, every layer with model-space entity counts, every line/polyline over 200 ft with its layer and linetype, and all text mentioning power/transmission/easement. Re-reading because an earlier read came from a different file.

Script file
C3D-0316.cs
Target
current · model space
Author
claude
Approved
yes · auto-auth
Timeout
60s

C# payload

// READ-ONLY: what is actually in THIS drawing right now. Log the filename first.
Log("drawing: " + Db.Filename);
var ms = (BlockTableRecord)Tx.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(Db), OpenMode.ForRead);

Log("");
Log("=== ALL LAYERS WITH MODEL-SPACE ENTITIES ===");
var count = new Dictionary<string,int>();
foreach (ObjectId id in ms) {
    var ent = Tx.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
    if (ent == null) continue;
    if (!count.ContainsKey(ent.Layer)) count[ent.Layer] = 0;
    count[ent.Layer]++;
}
var names = new List<string>(count.Keys); names.Sort();
foreach (var n in names) Log(string.Format("  {0,-40} {1}", n, count[n]));

Log("");
Log("=== LONG LINES (>200 ft) - the transmission runs should be here ===");
foreach (ObjectId id in ms) {
    var ln = Tx.GetObject(id, OpenMode.ForRead) as Line;
    if (ln == null || ln.Length < 200) continue;
    var lt0 = (LinetypeTableRecord)Tx.GetObject(ln.LinetypeId, OpenMode.ForRead);
    Log(string.Format("[{0}] layer={1,-34} ltype={2,-14} len={3:F2} ({4:F2},{5:F2})->({6:F2},{7:F2})",
        ln.Handle, ln.Layer, lt0.Name, ln.Length,
        ln.StartPoint.X, ln.StartPoint.Y, ln.EndPoint.X, ln.EndPoint.Y));
}
foreach (ObjectId id in ms) {
    var pl = Tx.GetObject(id, OpenMode.ForRead) as Polyline;
    if (pl == null || pl.Length < 200) continue;
    var lt0 = (LinetypeTableRecord)Tx.GetObject(pl.LinetypeId, OpenMode.ForRead);
    Log(string.Format("[{0}] POLY layer={1,-30} ltype={2,-14} len={3:F2} verts={4}",
        pl.Handle, pl.Layer, lt0.Name, pl.Length, pl.NumberOfVertices));
}

Log("");
Log("=== TEXT MENTIONING POWER / TRANSMISSION / GEORGIA POWER ===");
foreach (ObjectId id in ms) {
    var ent = Tx.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
    if (ent == null) continue;
    string t = null;
    var d = ent as DBText; if (d != null) t = d.TextString;
    var m = ent as MText;  if (m != null) t = m.Contents;
    if (t == null) continue;
    string u = t.ToUpper();
    if (u.IndexOf("POWER") < 0 && u.IndexOf("TRANSMISSION") < 0 && u.IndexOf("GEORGIA") < 0 && u.IndexOf("EASEMENT") < 0) continue;
    double x = d != null ? d.Position.X : m.Location.X;
    double y = d != null ? d.Position.Y : m.Location.Y;
    Log(string.Format("[{0}] layer={1,-30} ({2:F2},{3:F2}) \"{4}\"",
        ent.Handle, ent.Layer, x, y, t.Replace("\n"," ")));
}

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260714 - 285 Huckaby Rd, Brooks, GA 30205, USA\260714 - 285 Huckaby Rd R2.dwg
Message
Executed C3D-0316 (0 entities touched).
Entities
Duration
1635 ms
Civil 3D
25.0.0.0

Log

drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260714 - 285 Huckaby Rd, Brooks, GA 30205, USA\260714 - 285 Huckaby Rd R2.dwg

=== ALL LAYERS WITH MODEL-SPACE ENTITIES ===
  0                                        161
  C-ANNO                                   10
  C-ANNO-TABL-TTBL                         5
  C-PROP                                   1
  C-PROP-LINE                              4
  C-PROP-LINE-TEXT                         9
  LABELS                                   7
  PARCEL                                   24
  SS-0-FRAME                               13
  SS-BOUNDARY                              3
  SS-BOUNDARY CYAN                         6
  SS-BOUNDARY MAG                          1
  SS-BOUNDARY RED                          1
  SS-BUFFER LANDSCAPE                      1
  SS-BUFFER SETBACK                        11
  SS-FLOW WELL                             1
  SS-GAS                                   1
  SS-V-BLDG-OTLN                           15
  SS-V-POWER-CL                            4
  SS-V-POWER-EASEMENT                      8
  SS-V-ROAD-CNTR                           2
  SS-V-ROAD-EPVM                           5
  SS-V-WALK                                1
  SS-X-FENCE                               2
  V-NODE-TEXT                              2
  V-STRC-WALL                              8
  X-DRIV-CONC                              5

=== LONG LINES (>200 ft) - the transmission runs should be here ===
[20B77] layer=SS-0-FRAME                         ltype=ByLayer        len=504.04 (2206359.56,1207313.01)->(2206344.79,1206809.19)
[20B79] layer=PARCEL                             ltype=ByLayer        len=1089.00 (2206344.79,1206809.19)->(2205255.83,1206798.97)
[20B7D] layer=PARCEL                             ltype=ByLayer        len=1814.24 (2205253.51,1206719.66)->(2203439.29,1206710.00)
[20B7F] layer=PARCEL                             ltype=ByLayer        len=583.68 (2203439.29,1206710.00)->(2203439.78,1207293.68)
[20B81] layer=PARCEL                             ltype=ByLayer        len=2939.86 (2203439.78,1207293.68)->(2206379.57,1207312.93)
[20C9D] layer=SS-V-POWER-CL                      ltype=ByLayer        len=893.05 (2204490.05,1206692.30)->(2203658.52,1207011.55)
[20C9E] layer=SS-V-POWER-CL                      ltype=ByLayer        len=364.63 (2203300.23,1207078.41)->(2203658.52,1207011.55)
[20CA5] layer=SS-GAS                             ltype=ByLayer        len=388.49 (2203814.14,1206896.40)->(2203439.53,1206998.20)
[20CA9] layer=SS-V-POWER-CL                      ltype=ByLayer        len=1514.59 (2206381.69,1207400.08)->(2204867.83,1207381.50)
[20CB1] layer=SS-V-POWER-CL                      ltype=ByLayer        len=1569.63 (2204867.83,1207381.50)->(2203298.37,1207370.31)
[20D91] layer=PARCEL                             ltype=ByLayer        len=504.94 (2206379.57,1207312.93)->(2206344.79,1206809.19)
[21256] layer=PARCEL                             ltype=ByLayer        len=1089.00 (2208775.33,1206943.08)->(2207686.38,1206932.86)
[21258] layer=PARCEL                             ltype=ByLayer        len=418.30 (2207686.98,1206953.66)->(2207268.69,1206951.31)
[21259] layer=PARCEL                             ltype=ByLayer        len=250.00 (2207268.69,1206951.31)->(2207271.04,1206701.32)
[2125A] layer=PARCEL                             ltype=ByLayer        len=408.70 (2207271.04,1206701.32)->(2207679.73,1206703.62)
[2125C] layer=PARCEL                             ltype=ByLayer        len=1089.00 (2207682.03,1206782.93)->(2208770.98,1206793.15)
[213DA] layer=PARCEL                             ltype=ByLayer        len=504.04 (2206359.42,1207313.02)->(2206344.79,1206809.19)
[213DB] layer=PARCEL                             ltype=ByLayer        len=1089.00 (2206344.79,1206809.19)->(2205255.84,1206798.65)
[2149A] layer=SS-0-FRAME                         ltype=ByLayer        len=942.00 (2206408.43,1208254.49)->(2206379.57,1207312.93)
[21715] layer=SS-BUFFER SETBACK                  ltype=ByLayer        len=242.08 (2203443.17,1207293.51)->(2203443.70,1207535.44)
[2172D] layer=PARCEL                             ltype=ByLayer        len=504.94 (2206379.43,1207312.94)->(2206344.79,1206809.19)
[2172E] layer=PARCEL                             ltype=ByLayer        len=732.78 (2206419.33,1207310.20)->(2206369.06,1206579.15)
[217E9] layer=PARCEL                             ltype=ByLayer        len=504.04 (2216369.99,1206032.57)->(2216370.08,1205528.53)
[217EA] layer=PARCEL                             ltype=ByLayer        len=1089.00 (2216370.08,1205528.53)->(2215281.90,1205486.19)
[217EC] layer=PARCEL                             ltype=ByLayer        len=1814.24 (2215281.92,1205406.85)->(2213468.78,1205343.69)
[217ED] layer=PARCEL                             ltype=ByLayer        len=583.68 (2213468.78,1205343.69)->(2213452.05,1205927.13)
[217EE] layer=PARCEL                             ltype=ByLayer        len=2939.86 (2213452.05,1205927.13)->(2216390.00,1206033.08)
[217F2] layer=SS-BUFFER SETBACK                  ltype=ByLayer        len=1095.01 (2206355.14,1206959.18)->(2205260.18,1206948.90)
[219B2] layer=SS-BUFFER SETBACK                  ltype=ByLayer        len=504.94 (2206344.79,1206809.19)->(2206379.57,1207312.93)
[21A00] layer=V-NODE-TEXT                        ltype=DASHED4        len=908.40 (2206358.98,1206622.37)->(2206386.82,1207530.35)
[21AD5] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=828.76 (2204412.27,1206668.60)->(2203640.60,1206964.87)
[21AD6] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=1005.20 (2204612.40,1206698.88)->(2203676.44,1207058.23)
[21AD7] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=370.57 (2203303.57,1207128.65)->(2203667.69,1207060.70)
[21AD8] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=353.40 (2203302.09,1207027.20)->(2203649.35,1206962.40)
[21AD9] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=1570.42 (2204868.37,1207306.50)->(2203298.11,1207295.30)
[21ADA] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=1569.02 (2204867.30,1207456.50)->(2203298.44,1207445.31)
[21ADB] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=1518.08 (2206384.35,1207475.08)->(2204867.00,1207456.49)
[21ADC] layer=SS-V-POWER-EASEMENT                ltype=ByLayer        len=1511.45 (2206379.51,1207323.34)->(2204868.66,1207306.50)
[20CC6] POLY layer=SS-V-ROAD-CNTR                 ltype=ByLayer        len=457.66 verts=10
[20CC7] POLY layer=SS-V-ROAD-EPVM                 ltype=ByLayer        len=262.34 verts=4
[20CC8] POLY layer=X-DRIV-CONC                    ltype=ByLayer        len=490.00 verts=23
[20CD7] POLY layer=SS-V-BLDG-OTLN                 ltype=ByLayer        len=239.70 verts=12
[20D40] POLY layer=SS-V-ROAD-EPVM                 ltype=ByLayer        len=262.34 verts=4
[21215] POLY layer=SS-V-ROAD-EPVM                 ltype=ByLayer        len=457.72 verts=10
[21237] POLY layer=SS-BOUNDARY MAG                ltype=ByLayer        len=7011.06 verts=6
[213CD] POLY layer=SS-BOUNDARY CYAN               ltype=ByLayer        len=3511.51 verts=8
[214A5] POLY layer=SS-BOUNDARY                    ltype=ByLayer        len=7067.70 verts=8
[217EF] POLY layer=SS-BOUNDARY RED                ltype=ByLayer        len=7010.16 verts=7

=== TEXT MENTIONING POWER / TRANSMISSION / GEORGIA POWER ===

Notes

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

No notes yet.