← Inbox

C3D-SNAP613 · Snapshot 260613 before layer freeze (read-only) done

Baseline before freezing PDF layers

Script file
C3D-SNAP613.cs
Target
active document · model space
Author
claude
Approved
yes · claude (read-only inspection)
Timeout
60s

C# payload

// Read-only geometry snapshot: dump model entities (handle|layer|type|geo) so a later dump can be
// diffed to see what the user changed. Compact signature per entity.
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
var ms = (BlockTableRecord)Tx.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForRead);
int n = 0;
foreach (ObjectId id in ms) {
    var o = Tx.GetObject(id, OpenMode.ForRead);
    var e = o as Autodesk.AutoCAD.DatabaseServices.Entity;
    if (e == null) continue;
    string sig = "";
    if (o is Line ln) sig = $"({ln.StartPoint.X:F2},{ln.StartPoint.Y:F2})-({ln.EndPoint.X:F2},{ln.EndPoint.Y:F2})";
    else if (o is Polyline pl) { var sb = new System.Text.StringBuilder($"closed={pl.Closed} v{pl.NumberOfVertices}:"); for (int i = 0; i < pl.NumberOfVertices; i++) { var p = pl.GetPoint2dAt(i); sb.Append($"({p.X:F2},{p.Y:F2})"); } sig = sb.ToString(); }
    else if (o is Circle c) sig = $"ctr({c.Center.X:F2},{c.Center.Y:F2}) r={c.Radius:F2}";
    else if (o is MText mt) sig = $"@({mt.Location.X:F2},{mt.Location.Y:F2}) h={mt.TextHeight:F1} \"{mt.Contents.Replace("\\P"," / ")}\"";
    else if (o is DBText t) sig = $"@({t.Position.X:F2},{t.Position.Y:F2}) \"{t.TextString}\"";
    else if (o is Autodesk.Civil.DatabaseServices.CogoPoint cp) continue; // skip the 76 survey points
    else sig = o.GetType().Name;
    Log($"{e.Handle}|{e.Layer}|{o.GetType().Name}|{sig}");
    n++;
}
Log($"SNAPSHOT: {n} entities");

Result

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

Log

98|SEWER_MANHOLE|Circle|ctr(2296379.89,1279953.45) r=2.00
99|SEWER_MANHOLE_TEXT|DBText|@(2296383.89,1279958.45) "SSMH A16 (1106)"
9A|SEWER_MANHOLE_TEXT|DBText|@(2296383.89,1279952.45) "R746.11 IN/A"
9B|SEWER_MANHOLE|Circle|ctr(2296511.06,1279951.56) r=2.00
9C|SEWER_MANHOLE_TEXT|DBText|@(2296515.06,1279956.56) "SSMH A14 (1105)"
9D|SEWER_MANHOLE_TEXT|DBText|@(2296515.06,1279950.56) "R733.76 I721.54"
9E|SEWER_MANHOLE|Circle|ctr(2296604.89,1280046.15) r=2.00
9F|SEWER_MANHOLE_TEXT|DBText|@(2296608.89,1280051.15) "SSMH A12 (1103)"
A0|SEWER_MANHOLE_TEXT|DBText|@(2296608.89,1280045.15) "R727.45 IN/A"
A1|SEWER_MANHOLE|Circle|ctr(2296652.15,1280058.09) r=2.00
A2|SEWER_MANHOLE_TEXT|DBText|@(2296656.15,1280063.09) "SSMH 1111"
A3|SEWER_MANHOLE_TEXT|DBText|@(2296656.15,1280057.09) "R727.68 IN/A"
A4|SEWER_MANHOLE|Circle|ctr(2296685.40,1280052.25) r=2.00
A5|SEWER_MANHOLE_TEXT|DBText|@(2296689.40,1280057.25) "SSMH 1095"
A6|SEWER_MANHOLE_TEXT|DBText|@(2296689.40,1280051.25) "R727.56 I718.11"
A7|SEWER_MANHOLE|Circle|ctr(2296691.10,1280045.90) r=2.00
A8|SEWER_MANHOLE_TEXT|DBText|@(2296695.10,1280050.90) "SSMH A10 (1094)"
A9|SEWER_MANHOLE_TEXT|DBText|@(2296695.10,1280044.90) "R727.71 I717.43"
AA|SEWER_MANHOLE|Circle|ctr(2296714.14,1280025.06) r=2.00
AB|SEWER_MANHOLE_TEXT|DBText|@(2296718.14,1280030.06) "SSMH A9 (1099)"
AC|SEWER_MANHOLE_TEXT|DBText|@(2296718.14,1280024.06) "R726.39 I713.74"
AD|SEWER_MANHOLE|Circle|ctr(2296827.27,1280096.07) r=2.00
AE|SEWER_MANHOLE_TEXT|DBText|@(2296831.27,1280101.07) "SSMH A8 (100)"
AF|SEWER_MANHOLE_TEXT|DBText|@(2296831.27,1280095.07) "R722.67 I712.37"
B0|SEWER_LINE_TEXT|DBText|@(2296438.01,1279944.71) "131' --"
B1|SEWER_LINE_TEXT|DBText|@(2296554.09,1279986.23) "133' --"
B2|SEWER_LINE_TEXT|DBText|@(2296623.20,1280042.82) "49' --"
B3|SEWER_LINE_TEXT|DBText|@(2296662.57,1280048.33) "34' --"
B4|SEWER_LINE_TEXT|DBText|@(2296680.98,1280048.34) "9' 8.0%"
B5|SEWER_LINE_TEXT|DBText|@(2296692.65,1280035.94) "31' 11.9%"
B6|SEWER_LINE_TEXT|DBText|@(2296739.42,1280032.68) "134' 1.0% to SS outfall (260612)"
B8|SEWER_EASEMENT_TEXT|DBText|@(2296557.98,1280012.85) "20' S.S.E."
B9|V-GREASE|Circle|ctr(2296683.98,1280059.60) r=1.50
BA|V-GREASE|DBText|@(2296686.98,1280061.60) "GT 1096 T727.99"
BB|V-GREASE|Circle|ctr(2296684.55,1280067.47) r=1.50
BC|V-GREASE|DBText|@(2296687.55,1280069.47) "GT 1097 T727.92"
BD|V-GREASE|Circle|ctr(2296639.70,1280069.20) r=1.50
BE|V-GREASE|DBText|@(2296642.70,1280071.20) "GT 1100 T727.94"
BF|V-GREASE|Circle|ctr(2296631.85,1280069.41) r=1.50
C0|V-GREASE|DBText|@(2296634.85,1280071.41) "GT 1101 T727.91"
C1|V-STRM-STRC|Polyline|closed=True v4:(2296575.34,1280207.45)(2296579.74,1280207.45)(2296579.74,1280211.85)(2296575.34,1280211.85)
C2|V-STRM-TEXT|DBText|@(2296581.54,1280212.65) "1109(18") T729.21 I725.48"
C3|V-STRM-STRC|Polyline|closed=True v4:(2296574.70,1280174.11)(2296579.10,1280174.11)(2296579.10,1280178.51)(2296574.70,1280178.51)
C4|V-STRM-TEXT|DBText|@(2296580.90,1280179.31) "1108(18") T728.30 I724.35"
C5|V-STRM-STRC|Polyline|closed=True v4:(2296574.86,1280051.51)(2296579.26,1280051.51)(2296579.26,1280055.91)(2296574.86,1280055.91)
C6|V-STRM-TEXT|DBText|@(2296581.06,1280056.71) "1107(18") T727.60 I722.87"
C7|V-STRM-STRC|Polyline|closed=True v4:(2296747.43,1280171.62)(2296751.83,1280171.62)(2296751.83,1280176.02)(2296747.43,1280176.02)
C8|V-STRM-TEXT|DBText|@(2296753.63,1280176.82) "1110(18") T727.51 I724.11"
C9|V-STRM-STRC|Polyline|closed=True v4:(2296739.52,1280079.55)(2296743.92,1280079.55)(2296743.92,1280083.95)(2296739.52,1280083.95)
CA|V-STRM-TEXT|DBText|@(2296745.72,1280084.75) "1082(18") T727.53 I722.45"
CB|V-STRM-STRC|Polyline|closed=True v4:(2296677.41,1280013.56)(2296681.81,1280013.56)(2296681.81,1280017.96)(2296677.41,1280017.96)
CC|V-STRM-TEXT|DBText|@(2296683.61,1280018.76) "1090(18") T726.46 I720.36"
CD|V-STRM-STRC|Polyline|closed=True v4:(2296616.22,1280007.53)(2296620.62,1280007.53)(2296620.62,1280011.93)(2296616.22,1280011.93)
CE|V-STRM-TEXT|DBText|@(2296622.42,1280012.73) "1102(24x18") T727.67 18"INV 722.37 24"INV 716.57"
CF|V-STRM-STRC|Polyline|closed=True v4:(2296653.39,1279974.30)(2296657.79,1279974.30)(2296657.79,1279978.70)(2296653.39,1279978.70)
D0|V-STRM-TEXT|DBText|@(2296659.59,1279979.50) "1104(24") T726.13 I716.71"
D1|V-STRM-STRC|Polyline|closed=True v4:(2296584.01,1279968.15)(2296588.41,1279968.15)(2296588.41,1279972.55)(2296584.01,1279972.55)
D2|V-STRM-TEXT|DBText|@(2296590.21,1279973.35) "1139(2' RND) T727.31 I717.20"
D3|SS-FRZ|Circle|ctr(2296695.40,1280036.51) r=2.00
D4|WATER_VAULT_TEXT|DBText|@(2296699.40,1280030.51) "1085 WM/vault? CONFIRM"
D5|WATER_VAULT|Polyline|closed=True v4:(2296400.69,1280014.91)(2296413.54,1280014.99)(2296413.49,1280022.93)(2296400.61,1280022.87)
D6|WATER_VAULT_TEXT|DBText|@(2296414.08,1280018.92) "VAULT (1118-1121) [1] 6" FIRE + 2" DOM METERS"
D7|WATER_VAULT|Polyline|closed=True v4:(2296416.67,1280022.41)(2296416.67,1280028.30)(2296425.57,1280028.34)(2296425.61,1280022.42)
D8|WATER_VAULT_TEXT|DBText|@(2296428.13,1280025.36) "VAULT (1126-1129) [3] 6" BFP (FIRE)"
D9|V-WATR-STRC|Polyline|closed=True v4:(2296417.61,1280016.13)(2296417.27,1280017.76)(2296420.94,1280018.11)(2296420.97,1280016.39)
DA|WATER_VAULT_TEXT|DBText|@(2296426.20,1280017.10) "2" RPZ BFP (1122-1125) [3]"
DB|FIRE_HYDRANT|Circle|ctr(2296377.44,1280101.12) r=1.20
DC|FIRE_HYDRANT_TEXT|DBText|@(2296380.44,1280103.12) "1115 FH"
DD|FIRE_HYDRANT_VALVE|Circle|ctr(2296376.28,1280101.54) r=1.20
DE|WATER_VALVE_TEXT|DBText|@(2296379.28,1280103.54) "1116 WV"
DF|WATER_VALVE|Circle|ctr(2296380.29,1280018.48) r=1.20
E0|WATER_VALVE_TEXT|DBText|@(2296383.29,1280020.48) "1117 WV"
E1|FIRE_HYDRANT_VALVE|Circle|ctr(2296543.16,1280020.41) r=1.20
E2|WATER_VALVE_TEXT|DBText|@(2296546.16,1280022.41) "1130 WV"
E3|FIRE_HYDRANT|Circle|ctr(2296542.38,1280022.07) r=1.20
E4|FIRE_HYDRANT_TEXT|DBText|@(2296545.38,1280024.07) "1131 FH"
E5|WATER_END_CAP|Circle|ctr(2296549.94,1280052.78) r=1.20
E6|WATER_LINE_TEXT|DBText|@(2296552.94,1280054.78) "1132 6" PVC STUB"
E7|WATER_SERVICE|Circle|ctr(2296556.10,1280062.29) r=1.20
E8|WATER_LINE_TEXT|DBText|@(2296559.10,1280064.29) "1133 2" PVC LINE"
E9|WATER_SERVICE|Circle|ctr(2296560.02,1280062.86) r=1.20
EA|WATER_LINE_TEXT|DBText|@(2296563.02,1280064.86) "1134 1" BWL STUB"
EB|WATER_SERVICE|Circle|ctr(2296654.32,1280077.45) r=1.20
EC|WATER_LINE_TEXT|DBText|@(2296657.32,1280079.45) "1135 1" BWL TURN"
ED|WATER_SERVICE|Circle|ctr(2296654.82,1280081.99) r=1.20
EE|WATER_LINE_TEXT|DBText|@(2296657.82,1280083.99) "1136 1" BWL AT BLDG"
EF|WATER_SERVICE|Circle|ctr(2296563.12,1280064.91) r=1.20
F0|WATER_LINE_TEXT|DBText|@(2296566.12,1280066.91) "1137 WL MARK"
F1|WATER_SERVICE|Circle|ctr(2296595.39,1280069.34) r=1.20
F2|WATER_LINE_TEXT|DBText|@(2296598.39,1280071.34) "1138 WL MARK"
F3|WATER_LINE|Polyline|closed=False v5:(2296560.02,1280062.86)(2296563.12,1280064.91)(2296595.39,1280069.34)(2296654.32,1280077.45)(2296654.82,1280081.99)
F4|WATER_LINE_TEXT|DBText|@(2296608.72,1280077.18) "1" BLUE WL TO BLDG (SHOTS 1134-1136)"
F6|WATER_LINE|Polyline|closed=False v2:(2296376.28,1280101.54)(2296380.29,1280018.48)
F8|WATER_LINE_TEXT|DBText|@(2296447.08,1280040.92) "[7] 8" WL (FIRE) - ALIGNMENT INTERPOLATED BETWEEN SHOTS"
F9|WATER_VALVE_TEXT|DBText|@(2296380.28,1280060.01) "WM (N-S) PER WV/FH SHOTS 1115-1117"
FA|WATER_VALVE_TEXT|DBText|@(2296384.29,1280012.48) "[2] TSV ASSUMED AT TAP (WV 1117)"
FB|FIRE_HYDRANT_TEXT|DBText|@(2296546.38,1280027.07) "[5] FHA (1130/1131)"
FC|WATER_LINE_TEXT|DBText|@(2296553.94,1280057.78) "[6] 6" CAPPED PVC STUB (1132)"
FD|WATER_LINE_TEXT|DBText|@(2296484.57,1280026.94) "[4] 8"x6" REDUCER - NOT SHOT, LOCATION APPROX"
F0F|WATER_LINE|Polyline|closed=False v2:(2296380.29,1280018.48)(2296543.16,1280020.41)
F1B|WATER_LINE|Polyline|closed=False v4:(2296543.16,1280020.41)(2296556.10,1280062.29)(2296560.02,1280062.86)(2296563.12,1280064.91)
F1C|SEWER_LINE|Line|(2296691.10,1280045.90)-(2296685.40,1280052.25)
F1D|SEWER_LINE|Line|(2296652.15,1280058.09)-(2296652.51,1280046.01)
F1E|SEWER_LINE|Line|(2296604.89,1280046.15)-(2296549.94,1280052.78)
F26|SEWER_EASEMENT|Polyline|closed=True v3:(2296380.04,1279963.45)(2296506.96,1279961.62)(2296583.39,1280038.67)
F28|SEWER_LINE|Line|(2296827.27,1280096.07)-(2296877.74,1280034.32)
F29|SEWER_EASEMENT|Line|(2296829.42,1280109.23)-(2296842.18,1280093.62)
F2B|SEWER_EASEMENT|Polyline|closed=True v6:(2296379.75,1279943.45)(2296515.17,1279941.50)(2296609.05,1280036.14)(2296687.23,1280035.91)(2296713.05,1280012.57)(2296842.18,1280093.62)
F31|SEWER_LINE|Line|(2296605.51,1280056.15)-(2296541.20,1280063.90)
F3B|SEWER_LINE|Line|(2296538.81,1280044.04)-(2296541.20,1280063.90)
F3E|SEWER_EASEMENT|Polyline|closed=True v4:(2296605.51,1280056.15)(2296694.96,1280055.89)(2296715.24,1280037.56)(2296829.42,1280109.23)
F40|SEWER_LINE|Line|(2296583.39,1280038.67)-(2296538.81,1280044.04)
F46|SS-ESMT-SSE20|Site|Site
F4B|SS-ESMT-SSE20|ParcelSegment|ParcelSegment
F4C|0|Parcel|Parcel
F4D|0|ParcelSegmentLabel|ParcelSegmentLabel
F4E|0|ParcelSegmentLabel|ParcelSegmentLabel
F4F|0|ParcelSegmentLabel|ParcelSegmentLabel
F50|0|ParcelSegmentLabel|ParcelSegmentLabel
F51|0|ParcelSegmentLabel|ParcelSegmentLabel
F52|0|ParcelSegmentLabel|ParcelSegmentLabel
F53|0|ParcelSegmentLabel|ParcelSegmentLabel
F54|0|ParcelSegmentLabel|ParcelSegmentLabel
F55|0|ParcelSegmentLabel|ParcelSegmentLabel
F56|0|ParcelSegmentLabel|ParcelSegmentLabel
F57|0|ParcelSegmentLabel|ParcelSegmentLabel
F58|0|ParcelSegmentLabel|ParcelSegmentLabel
F59|0|ParcelSegmentLabel|ParcelSegmentLabel
F5A|0|ParcelSegmentLabel|ParcelSegmentLabel
F5B|0|ParcelSegmentLabel|ParcelSegmentLabel
F6E|0|ParcelSegmentTable|ParcelSegmentTable
10A1|SS-V-ROAD-CURB|Polyline|closed=False v28:(2296816.50,1280274.91)(2296814.90,1280274.57)(2296806.52,1280272.48)(2296797.93,1280267.97)(2296792.50,1280261.07)(2296790.30,1280252.25)(2296793.30,1280244.25)(2296802.11,1280240.22)(2296817.11,1280237.03)(2296817.09,1280214.91)(2296816.97,1280184.92)(2296816.86,1280166.23)(2296806.46,1280166.26)(2296802.24,1280166.10)(2296801.05,1280165.71)(2296799.41,1280163.71)(2296799.00,1280154.54)(2296776.75,1280154.82)(2296763.16,1280154.92)(2296760.39,1280154.54)(2296759.12,1280153.35)(2296758.51,1280151.67)(2296758.83,1280146.49)(2296759.76,1280144.61)(2296762.08,1280144.14)(2296776.69,1280151.76)(2296787.63,1280133.24)(2296765.24,1280119.69)
10A2|SS-V-ROAD-CURB|Polyline|closed=False v8:(2296747.74,1280099.76)(2296745.10,1280082.35)(2296720.27,1280058.54)(2296698.45,1280037.89)(2296689.46,1280037.23)(2296686.30,1280035.65)(2296684.55,1280032.40)(2296683.83,1280021.42)
10A3|SS-V-ROAD-CURB|Polyline|closed=False v2:(2296965.01,1280327.59)(2296964.74,1280330.58)
10A4|SS-V-ROAD-CURB|Polyline|closed=False v2:(2296901.70,1280325.86)(2296901.47,1280322.79)
10A5|SS-V-ROAD-CURB|Polyline|closed=False v2:(2296866.71,1280321.77)(2296866.67,1280324.82)
10A6|SS-V-ROAD-CURB|Polyline|closed=False v2:(2296795.69,1280323.80)(2296795.75,1280320.90)
10F7|ROAD_EDGE_OF_PAVEMENT|Polyline|closed=True v8:(2296809.16,1280287.35)(2296816.50,1280274.91)(2296833.57,1280277.55)(2296867.30,1280286.71)(2296898.03,1280286.47)(2296961.71,1280286.01)(2296965.32,1280367.57)(2296902.16,1280368.34)
10F8|SEWER_LINE|Line|(2296379.89,1279953.45)-(2296511.06,1279951.56)
10F9|SEWER_LINE|Line|(2296511.06,1279951.56)-(2296604.89,1280046.15)
10FA|SEWER_LINE|Line|(2296604.89,1280046.15)-(2296691.10,1280045.90)
10FB|SEWER_LINE|Line|(2296691.10,1280045.90)-(2296714.14,1280025.06)
10FC|SEWER_LINE|Line|(2296714.14,1280025.06)-(2296827.27,1280096.07)
10FD|SEWER_MANHOLE|Circle|ctr(2296877.74,1280034.32) r=2.00
10FE|SEWER_MANHOLE_TEXT|DBText|@(2296880.74,1280036.32) "SSMH 101"
10FF|SEWER_MANHOLE_TEXT|DBText|@(2296880.74,1280030.32) "SSMH MD 21.95"
1100|SEWER_MANHOLE|Circle|ctr(2296981.39,1279913.29) r=2.00
1101|SEWER_MANHOLE_TEXT|DBText|@(2296984.39,1279915.29) "SSMH 102"
1102|SEWER_MANHOLE_TEXT|DBText|@(2296984.39,1279909.29) "SSMH MD 13.96 WATER"
1103|ROAD_TEXT|DBText|@(2296357.86,1279969.95) "SPRINGDALE RD (80' R/W)"
81CA|PDF_IMPORT_ASBUILT|BlockReference|BlockReference
SNAPSHOT: 151 entities

Notes

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

No notes yet.