← Inbox

C3D-0242 · 260714 Huckaby: read the existing layouts before building 17X11 done

READ-ONLY. Every layout with paper size, viewports (scale, lock, frozen layers), title block attributes and paper-space content, to plan a landscape 17X11 sheet.

Script file
C3D-0242.cs
Target
260714 - 285 Huckaby Rd.dwg · model space
Author
claude
Approved
yes · auto-auth
Timeout
60s

C# payload

// READ-ONLY: full read of every paper-space layout - viewports (scale, on/off, frozen layers),
// title block attributes, and everything drawn in paper space.
var lm = LayoutManager.Current;
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
foreach (ObjectId btrId in bt) {
    var btr = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
    if (!btr.IsLayout) continue;
    var lay = (Layout)Tx.GetObject(btr.LayoutId, OpenMode.ForRead);
    if (lay.LayoutName == "Model") continue;
    Log("");
    Log("=== LAYOUT \"" + lay.LayoutName + "\" tab=" + lay.TabOrder + " ===");
    Log(string.Format("  paper: {0}  plotstyle={1}  units={2}",
        lay.CanonicalMediaName, lay.CurrentStyleSheet, lay.PlotPaperUnits));
    var ext = lay.PlotPaperMargins;
    Log(string.Format("  plot area: {0}   rotation={1}", lay.PlotType, lay.PlotRotation));

    int vpn = 0, ents = 0;
    foreach (ObjectId id in btr) {
        Autodesk.AutoCAD.DatabaseServices.DBObject o;
        try { o = Tx.GetObject(id, OpenMode.ForRead); } catch { continue; }
        ents++;
        var vp = o as Viewport;
        if (vp != null) {
            vpn++;
            if (vp.Number == 1) { Log("  VP#1 (paper background)"); continue; }
            double sc = 0;
            try { sc = vp.CustomScale; } catch { }
            Log(string.Format("  VIEWPORT n={0} on={1} locked={2} center=({3:F2},{4:F2}) size={5:F2}x{6:F2}",
                vp.Number, vp.On, vp.Locked, vp.CenterPoint.X, vp.CenterPoint.Y, vp.Width, vp.Height));
            Log(string.Format("     view center=({0:F2},{1:F2}) height={2:F2}  customScale={3:F6}  => 1\"={4:F2}'",
                vp.ViewCenter.X, vp.ViewCenter.Y, vp.ViewHeight, sc, sc > 0 ? 1.0 / sc : 0));
            try {
                var fl = vp.GetFrozenLayers();
                if (fl != null && fl.Count > 0) {
                    var names = new List<string>();
                    foreach (ObjectId lid in fl) {
                        var ltr = (LayerTableRecord)Tx.GetObject(lid, OpenMode.ForRead);
                        names.Add(ltr.Name);
                    }
                    names.Sort();
                    Log("     VP-frozen (" + names.Count + "): " + string.Join(", ", names));
                }
            } catch (System.Exception e) { Log("     frozen: " + e.Message); }
            continue;
        }
        var br = o as BlockReference;
        if (br != null) {
            string nm = br.Name;
            try { if (br.IsDynamicBlock) nm = ((BlockTableRecord)Tx.GetObject(br.DynamicBlockTableRecord, OpenMode.ForRead)).Name; } catch { }
            Log(string.Format("  BLOCK \"{0}\" [{1}] at ({2:F2},{3:F2}) scale={4:F3} layer={5}",
                nm, br.Handle, br.Position.X, br.Position.Y, br.ScaleFactors.X, br.Layer));
            foreach (ObjectId aid in br.AttributeCollection) {
                var ar = Tx.GetObject(aid, OpenMode.ForRead) as AttributeReference;
                if (ar != null) Log(string.Format("      {0,-22} = \"{1}\"", ar.Tag, ar.TextString));
            }
            continue;
        }
        var mt = o as MText;
        if (mt != null) { Log(string.Format("  MTEXT [{0}] {1} h={2:F2} \"{3}\"", mt.Handle, mt.Layer, mt.TextHeight, mt.Contents.Replace("\n"," "))); continue; }
        var dt = o as DBText;
        if (dt != null) { Log(string.Format("  TEXT  [{0}] {1} h={2:F2} \"{3}\"", dt.Handle, dt.Layer, dt.Height, dt.TextString)); continue; }
    }
    Log("  entities=" + ents + " viewports=" + vpn);
}

Result

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

Log


=== LAYOUT "11X17" tab=1 ===
  paper: ANSI_full_bleed_B_(11.00_x_17.00_Inches)  plotstyle=monochrome.ctb  units=Inches
  plot area: Layout   rotation=Degrees000
  VP#1 (paper background)
  TEXT  [157FA] BLOCK_NORTH_ARROW h=0.08 "GA W.GRID"
  MTEXT [1592B] BLOCK_NOTES_FLOOD h=0.06 "NOTE: PROPERTY LINES SHOWN ON THIS SURVEY/PLAT  REPRESENT PHYSICAL FIELD CONDITIONS BY EVIDENCE OF APPARENT POSSESSION (IRON PINS FOUND, OLD & ESTABLISHED FENCE LINES, OLD WALL LINES, SHRUB & HEDGE LINE, HOUSE LOCATIONS, ETC.) THEY MAY DIFFER AND BE IN CONTENTION FROM EVIDENCE FOUND AT THE APPLICABLE COUNTY COURTHOUSE. THEY MAY ALSO DIFFER FROM OTHER SURVEYOR OPINIONS  AND/OR NEIGHBORS SURVEYS/PLATS. A FULL LAND TITLE REPORT OPINION ON ALL PROPERTIES, INCLUDING ADJACENT AND CONTIGUOUS PROPERTIES MAY BE NEEDED TO RESOLVE ALL POSSIBLE PROPERTY LINE DISPUTES OR DISCREPANCIES.\P\PTHIS SURVEY WAS MADE WITHOUT THE BENEFIT OF A CURRENT TITLE COMMITMENT. EASEMENTS AND ENCUMBRANCES MAY EXIST WHICH BENEFIT AND BURDEN THIS PROPERTY. THIS SURVEY IS SUBJECT TO REVISIONS AND UPDATE UPON RECEIPT OF SAID TITLE COMMITMENT."
  TEXT  [1660E] BLOCK_CLOSURE h=0.06 "Call FREE"
  TEXT  [1660F] BLOCK_CLOSURE h=0.06 "325-5000"
  TEXT  [16610] BLOCK_CLOSURE h=0.08 "UTILITIES PROTECTION CENTER"
  TEXT  [16611] BLOCK_CLOSURE h=0.06 "THROUGHOUT GEORGIA"
  TEXT  [16612] BLOCK_CLOSURE h=0.06 "IN METRO ATLANTA"
  TEXT  [16613] BLOCK_CLOSURE h=0.06 "1-800-282-7411"
  TEXT  [16614] BLOCK_CLOSURE h=0.06 "THREE WORKING DAYS BEFORE YOU DIG"
  MTEXT [1664C] BLOCK_CLOSURE h=0.08 "FIELD CLOSURE=1'IN 20,000+ \PANGLE POINT ERROR=< 03" \PEQUIPMENT USED=GPS/TOTAL STATION \PADJUSTMENT METHOD=COMPASS RULE\PPLAT CLOSURE=1'IN 100,000+"
  VIEWPORT n=2 on=True locked=True center=(5.49,8.52) size=10.55x16.37
     view center=(1036448.40,465018.49) height=532.00  customScale=0.030776  => 1"=32.49'
  BLOCK "SS_LEGEND" [1FDBA] at (10.82,13.15) scale=1.000 layer=SS-BOUNDARY
  TEXT  [20955] BLOCK_CLOSURE h=0.06 "VICINITY MAP (NOT TO SCALE)"
  BLOCK "SS_BLOCK_11X17" [20B53] at (10.81,0.29) scale=1.000 layer=BLOCK_TB2
      JOB_NO                 = "JOB NO.: 260714"
      SITE_ADDRESS           = "285 Huckaby Rd, Brooks, GA 30205, USA"
      REF_DB_PG              = "REF DB 5857 Page 692"
      LAND_LOT               = "LAND LOT: 124"
      DISTRICT               = "DISTRICT: 4th"
      COUNTY                 = "COUNTY: Fayette"
      DATE                   = "DATE: 08/13/26"
      SUBDIVISION_NAME_LOT   = ""
      PREP_FOR               = "JOY EWING"
      SURVEY_TYPE            = "Boundary Survey"
      FIRM_PANEL             = "13113C0155E,"
      FIRM_DATE              = "EFFECTIVE SEPTEMBER 26, 2008,"
      FLOOD_ZONE             = "AND LIES IN ZONE X."
  entities=141 viewports=2

=== LAYOUT "HOUSEDIM" tab=2 ===
  paper: ANSI_full_bleed_B_(11.00_x_17.00_Inches)  plotstyle=monochrome.ctb  units=Inches
  plot area: Layout   rotation=Degrees000
  VIEWPORT n=-1 on=False locked=False center=(28.28,8.74) size=69.82x18.99
     view center=(28.28,8.74) height=18.99  customScale=1.000000  => 1"=1.00'
  VIEWPORT n=-1 on=False locked=True center=(5.50,8.53) size=10.57x16.39
     view center=(2354969.39,1490786.39) height=327.81  customScale=0.050000  => 1"=20.00'
  MTEXT [1E65E] BLOCK_TB2 h=0.09 "ALL MATTERS OF TITLE ARE EXCEPTED. THIS PLAT IS SUBJECT TO ALL LEGAL EASEMENTS AND RIGHTS-OF-WAY PUBLIC OR PRIVATE."
  TEXT  [1E665] BLOCK_TB2 h=0.12 "SCALE: GRAPHIC"
  TEXT  [1E667] BLOCK_TB2 h=0.12 "COUNTY: DEKALB"
  TEXT  [1E668] BLOCK_TB2 h=0.12 "DISTRICT: 15TH"
  TEXT  [1E669] BLOCK_TB2 h=0.12 "LAND LOT: 135"
  TEXT  [1E66B] BLOCK_TB2 h=0.12 "JOB NO.: 250803"
  TEXT  [1E66C] BLOCK_TB2 h=0.12 "DATE: 08/22/25"
  TEXT  [1E66E] BLOCK_TB2 h=0.08 "PREPARED FOR:"
  TEXT  [1E670] BLOCK_TB2 h=0.19 "BOUNDARY SURVEY   "
  TEXT  [1E671] BLOCK_TB2 h=0.10 "GRAPHIC  SCALE"
  TEXT  [1E6AD] BLOCK_TB2 h=0.10 "20   10    0          20"
  TEXT  [1E6D4] BLOCK_NORTH_ARROW h=0.08 "GA W.GRID"
  MTEXT [1E7AB] BLOCK_TB2 h=0.05 "FLOOD NOTE:\PTHIS PROPERTY IS NOT IN AN AREA HAVING SPECIAL FLOOD AS PER COMMUNITY PANEL NO. 13089C0132J, DATED MAY 16th 2013."
  MTEXT [1E7AC] BLOCK_TB2 h=0.15 "KEYSTONE DEVELOPMENT SOLUTIONS LLC"
  TEXT  [1E7AD] BLOCK_TB2 h=0.24 "SAWHNEY & ASSOCIATES"
  TEXT  [1E7AE] BLOCK_TB2 h=0.11 "523 HASTINGS WAY"
  TEXT  [1E7AF] BLOCK_TB2 h=0.11 "JONESBORO GA 30238"
  TEXT  [1E7B0] BLOCK_TB2 h=0.08 "PH.# (678)478-6857"
  TEXT  [1E7B2] SS-BOUNDARY LAND LOT h=0.09 "LEGEND"
  MTEXT [1E7B3] SS-BOUNDARY LAND LOT h=0.10 "IPF IRON PIN FOUND \PIPP IRON PIN PROPOSED\PR/W RIGHT OF WAY\PRWM RIGHT OF WAY MARKER \PMAG MAGNETIC \PPOB POINT OF BEGINNING\PPOC POINT OF COMMENCEMENT\PB/L BUILDING LINE \PD.E. DRAINAGE EASEMENT\PN/F NOW OR FORMERLY \PL.L. LAND LOT\PPP POWER POLE    \P   DROP INLET\P   WATER VALVE\P   SEWER MANHOLE\P   FIRE HYDRANT\P   ELELVATION POINT\P   PROPERTY CORNER\P   FENCE"
  BLOCK "Water Valve" [1E7B4] at (0.50,14.16) scale=0.698 layer=V-NODE-WATR
  BLOCK "Catch Basin" [1E7B5] at (0.50,14.35) scale=1.250 layer=V-NODE-STRM
  BLOCK "Drainage MH" [1E7B6] at (0.50,14.03) scale=1.000 layer=V-NODE-STRM
  BLOCK "Existing Hyd" [1E7B7] at (0.50,13.89) scale=0.723 layer=V-NODE-WATR
  BLOCK "STA" [1E7B8] at (0.50,13.70) scale=0.083 layer=V-CTRL-HCPT
  MTEXT [1E7BA] BLOCK_TB2 h=0.12 "0.25 ACRES"
  TEXT  [1E7BE] BLOCK_STAMP h=0.07 "A"
  TEXT  [1E7BF] BLOCK_STAMP h=0.07 "A"
  TEXT  [1E7C0] BLOCK_STAMP h=0.07 "N"
  TEXT  [1E7C1] BLOCK_STAMP h=0.07 "N"
  TEXT  [1E7C2] BLOCK_STAMP h=0.07 "O"
  TEXT  [1E7C3] BLOCK_STAMP h=0.07 "O"
  TEXT  [1E7C4] BLOCK_STAMP h=0.07 "E"
  TEXT  [1E7C5] BLOCK_STAMP h=0.07 "E"
  TEXT  [1E7C6] BLOCK_STAMP h=0.10 "G."
  TEXT  [1E7C7] BLOCK_STAMP h=0.07 "S"
  TEXT  [1E7C8] BLOCK_STAMP h=0.07 "S"
  TEXT  [1E7C9] BLOCK_STAMP h=0.07 "D"
  TEXT  [1E7CA] BLOCK_STAMP h=0.07 "D"
  TEXT  [1E7CB] BLOCK_STAMP h=0.10 "A"
  TEXT  [1E7CC] BLOCK_STAMP h=0.10 "S"
  TEXT  [1E7CD] BLOCK_STAMP h=0.10 "L."
  TEXT  [1E7CE] BLOCK_STAMP h=0.07 "U"
  TEXT  [1E7CF] BLOCK_STAMP h=0.07 "R"
  TEXT  [1E7D0] BLOCK_STAMP h=0.07 "R"
  TEXT  [1E7D1] BLOCK_STAMP h=0.07 "U"
  TEXT  [1E7D2] BLOCK_STAMP h=0.07 "V"
  TEXT  [1E7D3] BLOCK_STAMP h=0.07 "V"
  TEXT  [1E7D4] BLOCK_STAMP h=0.10 "H"
  TEXT  [1E7D5] BLOCK_STAMP h=0.10 "W"
  TEXT  [1E7D6] BLOCK_STAMP h=0.10 "Y"
  TEXT  [1E7D7] BLOCK_STAMP h=0.10 "E"
  TEXT  [1E7D8] BLOCK_STAMP h=0.07 "Y"
  TEXT  [1E7D9] BLOCK_STAMP h=0.07 "Y"
  TEXT  [1E7DA] BLOCK_STAMP h=0.10 "N"
  TEXT  [1E7DC] BLOCK_STAMP h=0.07 "E"
  TEXT  [1E7DD] BLOCK_STAMP h=0.07 "PROFESSIONAL"
  TEXT  [1E7DE] BLOCK_STAMP h=0.07 "PROFESSIONAL"
  TEXT  [1E7DF] BLOCK_STAMP h=0.07 "PROFESSIONAL"
  TEXT  [1E7E0] BLOCK_STAMP h=0.07 "PROFESSIONAL"
  TEXT  [1E7E1] BLOCK_STAMP h=0.07 "PROFESSIONAL"
  TEXT  [1E7E2] BLOCK_STAMP h=0.07 "No. 2547"
  TEXT  [1E7E3] BLOCK_STAMP h=0.07 "L"
  TEXT  [1E7E4] BLOCK_STAMP h=0.07 "L"
  TEXT  [1E7E5] BLOCK_STAMP h=0.10 "G"
  TEXT  [1E7EA] BLOCK_STAMP h=0.07 "E"
  TEXT  [1E7EB] BLOCK_STAMP h=0.07 "G"
  TEXT  [1E7EC] BLOCK_STAMP h=0.07 "R"
  TEXT  [1E7ED] BLOCK_STAMP h=0.07 "R"
  TEXT  [1E7EE] BLOCK_STAMP h=0.10 "E"
  TEXT  [1E7EF] BLOCK_STAMP h=0.07 "I"
  TEXT  [1E7F0] BLOCK_STAMP h=0.10 "O"
  TEXT  [1E7F1] BLOCK_STAMP h=0.07 "E"
  TEXT  [1E7F2] BLOCK_STAMP h=0.07 "S"
  TEXT  [1E7F3] BLOCK_STAMP h=0.07 "T"
  TEXT  [1E7F4] BLOCK_STAMP h=0.10 "R"
  TEXT  [1E7F5] BLOCK_STAMP h=0.10 "G"
  TEXT  [1E7F6] BLOCK_STAMP h=0.07 "R"
  TEXT  [1E7F7] BLOCK_STAMP h=0.07 "R"
  TEXT  [1E7F8] BLOCK_STAMP h=0.07 "D"
  TEXT  [1E7F9] BLOCK_STAMP h=0.10 "A"
  TEXT  [1E7FA] BLOCK_STAMP h=0.10 "I"
  MTEXT [1E803] TEXT h=0.06 "NOTE: PROPERTY LINES SHOWN ON THIS SURVEY/PLAT  REPRESENT PHYSICAL FIELD CONDITIONS BY EVIDENCE OF APPARENT POSSESSION (IRON PINS FOUND, OLD & ESTABLISHED FENCE LINES, OLD WALL LINES, SHRUB & HEDGE LINE, HOUSE LOCATIONS, ETC.) THEY MAY DIFFER AND BE IN CONTENTION FROM EVIDENCE FOUND AT THE APPLICABLE COUNTY COURTHOUSE. THEY MAY ALSO DIFFER FROM OTHER SURVEYOR OPINIONS  AND/OR NEIGHBORS SURVEYS/PLATS. A FULL LAND TITLE REPORT OPINION ON ALL PROPERTIES, INCLUDING ADJACENT AND CONTIGUOUS PROPERTIES MAY BE NEEDED TO RESOLVE ALL POSSIBLE PROPERTY LINE DISPUTES OR DISCREPANCIES.\P\PTHIS SURVEY WAS MADE WITHOUT THE BENEFIT OF A CURRENT TITLE COMMITMENT. EASEMENTS AND ENCUMBRANCES MAY EXIST WHICH BENEFIT AND BURDEN THIS PROPERTY. THIS SURVEY IS SUBJECT TO REVISIONS AND UPDATE UPON RECEIPT OF SAID TITLE COMMITMENT."
  MTEXT [1E806] BLOCK_TB2 h=0.12 "REF PB 28 PG 151"
  TEXT  [1E807] SS-BOUNDARY LAND LOT h=0.08 "VICINITY MAP (NOT TO SCALE)"
  TEXT  [1E808] SS-BOUNDARY LAND LOT h=0.06 "Call FREE"
  TEXT  [1E809] SS-BOUNDARY LAND LOT h=0.06 "325-5000"
  TEXT  [1E80A] SS-BOUNDARY LAND LOT h=0.08 "UTILITIES PROTECTION CENTER"
  TEXT  [1E80B] SS-BOUNDARY LAND LOT h=0.06 "THROUGHOUT GEORGIA"
  TEXT  [1E80C] SS-BOUNDARY LAND LOT h=0.06 "IN METRO ATLANTA"
  TEXT  [1E80D] SS-BOUNDARY LAND LOT h=0.06 "1-800-282-7411"
  TEXT  [1E80E] SS-BOUNDARY LAND LOT h=0.06 "THREE WORKING DAYS BEFORE YOU DIG"
  MTEXT [1E846] SS-BOUNDARY LAND LOT h=0.08 "FIELD CLOSURE=1'IN 20,000+ \PANGLE POINT ERROR=< 03" \PEQUIPMENT USED=GPS/TOTAL STATION \PADJUSTMENT METHOD=COMPASS RULE\PPLAT CLOSURE=1'IN 100,000+"
  TEXT  [1E853] BLOCK_TB2 h=0.12 "GLENDALE ESTATES   LOT 10"
  MTEXT [1E854] BLOCK_TB2 h=0.12 "2330 Green Forrest Dr, Decatur, GA 30032"
  entities=338 viewports=2

Notes

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

No notes yet.