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.
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
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.