C3D-AUDIT613B · Deep audit: utility layer contents (read-only) done
Dump geometry per utility layer to map onto HCWA required layers
C# payload
// Read-only deep audit: dump the actual content of each utility layer so we can map
// existing geometry -> required HCWA layers, and check the HCWA geometry/closure rules.
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
var ms = (BlockTableRecord)Tx.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead);
string[] look = { "V-SSWR-MHOL","V-SSWR-PIPE","V-SSWR-TEXT","V-WATR-STRC","V-WATR-ALIGN",
"V-WATR-TEXT","V-GREASE","SS-GREASE","V-ESMT-SSE20","SS-ESMT-SSE20",
"V-STRM-STRC","V-STRM-TEXT","SS-V-ROAD-CURB" };
foreach (var L in look) {
Log($"--- {L} ---");
foreach (ObjectId id in ms) {
var o = Tx.GetObject(id, OpenMode.ForRead);
var e = o as Autodesk.AutoCAD.DatabaseServices.Entity;
if (e == null || e.Layer != L) continue;
if (o is Circle c)
Log($" CIRCLE ctr=({c.Center.X:F2},{c.Center.Y:F2}) r={c.Radius:F2}");
else if (o is Line ln)
Log($" LINE ({ln.StartPoint.X:F2},{ln.StartPoint.Y:F2})-({ln.EndPoint.X:F2},{ln.EndPoint.Y:F2}) len={ln.Length:F1}");
else if (o is Polyline pl) {
var sb = new System.Text.StringBuilder($" PLINE closed={pl.Closed} v={pl.NumberOfVertices} len={pl.Length:F1} :");
for (int i = 0; i < pl.NumberOfVertices && i < 8; i++) { var p = pl.GetPoint2dAt(i); sb.Append($"({p.X:F1},{p.Y:F1})"); }
Log(sb.ToString());
}
else if (o is DBText t)
Log($" TEXT @({t.Position.X:F2},{t.Position.Y:F2}) h={t.Height:F2} \"{t.TextString}\"");
else if (o is MText mt)
Log($" MTEXT @({mt.Location.X:F2},{mt.Location.Y:F2}) \"{mt.Contents.Replace("\\P"," / ")}\"");
else if (o is Autodesk.Civil.DatabaseServices.CogoPoint cp)
Log($" COGO #{cp.PointNumber} '{cp.RawDescription}' E={cp.Easting:F2} N={cp.Northing:F2} Z={cp.Elevation:F2}");
}
}
Result
Log
--- V-SSWR-MHOL --- CIRCLE ctr=(2296379.89,1279953.45) r=2.00 CIRCLE ctr=(2296511.06,1279951.56) r=2.00 CIRCLE ctr=(2296604.89,1280046.15) r=2.00 CIRCLE ctr=(2296652.15,1280058.09) r=2.00 CIRCLE ctr=(2296685.40,1280052.25) r=2.00 CIRCLE ctr=(2296691.10,1280045.90) r=2.00 CIRCLE ctr=(2296714.14,1280025.06) r=2.00 CIRCLE ctr=(2296827.27,1280096.07) r=2.00 --- V-SSWR-PIPE --- PLINE closed=False v=6 len=515.3 :(2296379.9,1279953.4)(2296511.1,1279951.6)(2296604.9,1280046.2)(2296691.1,1280045.9)(2296714.1,1280025.1)(2296827.3,1280096.1) LINE (2296691.10,1280045.90)-(2296685.40,1280052.25) len=8.5 LINE (2296652.15,1280058.09)-(2296652.51,1280046.01) len=12.1 LINE (2296604.89,1280046.15)-(2296549.94,1280052.78) len=55.4 LINE (2296827.27,1280096.07)-(2296877.74,1280034.32) len=79.8 LINE (2296605.51,1280056.15)-(2296541.20,1280063.90) len=64.8 LINE (2296538.81,1280044.04)-(2296541.20,1280063.90) len=20.0 LINE (2296583.39,1280038.67)-(2296538.81,1280044.04) len=44.9 --- V-SSWR-TEXT --- TEXT @(2296383.89,1279958.45) h=4.50 "SSMH 1106" TEXT @(2296383.89,1279952.45) h=3.80 "R746.11 IN/A" TEXT @(2296515.06,1279956.56) h=4.50 "SSMH 1105" TEXT @(2296515.06,1279950.56) h=3.80 "R733.76 I721.54" TEXT @(2296608.89,1280051.15) h=4.50 "SSMH 1103" TEXT @(2296608.89,1280045.15) h=3.80 "R727.45 IN/A" TEXT @(2296656.15,1280063.09) h=4.50 "SSMH 1111" TEXT @(2296656.15,1280057.09) h=3.80 "R727.68 IN/A" TEXT @(2296689.40,1280057.25) h=4.50 "SSMH 1095" TEXT @(2296689.40,1280051.25) h=3.80 "R727.56 I718.11" TEXT @(2296695.10,1280050.90) h=4.50 "SSMH 1094" TEXT @(2296695.10,1280044.90) h=3.80 "R727.71 I717.43" TEXT @(2296718.14,1280030.06) h=4.50 "SSMH 1099" TEXT @(2296718.14,1280024.06) h=3.80 "R726.39 I713.74" TEXT @(2296831.27,1280101.07) h=4.50 "SSMH 100" TEXT @(2296831.27,1280095.07) h=3.80 "R722.67 I712.37" TEXT @(2296438.01,1279944.71) h=3.80 "131' --" TEXT @(2296554.09,1279986.23) h=3.80 "133' --" TEXT @(2296623.20,1280042.82) h=3.80 "49' --" TEXT @(2296662.57,1280048.33) h=3.80 "34' --" TEXT @(2296680.98,1280048.34) h=3.80 "9' 8.0%" TEXT @(2296692.65,1280035.94) h=3.80 "31' 11.9%" TEXT @(2296739.42,1280032.68) h=3.80 "134' 1.0% to SS outfall (260612)" --- V-WATR-STRC --- PLINE closed=True v=4 len=41.6 :(2296400.7,1280014.9)(2296413.5,1280015.0)(2296413.5,1280022.9)(2296400.6,1280022.9) PLINE closed=True v=4 len=29.7 :(2296416.7,1280022.4)(2296416.7,1280028.3)(2296425.6,1280028.3)(2296425.6,1280022.4) PLINE closed=True v=4 len=10.4 :(2296417.6,1280016.1)(2296417.3,1280017.8)(2296420.9,1280018.1)(2296421.0,1280016.4) CIRCLE ctr=(2296377.44,1280101.12) r=1.20 CIRCLE ctr=(2296376.28,1280101.54) r=1.20 CIRCLE ctr=(2296380.29,1280018.48) r=1.20 CIRCLE ctr=(2296543.16,1280020.41) r=1.20 CIRCLE ctr=(2296542.38,1280022.07) r=1.20 CIRCLE ctr=(2296549.94,1280052.78) r=1.20 CIRCLE ctr=(2296556.10,1280062.29) r=1.20 CIRCLE ctr=(2296560.02,1280062.86) r=1.20 CIRCLE ctr=(2296654.32,1280077.45) r=1.20 CIRCLE ctr=(2296654.82,1280081.99) r=1.20 CIRCLE ctr=(2296563.12,1280064.91) r=1.20 CIRCLE ctr=(2296595.39,1280069.34) r=1.20 --- V-WATR-ALIGN --- PLINE closed=False v=5 len=100.3 :(2296560.0,1280062.9)(2296563.1,1280064.9)(2296595.4,1280069.3)(2296654.3,1280077.4)(2296654.8,1280082.0) PLINE closed=False v=2 len=83.2 :(2296376.3,1280101.5)(2296380.3,1280018.5) PLINE closed=False v=2 len=162.9 :(2296380.3,1280018.5)(2296543.2,1280020.4) PLINE closed=False v=4 len=51.5 :(2296543.2,1280020.4)(2296556.1,1280062.3)(2296560.0,1280062.9)(2296563.1,1280064.9) --- V-WATR-TEXT --- TEXT @(2296699.40,1280030.51) h=3.80 "1085 WM/vault? CONFIRM" TEXT @(2296414.08,1280018.92) h=3.20 "VAULT (1118-1121) [1] 6" FIRE + 2" DOM METERS" TEXT @(2296428.13,1280025.36) h=3.20 "VAULT (1126-1129) [3] 6" BFP (FIRE)" TEXT @(2296426.20,1280017.10) h=3.20 "2" RPZ BFP (1122-1125) [3]" TEXT @(2296380.44,1280103.12) h=3.00 "1115 FH" TEXT @(2296379.28,1280103.54) h=3.00 "1116 WV" TEXT @(2296383.29,1280020.48) h=3.00 "1117 WV" TEXT @(2296546.16,1280022.41) h=3.00 "1130 WV" TEXT @(2296545.38,1280024.07) h=3.00 "1131 FH" TEXT @(2296552.94,1280054.78) h=3.00 "1132 6" PVC STUB" TEXT @(2296559.10,1280064.29) h=3.00 "1133 2" PVC LINE" TEXT @(2296563.02,1280064.86) h=3.00 "1134 1" BWL STUB" TEXT @(2296657.32,1280079.45) h=3.00 "1135 1" BWL TURN" TEXT @(2296657.82,1280083.99) h=3.00 "1136 1" BWL AT BLDG" TEXT @(2296566.12,1280066.91) h=3.00 "1137 WL MARK" TEXT @(2296598.39,1280071.34) h=3.00 "1138 WL MARK" TEXT @(2296608.72,1280077.18) h=3.40 "1" BLUE WL TO BLDG (SHOTS 1134-1136)" TEXT @(2296447.08,1280040.92) h=3.40 "[7] 8" WL (FIRE) - ALIGNMENT INTERPOLATED BETWEEN SHOTS" TEXT @(2296380.28,1280060.01) h=3.20 "WM (N-S) PER WV/FH SHOTS 1115-1117" TEXT @(2296384.29,1280012.48) h=3.20 "[2] TSV ASSUMED AT TAP (WV 1117)" TEXT @(2296546.38,1280027.07) h=3.20 "[5] FHA (1130/1131)" TEXT @(2296553.94,1280057.78) h=3.20 "[6] 6" CAPPED PVC STUB (1132)" TEXT @(2296484.57,1280026.94) h=3.20 "[4] 8"x6" REDUCER - NOT SHOT, LOCATION APPROX" --- V-GREASE --- CIRCLE ctr=(2296683.98,1280059.60) r=1.50 TEXT @(2296686.98,1280061.60) h=3.20 "GT 1096 T727.99" CIRCLE ctr=(2296684.55,1280067.47) r=1.50 TEXT @(2296687.55,1280069.47) h=3.20 "GT 1097 T727.92" CIRCLE ctr=(2296639.70,1280069.20) r=1.50 TEXT @(2296642.70,1280071.20) h=3.20 "GT 1100 T727.94" CIRCLE ctr=(2296631.85,1280069.41) r=1.50 TEXT @(2296634.85,1280071.41) h=3.20 "GT 1101 T727.91" --- SS-GREASE --- COGO #1101 'GREASE TRAP' E=2296631.85 N=1280069.41 Z=727.91 COGO #1100 'GREASE TRAP' E=2296639.70 N=1280069.20 Z=727.94 COGO #1097 'GREASE TRAP ASPHALT OVER' E=2296684.55 N=1280067.47 Z=727.92 COGO #1096 'GREASE TRAP 6 PVC 6.52 INV 7.77' E=2296683.98 N=1280059.60 Z=727.99 --- V-ESMT-SSE20 --- TEXT @(2296557.98,1280012.85) h=4.50 "20' S.S.E." PLINE closed=False v=3 len=235.5 :(2296380.0,1279963.4)(2296507.0,1279961.6)(2296583.4,1280038.7) LINE (2296829.42,1280109.23)-(2296842.18,1280093.62) len=20.2 PLINE closed=False v=6 len=534.2 :(2296379.7,1279943.4)(2296515.2,1279941.5)(2296609.0,1280036.1)(2296687.2,1280035.9)(2296713.0,1280012.6)(2296842.2,1280093.6) PLINE closed=False v=4 len=251.6 :(2296605.5,1280056.2)(2296695.0,1280055.9)(2296715.2,1280037.6)(2296829.4,1280109.2) --- SS-ESMT-SSE20 --- MTEXT @(2296357.86,1279969.95) "SPRINGDALE RD (80' R/W)" --- V-STRM-STRC --- PLINE closed=True v=4 len=17.6 :(2296575.3,1280207.4)(2296579.7,1280207.4)(2296579.7,1280211.8)(2296575.3,1280211.8) PLINE closed=True v=4 len=17.6 :(2296574.7,1280174.1)(2296579.1,1280174.1)(2296579.1,1280178.5)(2296574.7,1280178.5) PLINE closed=True v=4 len=17.6 :(2296574.9,1280051.5)(2296579.3,1280051.5)(2296579.3,1280055.9)(2296574.9,1280055.9) PLINE closed=True v=4 len=17.6 :(2296747.4,1280171.6)(2296751.8,1280171.6)(2296751.8,1280176.0)(2296747.4,1280176.0) PLINE closed=True v=4 len=17.6 :(2296739.5,1280079.6)(2296743.9,1280079.6)(2296743.9,1280084.0)(2296739.5,1280084.0) PLINE closed=True v=4 len=17.6 :(2296677.4,1280013.6)(2296681.8,1280013.6)(2296681.8,1280018.0)(2296677.4,1280018.0) PLINE closed=True v=4 len=17.6 :(2296616.2,1280007.5)(2296620.6,1280007.5)(2296620.6,1280011.9)(2296616.2,1280011.9) PLINE closed=True v=4 len=17.6 :(2296653.4,1279974.3)(2296657.8,1279974.3)(2296657.8,1279978.7)(2296653.4,1279978.7) PLINE closed=True v=4 len=17.6 :(2296584.0,1279968.1)(2296588.4,1279968.1)(2296588.4,1279972.5)(2296584.0,1279972.5) --- V-STRM-TEXT --- TEXT @(2296581.54,1280212.65) h=3.20 "1109(18") T729.21 I725.48" TEXT @(2296580.90,1280179.31) h=3.20 "1108(18") T728.30 I724.35" TEXT @(2296581.06,1280056.71) h=3.20 "1107(18") T727.60 I722.87" TEXT @(2296753.63,1280176.82) h=3.20 "1110(18") T727.51 I724.11" TEXT @(2296745.72,1280084.75) h=3.20 "1082(18") T727.53 I722.45" TEXT @(2296683.61,1280018.76) h=3.20 "1090(18") T726.46 I720.36" TEXT @(2296622.42,1280012.73) h=3.20 "1102(24x18") T727.67 18"INV 722.37 24"INV 716.57" TEXT @(2296659.59,1279979.50) h=3.20 "1104(24") T726.13 I716.71" TEXT @(2296590.21,1279973.35) h=3.20 "1139(2' RND) T727.31 I717.20" COGO #1139 'DI 2FT ROUND INV 10.11' E=2296586.21 N=1279970.35 Z=727.31 COGO #1110 'DI 18 PIPE INV 3.4' E=2296749.63 N=1280173.82 Z=727.51 COGO #1108 'DI 18 METAL PIPE INV 3.95' E=2296576.90 N=1280176.31 Z=728.30 COGO #1107 'DI 18 CON PIPE INV 4.73' E=2296577.06 N=1280053.71 Z=727.60 COGO #1104 '24IN RIDGED INV 9.42 WITH SILT' E=2296655.59 N=1279976.50 Z=726.13 COGO #1102 '24IN RIDGED PIPE INV TO 18 PIPE INV 5.3 BOT 11.1' E=2296618.42 N=1280009.73 Z=727.67 COGO #1090 '18 CON PIPEINV 6.1 TO TOP OF BOX' E=2296679.61 N=1280015.76 Z=726.46 COGO #1082 'DI INV BOT 5.08 18 CON PIPE' E=2296741.72 N=1280081.75 Z=727.53 COGO #1079 'GUTTER' E=2296748.73 N=1280103.06 Z=727.85 COGO #1078 'GUTTER' E=2296757.24 N=1280113.89 Z=728.02 COGO #1077 'GUTTER' E=2296764.58 N=1280119.23 Z=728.02 --- SS-V-ROAD-CURB --- PLINE closed=False v=28 len=285.8 :(2296816.5,1280274.9)(2296814.9,1280274.6)(2296806.5,1280272.5)(2296797.9,1280268.0)(2296792.5,1280261.1)(2296790.3,1280252.2)(2296793.3,1280244.3)(2296802.1,1280240.2) PLINE closed=False v=8 len=109.3 :(2296747.7,1280099.8)(2296745.1,1280082.3)(2296720.3,1280058.5)(2296698.4,1280037.9)(2296689.5,1280037.2)(2296686.3,1280035.6)(2296684.6,1280032.4)(2296683.8,1280021.4) PLINE closed=False v=2 len=3.0 :(2296965.0,1280327.6)(2296964.7,1280330.6) PLINE closed=False v=2 len=3.1 :(2296901.7,1280325.9)(2296901.5,1280322.8) PLINE closed=False v=2 len=3.1 :(2296866.7,1280321.8)(2296866.7,1280324.8) PLINE closed=False v=2 len=2.9 :(2296795.7,1280323.8)(2296795.8,1280320.9)
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.