← Inbox

C3D-0201 · READ-ONLY: whole-drawing snapshot done

Full document snapshot: every layer with per-type entity counts and state, CogoPoints grouped by description, all model-space text, dimensions, block references with attribute values, Civil sites and parcels and labels, and every layout with viewport count and paper size. No changes.

Script file
C3D-0201.cs
Target
active document · model space
Author
claude
Approved
yes · reviewer
Timeout
300s

C# payload


// READ-ONLY WHOLE-DRAWING SNAPSHOT.
//
// The earlier "snapshot" walked only polylines/lines/arcs outside layer 0 - written for a narrow
// linework-bulge diff, not a picture of the document. This reads EVERYTHING so any question about
// the drawing can be answered from one capture. Nothing is modified.
var lt  = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
var bt  = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
var ms  = (BlockTableRecord)Tx.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(Db), OpenMode.ForRead);
Log("=== SNAPSHOT ===");
Log("drawing: " + Db.Filename);

// ---------------------------------------------------------------- layers x types
var perLayer = new Dictionary<string, Dictionary<string,int>>();
Action<string,string> bump = (lay, t) => {
    if (!perLayer.ContainsKey(lay)) perLayer[lay] = new Dictionary<string,int>();
    if (!perLayer[lay].ContainsKey(t)) perLayer[lay][t] = 0;
    perLayer[lay][t]++;
};
int model = 0, paper = 0, blockdef = 0;
foreach (ObjectId btrId in bt) {
    var btr = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
    bool isModel = btr.Name.ToUpper() == "*MODEL_SPACE";
    foreach (ObjectId id in btr) {
        Autodesk.AutoCAD.DatabaseServices.DBObject o;
        try { o = Tx.GetObject(id, OpenMode.ForRead); } catch { continue; }
        var ent = o as Autodesk.AutoCAD.DatabaseServices.Entity;
        if (ent == null) continue;
        if (isModel) model++; else if (btr.IsLayout) paper++; else blockdef++;
        string lay; try { lay = ent.Layer; } catch { continue; }
        bump(lay, o.GetType().Name);
    }
}
Log("");
Log("entities: model=" + model + "  paper=" + paper + "  blockdef=" + blockdef);

int nLayers = 0, nUsed = 0;
foreach (ObjectId lid in lt) { nLayers++; }
Log("");
Log("=== LAYERS IN USE ===");
var lnames = new List<string>(perLayer.Keys);
lnames.Sort();
foreach (var nm in lnames) {
    nUsed++;
    var parts = new List<string>();
    int tot = 0;
    foreach (var kv in perLayer[nm]) { parts.Add(kv.Key + ":" + kv.Value); tot += kv.Value; }
    string state = "";
    try {
        if (lt.Has(nm)) {
            var l = (LayerTableRecord)Tx.GetObject(lt[nm], OpenMode.ForRead);
            state = (l.IsOff ? " OFF" : "") + (l.IsFrozen ? " FROZEN" : "") + (l.IsLocked ? " LOCKED" : "");
        }
    } catch { }
    Log(String.Format("  {0,-34} n={1,-5}{2}  [{3}]", nm, tot, state, String.Join(" ", parts)));
}
Log("  layers total=" + nLayers + "  in use=" + nUsed);

// ---------------------------------------------------------------- points
var byDesc = new Dictionary<string,int>();
int npts = 0;
foreach (ObjectId id in ms) {
    var cp = Tx.GetObject(id, OpenMode.ForRead) as CogoPoint;
    if (cp == null) continue;
    npts++;
    string d = "";
    try { d = (cp.RawDescription ?? "").Trim().ToUpper(); } catch { }
    if (d.Length == 0) d = "<blank>";
    if (!byDesc.ContainsKey(d)) byDesc[d] = 0;
    byDesc[d]++;
}
Log("");
Log("=== COGO POINTS: " + npts + " ===");
var descs = new List<string>(byDesc.Keys); descs.Sort();
foreach (var d in descs) Log(String.Format("  {0,-42} {1}", d, byDesc[d]));

// ---------------------------------------------------------------- text
Log("");
Log("=== TEXT (model space) ===");
int ntext = 0;
foreach (ObjectId id in ms) {
    Autodesk.AutoCAD.DatabaseServices.DBObject o;
    try { o = Tx.GetObject(id, OpenMode.ForRead); } catch { continue; }
    string s = null; double h = 0;
    var mt = o as MText;  if (mt != null) { s = mt.Contents; h = mt.TextHeight; }
    var dt = o as DBText; if (dt != null) { s = dt.TextString; h = dt.Height; }
    if (s == null) continue;
    ntext++;
    var ent = (Autodesk.AutoCAD.DatabaseServices.Entity)o;
    Log(String.Format("  [{0}] {1,-18} h={2:F2}  \"{3}\"", o.Handle, ent.Layer, h,
        (s.Length > 70 ? s.Substring(0,70) + "..." : s).Replace("\n", " | ")));
}
Log("  model-space text: " + ntext);

// ---------------------------------------------------------------- dimensions
Log("");
Log("=== DIMENSIONS ===");
int ndim = 0;
foreach (ObjectId id in ms) {
    var dim = Tx.GetObject(id, OpenMode.ForRead) as Dimension;
    if (dim == null) continue;
    ndim++;
    double m = 0; try { m = dim.Measurement; } catch { }
    Log(String.Format("  [{0}] {1,-18} layer={2,-18} measure={3:F4}", dim.Handle, dim.GetType().Name, dim.Layer, m));
}
Log("  dimensions: " + ndim);

// ---------------------------------------------------------------- blocks + attributes
Log("");
Log("=== BLOCK REFERENCES WITH ATTRIBUTES ===");
foreach (ObjectId btrId in bt) {
    var btr = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
    foreach (ObjectId id in btr) {
        var br = Tx.GetObject(id, OpenMode.ForRead) as BlockReference;
        if (br == null || br.AttributeCollection.Count == 0) continue;
        Log("  \"" + br.Name + "\" [" + br.Handle + "] in " + btr.Name);
        foreach (ObjectId aid in br.AttributeCollection) {
            var at = Tx.GetObject(aid, OpenMode.ForRead) as AttributeReference;
            if (at != null) Log(String.Format("      {0,-22} = \"{1}\"", at.Tag, at.TextString));
        }
    }
}

// ---------------------------------------------------------------- civil objects
Log("");
Log("=== CIVIL OBJECTS ===");
var civil = CivilApplication.ActiveDocument;
try {
    foreach (ObjectId sid in civil.GetSiteIds()) {
        var site = (Site)Tx.GetObject(sid, OpenMode.ForRead);
        var pids = site.GetParcelIds();
        if (pids.Count == 0) continue;
        Log("  SITE \"" + site.Name + "\"  parcels=" + pids.Count);
        foreach (ObjectId pid in pids) {
            var p = (Parcel)Tx.GetObject(pid, OpenMode.ForRead);
            Log(String.Format("     \"{0}\" [{1}] area={2:F2} layer={3}", p.Name, p.ObjectId.Handle, p.Area, p.Layer));
        }
    }
} catch (System.Exception ex) { Log("  sites: " + ex.Message); }

int nlbl = 0;
foreach (ObjectId id in ms) {
    var l = Tx.GetObject(id, OpenMode.ForRead) as Autodesk.Civil.DatabaseServices.Label;
    if (l != null) nlbl++;
}
Log("  civil labels=" + nlbl);

// ---------------------------------------------------------------- layouts
Log("");
Log("=== LAYOUTS ===");
var ldict = (DBDictionary)Tx.GetObject(Db.LayoutDictionaryId, OpenMode.ForRead);
foreach (DBDictionaryEntry de in ldict) {
    var lay = (Layout)Tx.GetObject(de.Value, OpenMode.ForRead);
    var lbtr = (BlockTableRecord)Tx.GetObject(lay.BlockTableRecordId, OpenMode.ForRead);
    int cnt = 0, vps = 0;
    foreach (ObjectId x in lbtr) {
        cnt++;
        if (Tx.GetObject(x, OpenMode.ForRead) is Viewport) vps++;
    }
    Log(String.Format("  \"{0}\" tab={1} entities={2} viewports={3} paper={4}",
        lay.LayoutName, lay.TabOrder, cnt, vps, lay.CanonicalMediaName));
}
Log("");
Log("=== SNAPSHOT END ===");

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\260612-Springdale Sanitary Sewer Extension As-Built 60.dwg
Message
Executed C3D-0201 (0 entities touched).
Entities
Duration
880 ms
Civil 3D
25.0.0.0

Log

=== SNAPSHOT ===
drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\260612-Springdale Sanitary Sewer Extension As-Built 60.dwg

entities: model=6728  paper=250  blockdef=16819

=== LAYERS IN USE ===
  0                                  n=1281   [CogoPoint:491 Polyline:60 Viewport:3 BlockReference:3 Line:614 Circle:32 Leader:1 DBText:16 Arc:17 Wipeout:2 Hatch:25 Solid:2 Solid3d:3 Ole2Frame:3 MText:4 AttributeDefinition:5]
  A-BLDG                             n=3      [Line:3]
  BLOCK_CERT                         n=3      [MText:2 Line:1]
  BLOCK_CLOSURE                      n=46     [MText:3 DBText:19 Line:12 Polyline:4 Arc:1 Solid:4 Polyline2d:2 RasterImage:1]
  BLOCK_LEGEND                       n=25     [BlockReference:6 DBText:2 MText:1 Circle:4 Line:12]
  BLOCK_NORTH_ARROW                  n=404    [Line:360 Polyline2d:32 DBText:2 Arc:8 MText:2]
  BLOCK_SCALE                        n=80     [Line:42 DBText:12 Solid:26]
  BLOCK_TB2                          n=526    [DBText:53 Line:421 MText:8 Viewport:4 AttributeDefinition:40]
  BOUNDARY                           n=8      [Polyline:8]
  C-0-GNRL-NOTE-INDX                 n=1      [MText:1]
  C-ANNO                             n=33     [NoteLabel:19 MText:12 GeneralSegmentLabel:1 Solid:1]
  C-ANNO-CERT-LINE                   n=1      [Line:1]
  C-ANNO-TABL-TTBL                   n=6      [Site:6]
  C-PROP                             n=2      [Parcel:2]
  C-PROP-LINE                        n=1      [ParcelSegment:1]
  C-PROP-LINE-TEXT                   n=5      [ParcelSegmentLabel:5]
  Defpoints                          n=37     [DBPoint:36 Polyline:1]
  FENCE-CHAIN                        n=1      [Line:1]
  FIRE_HYDRANT                       n=45     [CogoPoint:37 Line:5 MText:1 Hatch:1 Polyline:1]
  FIRE_HYDRANT_VALVE                 n=3      [CogoPoint:3]
  G-NOTE                             n=114    [DBText:2 Line:106 Arc:2 Circle:2 AttributeDefinition:2]
  G-TTLB-HALF                        n=5      [DBText:3 AttributeDefinition:2]
  G-TTLB-LIGH                        n=5      [Line:3 Polyline:2]
  G-TTLB-THIN                        n=1      [Polyline:1]
  G-TTLB-TTF                         n=26     [AttributeDefinition:24 DBText:2]
  HORIZONTAL_AND_VERTICAL_CONTROL_POINT n=1      [CogoPoint:1]
  LS-BOULDER                         n=12     [Hatch:3 Polyline:8 BlockReference:1]
  LS-EX. TREE                        n=150    [BlockReference:2 Circle:10 Hatch:2 Polyline:1 Arc:55 Line:80]
  PDF2_0-ALIGN-SDL2-T                n=31     [Polyline:31]
  PDF2_0-PIPE-EX SS                  n=1      [Polyline:1]
  PDF2_0-PIPE-SS-A                   n=31     [Hatch:1 Polyline:11 Arc:16 Circle:3]
  PDF2_0-PIPE-SS-A-T                 n=93     [Hatch:10 Solid:10 Polyline:45 Arc:28]
  PDF2_0-PIPE-STM A                  n=32     [Polyline:32]
  PDF2_0-PIPE-STM B                  n=32     [Polyline:32]
  PDF2_0-PIPE-STM C                  n=42     [Arc:36 Circle:4 Polyline:2]
  PDF2_2015_Flood_Map_DFIRM          n=3      [Polyline:3]
  PDF2_ae_title-36x24$SEAL           n=37     [Hatch:16 Polyline:18 Circle:3]
  PDF2_ae_title-36x24$SEAL2          n=59     [Polyline:40 Arc:19]
  PDF2_ae_title-36x24$T-BD-COPY      n=469    [Hatch:377 Polyline:87 Ellipse:5]
  PDF2_ae_title-36x24$T-BD-INFO1     n=88     [Hatch:85 Polyline:3]
  PDF2_ae_title-36x24$T-BD-INFO2     n=27     [Polyline:27]
  PDF2_ae_title-36x24$T-BD-LINE      n=13     [Hatch:10 Polyline:3]
  PDF2_ae_title-36x24$T-BD-LOGO      n=84     [Hatch:72 Polyline:8 Arc:4]
  PDF2_ae_title-36x24$T-BD-PROJ      n=113    [Hatch:101 Polyline:12]
  PDF2_ae_title-36x24$T-BD-PROJ2     n=19     [Polyline:19]
  PDF2_ae_title-36x24$TBORDER        n=228    [Polyline:226 Ellipse:2]
  PDF2_ae_title-36x24$TITLE          n=45     [Hatch:15 Polyline:19 Arc:11]
  PDF2_C-ANNO                        n=31     [Solid:14 Polyline:17]
  PDF2_C-BLDG-COLS                   n=210    [Polyline:202 Arc:8]
  PDF2_C-CONC                        n=18     [Polyline:12 Circle:6]
  PDF2_C-CURB-FACE                   n=325    [Polyline:204 Arc:121]
  PDF2_C-DEMO                        n=8     FROZEN  [Hatch:8]
  PDF2_C-ESMT-BLDG-SBAK              n=12     [Hatch:2 Polyline:10]
  PDF2_C-ESMT-BLDG-SBAK-ANNO         n=2      [Hatch:2]
  PDF2_C-SIDEWALKS                   n=9      [Hatch:2 Polyline:7]
  PDF2_C-SIDEWLK-HTC                 n=477    [Polyline:477]
  PDF2_C-SIGNS                       n=8      [Polyline:4 Circle:4]
  PDF2_C-SSWR-LATS                   n=33     [Polyline:25 Circle:8]
  PDF2_C-SSWR-PIPE                   n=100    [Polyline:88 Circle:12]
  PDF2_C-SSWR-PIPE-PATT              n=71     [Solid:10 Polyline:35 Arc:6 Spline:20]
  PDF2_C-SSWR-STRC-PATT              n=38     [Solid:11 Polyline:22 Arc:3 Circle:2]
  PDF2_C-STRIPES                     n=174    [Hatch:3 Polyline:141 Arc:16 Circle:14]
  PDF2_C-STRM-CNTR                   n=94     [Hatch:69 Polyline:23 Circle:2]
  PDF2_C-WATR-ANNO                   n=29     [Polyline:29]
  PDF2_C-WATR-CNTR                   n=46     [Polyline:46]
  PDF2_C-WATR-STRC                   n=17     [Hatch:1 Polyline:16]
  PDF2_C-WATR-TEXT                   n=14     [Hatch:1 Solid:6 Polyline:7]
  PDF2_E CONCRETE                    n=2      [Polyline:1 Arc:1]
  PDF2_E EDGE PVMT                   n=2      [Polyline:2]
  PDF2_E FENCE                       n=5      [Polyline:5]
  PDF2_E GRAVEL                      n=854   FROZEN  [Polyline:854]
  PDF2_E IPF-SET                     n=50     [Circle:42 Polyline:8]
  PDF2_E POWER                       n=23     [Polyline:23]
  PDF2_E STORM                       n=7      [Polyline:7]
  PDF2_E STORM TEXT                  n=17     [Polyline:16 Ellipse:1]
  PDF2_E WALL                        n=2      [Polyline:2]
  PDF2_ESMT v2                       n=16     [Hatch:7 Polyline:9]
  PDF2_GENERAL-TEXT                  n=4      [RasterImage:1 Hatch:1 Polyline:2]
  PDF2_GRAPHIC_SCALE                 n=70     [Hatch:1 Polyline:68 Circle:1]
  PDF2_INDEX_CONTOURS                n=1164   [Polyline:1164]
  PDF2_INTER_CONTOURS                n=10730 FROZEN  [Polyline:10730]
  PDF2_Level 3                       n=2      [Circle:2]
  PDF2_NOTES                         n=1      [Polyline:1]
  PDF2_P-ESMT                        n=6     FROZEN  [Hatch:4 Polyline:2]
  PDF2_P-RW                          n=3      [Hatch:2 Polyline:1]
  PDF2_P-Setbacks                    n=1      [Polyline:1]
  PDF2_PGRADE                        n=481    [Hatch:9 Polyline:472]
  PDF2_REVISIONS                     n=3      [Arc:1 Polyline:2]
  PDF2_SWM                           n=28    FROZEN  [Polyline:24 Circle:4]
  PDF2_SWM-TXT                       n=1      [Hatch:1]
  PDF2_Text                          n=224    [MText:224]
  PDF2_TXT200                        n=62     [Hatch:62]
  PDF2_V-BNDY                        n=9      [Polyline:6 Arc:3]
  PDF2_V-BNDY-ANNO                   n=329    [Solid:5 Polyline:311 Circle:10 Ellipse:3]
  PDF2_V-ESMT                        n=3      [Polyline:3]
  PDF2_V-POWR-OVHD                   n=280    [Polyline:259 Circle:9 Ellipse:12]
  PDF2_V-RIVR-EDGE                   n=41     [Polyline:41]
  PDF2_V-ROAD-CURB                   n=239    [Hatch:1 Polyline:217 Arc:20 Circle:1]
  PDF2_V-ROAD-MRKG                   n=61     [Polyline:39 Arc:22]
  PDF2_V-SSWR                        n=16     [Polyline:16]
  PDF2_V-SSWR-ANNO                   n=10     [Solid:2 Polyline:5 Arc:2 Circle:1]
  PDF2_V-STRM-GRAT                   n=18     [Arc:18]
  PDF2_V-STRM-STRC-TEXT              n=14     [Solid:1 Polyline:13]
  PDF2_V-WATR                        n=137    [Polyline:135 Circle:2]
  PROJECT_BOUNDARY_TEXT              n=10    FROZEN  [CogoPoint:10]
  PROPERTY_LINE                      n=22     [ParcelSegment:1 Polyline:6 Line:10 Arc:4 Site:1]
  PUMP_STATION_TEXT                  n=1     FROZEN  [Polyline:1]
  ROAD_EDGE_OF_PAVEMENT              n=25     [Polyline:4 Line:20 Arc:1]
  ROAD_RIGHT-OF-WAY                  n=4      [Line:2 Polyline:1 BlockReference:1]
  SEWER_EASEMENT                     n=1      [ParcelSegment:1]
  SEWER_EASEMENT RED                 n=10    FROZEN  [Line:10]
  SEWER_EASEMENT_20                  n=1     FROZEN  [ParcelSegment:1]
  SEWER_EASEMENT_TEXT                n=12     [ParcelSegmentLabel:12]
  SEWER_LINE                         n=6      [Line:6]
  SEWER_LINE E1                      n=8     FROZEN  [Line:8]
  SEWER_LINE_TEXT                    n=14     [MText:14]
  SEWER_LINE_TEXT E1                 n=17    FROZEN  [MText:17]
  SEWER_MANHOLE                      n=6      [CogoPoint:6]
  SEWER_MANHOLE E1                   n=7     FROZEN  [CogoPoint:7]
  SEWER_MANHOLE_EXISTING             n=1      [CogoPoint:1]
  SEWER_MANHOLE_TEXT                 n=14     [MText:14]
  SEWER_MANHOLE_TEXT E1              n=12    FROZEN  [MText:7 Leader:5]
  SPDETAIL                           n=1      [DBText:1]
  SPDIMENSION                        n=108    [Line:81 Solid:18 DBText:9]
  SPOVERVIEW                         n=1      [DBText:1]
  SPPAINT                            n=2093   [Line:2093]
  SPSHAPE_OUTLINE                    n=79     [Line:79]
  SS-0-FRAME                         n=32    FROZEN  [CogoPoint:9 Polyline:10 ParcelSegmentLabel:3 MText:2 Line:6 Hatch:1 Ole2Frame:1]
  SS-BOUNDARY                        n=10    FROZEN  [Site:2 Polyline:2 Parcel:1 MText:1 Arc:1 Line:3]
  SS-BOUNDARY ANGEL                  n=34     [DBText:8 Line:13 Polyline:4 Arc:1 Solid:4 Polyline2d:2 MText:2]
  SS-BOUNDARY BLUE                   n=5      [Line:4 Arc:1]
  SS-BOUNDARY CYAN                   n=2      [Line:2]
  SS-BOUNDARY MAG                    n=1      [Arc:1]
  SS-BOUNDARY_PTS                    n=1      [MText:1]
  SS-CL OF CREEK                     n=1      [Polyline:1]
  SS-ROAD-BUILDING                   n=1      [Polyline:1]
  SS-ROAD-CANOPY                     n=1      [Polyline:1]
  SS-ROAD-CL                         n=8      [Polyline:5 Line:2 Arc:1]
  SS-ROAD-DUMPSTER                   n=1      [Polyline:1]
  SS-ROAD-SIDEWALK                   n=2      [Polyline:2]
  SS-ROAD-STRIPE                     n=55     [Polyline:47 Line:8]
  SS-ROAD-TBC                        n=75    FROZEN  [Polyline:53 Arc:8 Line:14]
  SS-V-BLDG-OTLN                     n=36     [Line:35 Polyline:1]
  SS-V-BRKL-TOP                      n=2      [FeatureLine:1 Line:1]
  SS-V-ROAD-CURB                     n=87     [Line:34 BlockReference:1 Circle:1 MText:13 AlignedDimension:12 Polyline:2 Solid:24]
  SS-X-FENCE WOOD                    n=6      [Polyline:2 Line:4]
  TREES                              n=1      [DBText:1]
  V-CTRL-HCPT                        n=1      [BlockReference:1]
  V-CTRL-LINE-SHOT                   n=2      [Leader:2]
  V-CTRL-TEXT                        n=2      [MText:2]
  V-NODE-STRM                        n=2      [BlockReference:2]
  V-NODE-WATR                        n=3      [BlockReference:2 Line:1]
  WATER_LINE                         n=8      [CogoPoint:6 Polyline:1 Line:1]
  WATER_LINE_PTS                     n=25    FROZEN  [CogoPoint:25]
  WATER_LINE_TEXT                    n=3      [NoteLabel:3]
  WATER_VALVE                        n=5      [CogoPoint:5]
  WATER_VAULT                        n=4      [Polyline:4]
  www.cadblocksfree.com              n=23     [Polyline:1 Ole2Frame:2 Line:15 Arc:3 BlockReference:2]
  X-PROP-CRNR                        n=1      [Circle:1]
  X-STRM-STRC                        n=1      [Polyline:1]
  layers total=491  in use=160

=== COGO POINTS: 568 ===
  <blank>                                    1
  1 IN BLUE WATER LINE STUB                  1
  1 IN WATER LINE                            1
  18 CON PIPEINV 6.1 TO TOP OF BOX           1
  2 IN  PVC LINE                             1
  2 IN RPZ BFP  COR                          4
  24IN RIDGED INV 9.42 WITH SILT             1
  24IN RIDGED PIPE INV TO 18 PIPE INV 5.3 BOT 11.1 1
  2X1 TRAFIC SIG BX                          1
  40EASEMENT                                 2
  6 IN BOL                                   19
  6 IN PVC STUB                              1
  AC                                         5
  BLDG COR  SW                               4
  BLDG COR CON TBC START                     1
  BOX COR                                    3
  CL                                         23
  CL YELLOW LINE SPLITS                      1
  CLEAN OUT                                  5
  CON                                        3
  CON COR CANOPY                             2
  CON EP                                     9
  CON EP CANOPY                              2
  CON PAD                                    8
  CON PAD VAULT                              1
  CON VAC\AIR                                1
  CROSS WALK SIG                             1
  CURB CUT BACK CON  GUTTER                  5
  DI                                         7
  DI 18 CON PIPE INV 4.73                    1
  DI 18 METAL PIPE INV 3.73                  1
  DI 18 METAL PIPE INV 3.95                  1
  DI 18 PIPE INV 3.4                         1
  DI 2FT ROUND INV 10.11                     1
  DI INV BOT 5.08 18 CON PIPE                1
  DOT SIG BOX 4X4                            1
  DUMP STER COR                              3
  DUMPSTER COR TBC                           1
  EDG GRAV RD                                6
  ELEC POWERBMETER AND STUT OFF              1
  ELEC STUB                                  4
  END CON                                    2
  EP                                         37
  EP CON                                     2
  EP CON COR                                 4
  EP DUMPSTER WALL                           1
  EP TBC                                     1
  FH                                         4
  G RAIL                                     4
  G WIRE                                     5
  GREASE TRAP                                5
  GREASE TRAP 6 PVC 6.52 INV 7.77            1
  GREASE TRAP ASPHALT OVER                   1
  GUTTER                                     3
  GUTTER END TBC                             1
  H CAP SIGN                                 2
  HANDY CAP                                  2
  HC07-05                                    1
  HC07-06                                    1
  IPF                                        5
  LAT                                        1
  MAIN VAVLE                                 1
  OHP                                        5
  P STRIPE                                   9
  P STRIPE CON EP                            8
  P STRIPE SW                                7
  PP                                         1
  PP AND ELECT STUB                          1
  R/W                                        3
  RAMP                                       4
  RT LANE BIKE ONLY SIGN                     1
  SIG POLE                                   1
  SIGN                                       1
  SSMH A1                                    1
  SSMH A10                                   1
  SSMH A12                                   1
  SSMH A14                                   1
  SSMH A16                                   1
  SSMH A2                                    1
  SSMH A3                                    1
  SSMH A4                                    1
  SSMH A5                                    1
  SSMH A6                                    1
  SSMH A9                                    1
  SSMH MAIN                                  1
  SSMH TEST MH                               2
  SW                                         6
  SW  P STRIPE                               8
  SW BLDG LINE                               1
  SW COR                                     2
  SW END                                     2
  SW RAMP                                    4
  SW TBC COR                                 1
  TBC                                        152
  TBC COR                                    1
  TBC DUMP WALL                              1
  TBC DWY                                    2
  TBC END                                    2
  TBC END EP                                 4
  TBC EP                                     2
  TBC SW                                     3
  TBC SW COR                                 2
  TBC SW CROSS WALK                          2
  TBC SW WATER TO BLDG                       1
  TBC WALL                                   4
  TBM                                        1
  TRAFFIC SIG BX                             2
  TURN LANE                                  6
  TURNING LANE                               3
  UTIL POLE                                  1
  VAULT                                      4
  VAULT COR                                  6
  WATER                                      1
  WATER LINE                                 13
  WATER LINE   AT CROSS WALK                 1
  WATER LINE  AT CROSS WALK                  1
  WATER LINE  MARK FOR NEW LINE TO BLDG      1
  WATER LINE STUB                            2
  WATER LINE TO BLDG                         1
  WATER STUB                                 1
  WATER V STUB                               1
  WATER VAULT                                2
  WHITE LINE                                 14
  WHITE LINE END                             1
  WHITE LINE ENDS                            1
  WHITE LINE TURNING LANE                    2
  WV                                         8
  WV STUB                                    1
  YELLOW LINE                                18

=== TEXT (model space) ===
  [2E2E5] PDF2_Text          h=4.00  "30' S.S.E."
  [2E305] SS-0-FRAME         h=5.03  "FFE:728.5"
  [2E306] SEWER_LINE_TEXT E1 h=3.02  "C-STORE"
  [2E308] SS-0-FRAME         h=3.02  "F.F.E.=728.50"
  [2ED70] SEWER_MANHOLE_TEXT E1 h=4.00  "MH  A16\PRIM  751.17\POUT  742.77"
  [2ED72] SEWER_MANHOLE_TEXT E1 h=4.00  "MH  A14\PRIM  734.14\PIN   722.02\POUT  721.82"
  [2ED74] SEWER_MANHOLE_TEXT E1 h=4.00  "MH  A12\PRIM  727.40\PIN   718.08\POUT  717.88"
  [2ED76] SEWER_MANHOLE_TEXT E1 h=4.00  "TEST MH\PRIM  727.72\PIN   719.83\POUT  719.73"
  [2ED78] SEWER_MANHOLE_TEXT E1 h=4.00  "TEST MH\PRIM  727.68\PIN   718.33\POUT  718.13"
  [2ED7A] SEWER_MANHOLE_TEXT E1 h=4.00  "MH  A10\PRIM  727.55\PIN   717.37\POUT  717.17"
  [2ED7C] SEWER_MANHOLE_TEXT E1 h=4.00  "MH  A9\PRIM  726.97\PIN   714.42\POUT  714.22"
  [2ED7E] SEWER_MANHOLE_TEXT h=4.00  "MH  A6\PRIM  724.78\PIN   712.49\POUT  712.49"
  [2ED80] SEWER_MANHOLE_TEXT h=4.00  "MH  A5\PRIM  721.41\PIN   699.94\POUT  699.56"
  [2ED82] SEWER_MANHOLE_TEXT h=4.00  "MH  A4\PRIM  691.53\PIN   679.57\POUT  677.97"
  [2ED84] SEWER_MANHOLE_TEXT h=4.00  "MH  A3\PRIM  682.94\PIN   673.80\POUT  673.74"
  [2ED86] SEWER_MANHOLE_TEXT h=4.00  "MH  A2\PRIM  688.33\PIN   673.34\POUT  673.34"
  [2ED88] SEWER_MANHOLE_TEXT h=4.00  "MH  A1\PRIM  687.05\PIN   672.41\POUT  672.31"
  [2ED8A] SEWER_MANHOLE_TEXT h=4.00  "EXISTING MH 384\PRIM  686.70\PIN   671.84\POUT  671.23"
  [2EDAC] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDB0] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDB4] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDB8] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDBC] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDF8] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDFA] SEWER_MANHOLE_TEXT h=3.60  "\A1;"
  [2EDFF] V-CTRL-TEXT        h=4.00  "S43\U+00B0 30' 29"E 9725.42 TO CC HC07-06"
  [2EE01] V-CTRL-TEXT        h=4.00  "S12\U+00B0 39' 08"W 11339.24 TO CC HC07-05"
  [2EED8] PDF2_Text          h=4.00  "20' S.S.E."
  [2EF4E] SEWER_LINE_TEXT E1 h=3.00  "12.07'"
  [2EF4F] SEWER_LINE_TEXT E1 h=3.00  "132.52' - 8" PVC"
  [2EF50] SEWER_LINE_TEXT E1 h=3.00  "133.21' - 8" PVC"
  [2EF51] SEWER_LINE_TEXT E1 h=3.00  "55.14'"
  [2EF52] SEWER_LINE_TEXT E1 h=3.00  "86.31' - 8" PVC"
  [2EF53] SEWER_LINE_TEXT E1 h=3.00  "30.97'"
  [2EF54] SEWER_LINE_TEXT E1 h=3.00  "133.46' - 8" PVC"
  [2EF55] SEWER_LINE_TEXT    h=3.00  "80.46' - 60' PVC / 20' DIP"
  [2EF56] SEWER_LINE_TEXT    h=3.00  "161.58' - 60' DIP / 100' PVC"
  [2EF57] SEWER_LINE_TEXT    h=3.00  "359.02' - 8" PVC"
  [2EF58] SEWER_LINE_TEXT    h=3.00  "80.02' - DIP"
  [2EF59] SEWER_LINE_TEXT    h=3.00  "155.37' - 8" PVC"
  [2EF5A] SEWER_LINE_TEXT    h=3.00  "19.54'"
  [2EF5B] SEWER_LINE_TEXT E1 h=3.00  "8.66'"
  [2EF5D] SEWER_LINE_TEXT E1 h=3.00  "15.66%"
  [2EF5E] SEWER_LINE_TEXT E1 h=3.00  "2.81%"
  [2EF60] SEWER_LINE_TEXT E1 h=3.00  "0.59%"
  [2EF61] SEWER_LINE_TEXT E1 h=3.00  "8.89%"
  [2EF62] SEWER_LINE_TEXT E1 h=3.00  "1.29%"
  [2EF63] SEWER_LINE_TEXT    h=3.00  "15.60%"
  [2EF64] SEWER_LINE_TEXT    h=3.00  "12.37%"
  [2EF65] SEWER_LINE_TEXT    h=3.00  "1.16%"
  [2EF66] SEWER_LINE_TEXT    h=3.00  "0.50%"
  [2EF67] SEWER_LINE_TEXT    h=3.00  "0.60%"
  [2EF68] SEWER_LINE_TEXT    h=3.00  "2.41%"
  [2EF69] SEWER_LINE_TEXT E1 h=3.00  "2.25%"
  [2F490] SEWER_LINE_TEXT E1 h=3.02  "CANOPY"
  [2F76B] SEWER_LINE_TEXT E1 h=3.00  "8" PVC"
  [2F7B8] SEWER_LINE_TEXT    h=3.00  "PVC"
  [2F80A] C-ANNO             h=6.00  "{\fSimplex|b0|i1|c0|p2;WOOLFE CREEK DR | 60' R/W - UNPAVED}"
  [2F8B8] PDF2_Text          h=4.00  "30' S.S.E."
  [2F9D9] C-ANNO             h=3.00  "N/F\PHIGH END INVESTMENTS CORP\P\PPARCEL ID\P087-02010007"
  [2FA68] C-ANNO             h=3.00  "N/F\PSHINN MIA KATHARINE\P\PPARCEL ID\P087-02010003"
  [2FA70] C-ANNO             h=3.00  "N/F\PBARKER STAN\P\PPARCEL ID\P087-02010004"
  [2FA78] C-ANNO             h=3.00  "N/F\PMONTGOMERY STREET HOMES LLC\P\PPARCEL ID\P087-02010002"
  [2FA80] C-ANNO             h=3.00  "N/F\PHOLLAND JOE CARNEY\P\PPARCEL ID\P087-02010001"
  [2FA88] C-ANNO             h=3.00  "N/F\P3 STAR PROPERTIES LLC\P\PPARCEL ID\P087-02010006"
  [2FA96] C-ANNO             h=3.00  "N/F\PEVERGREEN SPRINGDALE LLC\P\PPARCEL ID\P087-02010000"
  model-space text: 66

=== DIMENSIONS ===
  dimensions: 0

=== BLOCK REFERENCES WITH ATTRIBUTES ===
  "SS_BLOCK_11X17" [23273] in *Paper_Space
      JOB_NO                 = "JOB NO.: 260612"
      SITE_ADDRESS           = "5000 EAST LAKE PKWY, STOCKBRIDGE, GA 30281"
      REF_DB_PG              = ""
      LAND_LOT               = "LAND LOT: 4"
      DISTRICT               = "DISTRICT: 11TH"
      COUNTY                 = "COUNTY: HENRY"
      DATE                   = "DATE: 07/31/26"
      SUBDIVISION_NAME_LOT   = ""
      PREP_FOR               = "CIVILWORKS"
      SURVEY_TYPE            = " Springdale Sanitary Sewer Extension As-Built"

=== CIVIL OBJECTS ===
  SITE "OG 20' EASEMENT"  parcels=1
     "Basic : 5" [2F0E0] area=11557.31 layer=SS-BOUNDARY
  SITE "SEWER EASEMENT 2"  parcels=1
     "SEWER EASEMENT 2" [2FAFC] area=17712.98 layer=C-PROP
  SITE "PROPERTY LINE"  parcels=1
     "PARCEL ID 087-02010000" [2E1EC] area=178277.49 layer=C-PROP
  civil labels=25

=== LAYOUTS ===
  "11X17" tab=1 entities=1 viewports=1 paper=ANSI_full_bleed_B_(11.00_x_17.00_Inches)
  "22X17" tab=2 entities=249 viewports=2 paper=ANSI_full_bleed_C_(22.00_x_17.00_Inches)
  "Model" tab=0 entities=6728 viewports=0 paper=ANSI_expand_B_(17.00_x_11.00_Inches)

=== SNAPSHOT END ===

Notes

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

No notes yet.