C3D-0243 · 260714 Huckaby: read SS_BLOCK_11X17 contents done
READ-ONLY. Every entity in the block definition with extents and attribute positions.
C# payload
// READ-ONLY: everything inside the SS_BLOCK_11X17 definition, with each entity's extents,
// so the title-block cluster can be identified by position before anything is moved.
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
if (!bt.Has("SS_BLOCK_11X17")) { Log("SS_BLOCK_11X17 not found"); return; }
var btr = (BlockTableRecord)Tx.GetObject(bt["SS_BLOCK_11X17"], OpenMode.ForRead);
Log("=== SS_BLOCK_11X17 contents ===");
Log("origin/base point: " + btr.Origin.ToString());
double gxmin=1e30, gymin=1e30, gxmax=-1e30, gymax=-1e30;
int n = 0;
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;
n++;
double xmin=0, ymin=0, xmax=0, ymax=0;
bool haveExt = false;
try {
var e = ent.GeometricExtents;
xmin=e.MinPoint.X; ymin=e.MinPoint.Y; xmax=e.MaxPoint.X; ymax=e.MaxPoint.Y;
haveExt = true;
if (xmin<gxmin) gxmin=xmin; if (ymin<gymin) gymin=ymin;
if (xmax>gxmax) gxmax=xmax; if (ymax>gymax) gymax=ymax;
} catch { }
string extra = "";
var ad = ent as AttributeDefinition;
if (ad != null) extra = string.Format(" TAG={0} prompt=\"{1}\" default=\"{2}\" pos=({3:F3},{4:F3}) h={5:F3}",
ad.Tag, ad.Prompt, ad.TextString, ad.Position.X, ad.Position.Y, ad.Height);
var mt = ent as MText;
if (mt != null) extra = string.Format(" \"{0}\" at ({1:F3},{2:F3}) h={3:F3}",
mt.Contents.Replace("\n", " ").Substring(0, Math.Min(45, mt.Contents.Length)), mt.Location.X, mt.Location.Y, mt.TextHeight);
var dt = ent as DBText;
if (dt != null) extra = string.Format(" \"{0}\" at ({1:F3},{2:F3}) h={3:F3}",
dt.TextString, dt.Position.X, dt.Position.Y, dt.Height);
var ln = ent as Line;
if (ln != null) extra = string.Format(" ({0:F3},{1:F3})->({2:F3},{3:F3})",
ln.StartPoint.X, ln.StartPoint.Y, ln.EndPoint.X, ln.EndPoint.Y);
Log(string.Format("[{0}] {1,-20} layer={2,-18} ext=({3:F3},{4:F3})-({5:F3},{6:F3}){7}",
ent.Handle, ent.GetType().Name, ent.Layer,
haveExt?xmin:0, haveExt?ymin:0, haveExt?xmax:0, haveExt?ymax:0, extra));
}
Log("");
Log(string.Format("entities={0} BLOCK EXTENTS=({1:F3},{2:F3})-({3:F3},{4:F3}) size {5:F3} x {6:F3}",
n, gxmin, gymin, gxmax, gymax, gxmax-gxmin, gymax-gymin));
Result
Log
=== SS_BLOCK_11X17 contents === origin/base point: (0,0,0) [20AD6] Viewport layer=BLOCK_TB2 ext=(-10.610,0.043)-(-0.043,16.434) [20ADE] Line layer=BLOCK_TB2 ext=(-0.043,0.043)-(-0.043,1.821) (-0.043,0.043)->(-0.043,1.821) [20ADF] Line layer=BLOCK_TB2 ext=(-10.610,16.434)-(-0.043,16.434) (-10.610,16.434)->(-0.043,16.434) [20AE0] Line layer=BLOCK_TB2 ext=(-10.650,16.477)-(0.000,16.477) (-10.650,16.477)->(0.000,16.477) [20AE1] MText layer=BLOCK_TB2 ext=(-3.783,2.175)-(-0.200,2.545) "ALL MATTERS OF TITLE ARE EXCEPTED. THIS PLAT " at (-3.783,2.545) h=0.085 [20AE3] Line layer=BLOCK_TB2 ext=(-3.896,2.051)-(-3.896,2.710) (-3.896,2.710)->(-3.896,2.051) [20AE4] Line layer=BLOCK_TB2 ext=(-10.198,1.780)-(-2.455,1.781) (-10.198,1.781)->(-2.455,1.780) [20AE5] Line layer=BLOCK_TB2 ext=(-10.198,1.510)-(-2.455,1.511) (-10.198,1.511)->(-2.455,1.510) [20AE6] Line layer=BLOCK_TB2 ext=(-10.198,1.240)-(-2.455,1.242) (-10.198,1.242)->(-2.455,1.240) [20AE7] Line layer=BLOCK_TB2 ext=(-10.198,0.970)-(-2.455,0.972) (-10.198,0.972)->(-2.455,0.970) [20AE8] Line layer=BLOCK_TB2 ext=(-10.198,2.051)-(-2.581,2.051) (-10.198,2.051)->(-2.581,2.051) [20AE9] DBText layer=BLOCK_TB2 ext=(-5.096,1.308)-(-3.614,1.425) "SCALE: GRAPHIC" at (-5.096,1.308) h=0.117 [20AEA] Line layer=BLOCK_TB2 ext=(-7.659,0.971)-(-7.659,1.781) (-7.659,1.781)->(-7.659,0.971) [20AEB] Line layer=BLOCK_TB2 ext=(-2.581,2.051)-(-0.041,2.051) (-2.581,2.051)->(-0.041,2.051) [20AEC] Line layer=BLOCK_TB2 ext=(-10.198,2.710)-(-0.043,2.710) (-10.198,2.710)->(-0.043,2.710) [20AED] DBText layer=BLOCK_TB2 ext=(-10.157,2.582)-(-9.248,2.659) "PREPARED FOR:" at (-10.157,2.582) h=0.076 [20AEE] Line layer=BLOCK_TB2 ext=(-5.549,0.971)-(-5.549,1.781) (-5.549,1.781)->(-5.549,0.971) [20AEF] DBText layer=BLOCK_TB2 ext=(-5.935,2.522)-(-4.688,2.619) "GRAPHIC SCALE" at (-5.935,2.522) h=0.097 [20AF0] Line layer=BLOCK_TB2 ext=(-5.926,2.321)-(-5.176,2.321) (-5.926,2.321)->(-5.176,2.321) [20AF1] Line layer=BLOCK_TB2 ext=(-5.926,2.393)-(-5.676,2.393) (-5.926,2.393)->(-5.676,2.393) [20AF2] Line layer=BLOCK_TB2 ext=(-5.926,2.401)-(-5.676,2.401) (-5.926,2.401)->(-5.676,2.401) [20AF3] Line layer=BLOCK_TB2 ext=(-5.926,2.409)-(-5.676,2.409) (-5.926,2.409)->(-5.676,2.409) [20AF4] Line layer=BLOCK_TB2 ext=(-5.926,2.417)-(-5.676,2.417) (-5.926,2.417)->(-5.676,2.417) [20AF5] Line layer=BLOCK_TB2 ext=(-5.926,2.425)-(-5.676,2.425) (-5.926,2.425)->(-5.676,2.425) [20AF6] Line layer=BLOCK_TB2 ext=(-5.926,2.433)-(-5.676,2.433) (-5.926,2.433)->(-5.676,2.433) [20AF7] Line layer=BLOCK_TB2 ext=(-5.926,2.441)-(-5.676,2.441) (-5.926,2.441)->(-5.676,2.441) [20AF8] Line layer=BLOCK_TB2 ext=(-5.926,2.449)-(-5.676,2.449) (-5.926,2.449)->(-5.676,2.449) [20AF9] Line layer=BLOCK_TB2 ext=(-6.176,2.388)-(-4.176,2.388) (-4.176,2.388)->(-6.176,2.388) [20AFA] Line layer=BLOCK_TB2 ext=(-6.176,2.455)-(-4.176,2.455) (-6.176,2.455)->(-4.176,2.455) [20AFB] Line layer=BLOCK_TB2 ext=(-6.175,2.333)-(-5.926,2.333) (-6.175,2.333)->(-5.926,2.333) [20AFC] Line layer=BLOCK_TB2 ext=(-6.176,2.344)-(-5.927,2.344) (-6.176,2.344)->(-5.927,2.344) [20AFD] Line layer=BLOCK_TB2 ext=(-6.174,2.364)-(-5.926,2.364) (-6.174,2.364)->(-5.926,2.364) [20AFE] Line layer=BLOCK_TB2 ext=(-6.175,2.374)-(-5.927,2.374) (-6.175,2.374)->(-5.927,2.374) [20AFF] Line layer=BLOCK_TB2 ext=(-6.176,2.355)-(-5.927,2.355) (-5.927,2.355)->(-6.176,2.355) [20B00] Line layer=BLOCK_TB2 ext=(-6.174,2.383)-(-5.927,2.383) (-6.174,2.383)->(-5.927,2.383) [20B01] Line layer=BLOCK_TB2 ext=(-6.176,2.328)-(-5.926,2.328) (-5.926,2.328)->(-6.176,2.328) [20B02] Line layer=BLOCK_TB2 ext=(-6.176,2.338)-(-5.926,2.338) (-5.926,2.338)->(-6.176,2.338) [20B03] Line layer=BLOCK_TB2 ext=(-6.176,2.349)-(-5.926,2.349) (-5.926,2.349)->(-6.176,2.349) [20B04] Line layer=BLOCK_TB2 ext=(-6.176,2.359)-(-5.926,2.359) (-5.926,2.359)->(-6.176,2.359) [20B05] Line layer=BLOCK_TB2 ext=(-6.176,2.370)-(-5.926,2.370) (-5.926,2.370)->(-6.176,2.370) [20B06] Line layer=BLOCK_TB2 ext=(-6.176,2.378)-(-5.926,2.378) (-5.926,2.378)->(-6.176,2.378) [20B07] Line layer=BLOCK_TB2 ext=(-5.926,2.321)-(-5.926,2.455) (-5.926,2.321)->(-5.926,2.455) [20B08] Line layer=BLOCK_TB2 ext=(-6.176,2.295)-(-6.176,2.328) (-6.176,2.328)->(-6.176,2.295) [20B09] Line layer=BLOCK_TB2 ext=(-6.176,2.321)-(-6.176,2.455) (-6.176,2.321)->(-6.176,2.455) [20B0A] Line layer=BLOCK_TB2 ext=(-5.173,2.331)-(-4.178,2.331) (-5.173,2.331)->(-4.178,2.331) [20B0B] Line layer=BLOCK_TB2 ext=(-5.176,2.357)-(-4.176,2.357) (-4.176,2.357)->(-5.176,2.357) [20B0C] Line layer=BLOCK_TB2 ext=(-5.172,2.344)-(-4.180,2.344) (-5.172,2.344)->(-4.180,2.344) [20B0D] Line layer=BLOCK_TB2 ext=(-5.176,2.371)-(-4.176,2.371) (-5.176,2.371)->(-4.176,2.371) [20B0E] Line layer=BLOCK_TB2 ext=(-5.176,2.324)-(-4.176,2.324) (-5.176,2.324)->(-4.176,2.324) [20B0F] Line layer=BLOCK_TB2 ext=(-5.176,2.337)-(-4.176,2.337) (-5.176,2.337)->(-4.176,2.337) [20B10] Line layer=BLOCK_TB2 ext=(-5.176,2.350)-(-4.176,2.350) (-5.176,2.350)->(-4.176,2.350) [20B11] Line layer=BLOCK_TB2 ext=(-5.176,2.363)-(-4.176,2.363) (-5.176,2.363)->(-4.176,2.363) [20B12] Line layer=BLOCK_TB2 ext=(-5.176,2.376)-(-4.176,2.376) (-5.176,2.376)->(-4.176,2.376) [20B13] Line layer=BLOCK_TB2 ext=(-5.426,2.392)-(-5.176,2.392) (-5.426,2.392)->(-5.176,2.392) [20B14] Line layer=BLOCK_TB2 ext=(-5.426,2.398)-(-5.176,2.398) (-5.426,2.398)->(-5.176,2.398) [20B15] Line layer=BLOCK_TB2 ext=(-5.426,2.405)-(-5.176,2.405) (-5.426,2.405)->(-5.176,2.405) [20B16] Line layer=BLOCK_TB2 ext=(-5.426,2.411)-(-5.176,2.411) (-5.426,2.411)->(-5.176,2.411) [20B17] Line layer=BLOCK_TB2 ext=(-5.426,2.417)-(-5.176,2.417) (-5.426,2.417)->(-5.176,2.417) [20B18] Line layer=BLOCK_TB2 ext=(-5.426,2.423)-(-5.176,2.423) (-5.426,2.423)->(-5.176,2.423) [20B19] Line layer=BLOCK_TB2 ext=(-5.426,2.430)-(-5.176,2.430) (-5.426,2.430)->(-5.176,2.430) [20B1A] Line layer=BLOCK_TB2 ext=(-5.426,2.436)-(-5.176,2.436) (-5.426,2.436)->(-5.176,2.436) [20B1B] Line layer=BLOCK_TB2 ext=(-5.426,2.442)-(-5.176,2.442) (-5.426,2.442)->(-5.176,2.442) [20B1C] Line layer=BLOCK_TB2 ext=(-5.426,2.449)-(-5.176,2.449) (-5.426,2.449)->(-5.176,2.449) [20B1D] Line layer=BLOCK_TB2 ext=(-5.676,2.327)-(-5.426,2.327) (-5.676,2.327)->(-5.426,2.327) [20B1E] Line layer=BLOCK_TB2 ext=(-5.676,2.333)-(-5.426,2.333) (-5.676,2.333)->(-5.426,2.333) [20B1F] Line layer=BLOCK_TB2 ext=(-5.676,2.339)-(-5.426,2.339) (-5.676,2.339)->(-5.426,2.339) [20B20] Line layer=BLOCK_TB2 ext=(-5.676,2.344)-(-5.426,2.344) (-5.676,2.344)->(-5.426,2.344) [20B21] Line layer=BLOCK_TB2 ext=(-5.676,2.350)-(-5.426,2.350) (-5.676,2.350)->(-5.426,2.350) [20B22] Line layer=BLOCK_TB2 ext=(-5.676,2.355)-(-5.426,2.355) (-5.676,2.355)->(-5.426,2.355) [20B23] Line layer=BLOCK_TB2 ext=(-5.676,2.361)-(-5.426,2.361) (-5.676,2.361)->(-5.426,2.361) [20B24] Line layer=BLOCK_TB2 ext=(-5.676,2.367)-(-5.426,2.367) (-5.676,2.367)->(-5.426,2.367) [20B25] Line layer=BLOCK_TB2 ext=(-5.676,2.372)-(-5.426,2.372) (-5.676,2.372)->(-5.426,2.372) [20B26] Line layer=BLOCK_TB2 ext=(-5.676,2.378)-(-5.426,2.378) (-5.676,2.378)->(-5.426,2.378) [20B27] Line layer=BLOCK_TB2 ext=(-5.676,2.383)-(-5.426,2.383) (-5.676,2.383)->(-5.426,2.383) [20B28] Line layer=BLOCK_TB2 ext=(-5.426,2.321)-(-5.426,2.455) (-5.426,2.321)->(-5.426,2.455) [20B29] Line layer=BLOCK_TB2 ext=(-5.176,2.288)-(-5.176,2.455) (-5.176,2.288)->(-5.176,2.455) [20B2A] Line layer=BLOCK_TB2 ext=(-5.676,2.288)-(-5.676,2.455) (-5.676,2.288)->(-5.676,2.455) [20B2B] DBText layer=BLOCK_TB2 ext=(-6.228,2.155)-(-4.044,2.260) "50 25 0 50" at (-6.228,2.160) h=0.100 [20B2D] Line layer=BLOCK_TB2 ext=(-4.176,2.288)-(-4.176,2.321) (-4.176,2.321)->(-4.176,2.288) [20B2E] Line layer=BLOCK_TB2 ext=(-4.176,2.321)-(-4.176,2.455) (-4.176,2.321)->(-4.176,2.455) [20B2F] Line layer=BLOCK_TB2 ext=(-10.198,0.043)-(-10.198,2.710) (-10.198,2.710)->(-10.198,0.043) [20B30] Line layer=BLOCK_TB2 ext=(-2.455,0.043)-(-2.455,2.051) (-2.455,2.051)->(-2.455,0.043) [20B31] Line layer=BLOCK_TB2 ext=(-6.813,0.043)-(-0.041,0.043) (-6.813,0.043)->(-0.041,0.043) [20B32] Line layer=BLOCK_TB2 ext=(-10.198,2.710)-(-0.043,2.710) (-0.043,2.710)->(-10.198,2.710) [20B33] Line layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,6.883) (0.000,0.000)->(0.000,6.883) [20B34] Line layer=BLOCK_TB2 ext=(-0.043,0.043)-(-0.043,16.434) (-0.043,0.043)->(-0.043,16.434) [20B35] Line layer=BLOCK_TB2 ext=(-10.650,0.000)-(0.000,0.000) (-10.650,0.000)->(0.000,0.000) [20B36] Line layer=BLOCK_TB2 ext=(-10.650,0.000)-(-10.650,16.477) (-10.650,16.477)->(-10.650,0.000) [20B37] DBText layer=BLOCK_TB2 ext=(-8.507,0.598)-(-4.126,0.835) "SAWHNEY & ASSOCIATES" at (-8.541,0.598) h=0.238 [20B39] DBText layer=BLOCK_TB2 ext=(-8.112,0.378)-(-6.519,0.483) "523 HASTINGS WAY" at (-8.112,0.378) h=0.106 [20B3A] DBText layer=BLOCK_TB2 ext=(-6.351,0.365)-(-4.521,0.471) "JONESBORO GA 30238" at (-6.351,0.365) h=0.106 [20B3B] DBText layer=BLOCK_TB2 ext=(-7.219,0.208)-(-5.872,0.340) "PH.# (678)478-6857" at (-7.226,0.235) h=0.081 [20B3D] Line layer=BLOCK_TB2 ext=(-3.105,0.043)-(-3.105,0.971) (-3.105,0.971)->(-3.105,0.043) [20B3E] Line layer=BLOCK_TB2 ext=(-0.000,6.883)-(-0.000,13.765) (-0.000,6.883)->(-0.000,13.765) [20B3F] Line layer=BLOCK_TB2 ext=(-0.000,13.765)-(0.000,16.477) (-0.000,13.765)->(0.000,16.477) [20B40] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "JOB NO.: 251002" at (-5.097,1.064) h=0.117 [20B41] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "SITE_ADDRESS" at (-10.136,1.870) h=0.117 [20B42] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "REF DB xxx Page xxx" at (-10.132,1.051) h=0.117 [20B43] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "LAND LOT: ###" at (-7.623,1.601) h=0.117 [20B44] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "DISTRICT: #TH" at (-7.620,1.335) h=0.117 [20B45] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "COUNTY: CLAYCO" at (-7.627,1.051) h=0.117 [20B46] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "DATE: 10/16/25" at (-5.073,1.590) h=0.117 [20B47] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "SUBDIVISION_NAME LOT ##" at (-5.062,1.851) h=0.117 [20B48] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "PREP_FOR" at (-10.086,2.237) h=0.150 [20B49] AttributeDefinition layer=BLOCK_TB2 ext=(0.000,0.000)-(0.000,0.000) "BOUNDARY SURVEY" at (-10.184,2.821) h=0.200 [20B4A] MText layer=BLOCK_NOTES_FLOOD ext=(-3.092,2.845)-(-0.158,3.104) "FLOOD NOTE:\PTHIS PROPERTY IS NOT LOCATED WIT" at (-3.092,3.104) h=0.055 [20B4C] AttributeDefinition layer=BLOCK_NOTES_FLOOD ext=(0.000,0.000)-(0.000,0.000) "13135C0016G" at (-3.091,2.755) h=0.055 [20B4D] AttributeDefinition layer=BLOCK_NOTES_FLOOD ext=(0.000,0.000)-(0.000,0.000) "FEBRUARY 4, 2013" at (-2.485,2.754) h=0.055 [20B4E] AttributeDefinition layer=BLOCK_NOTES_FLOOD ext=(0.000,0.000)-(0.000,0.000) "X" at (-1.139,2.754) h=0.055 entities=109 BLOCK EXTENTS=(-10.650,0.000)-(0.000,16.477) size 10.650 x 16.477
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.