C3D-0173 · READ-ONLY: find the land lot line text [LL-TEXT] done
Searches model space, every layout and every block definition for text mentioning LAND LOT or L.L., reporting the entity type, owning space, layer, exact string, position, height and rotation, plus any layer named for land lot. No changes.
C# payload
// READ-ONLY. Find any text saying LAND LOT LINE (approximate or otherwise) - what it is, where it
// sits, its layer, height and rotation. Searched across model space, every layout and every block
// definition. Nothing is modified.
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
Log("drawing: " + Db.Filename);
int hits = 0;
foreach (ObjectId btrId in bt) {
var btr = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
foreach (ObjectId id in btr) {
Autodesk.AutoCAD.DatabaseServices.DBObject o;
try { o = Tx.GetObject(id, OpenMode.ForRead); } catch { continue; }
string s = null;
var mt = o as MText; if (mt != null) s = mt.Contents;
var dt = o as DBText; if (dt != null) s = dt.TextString;
if (s == null) continue;
string u = s.ToUpper();
if (u.IndexOf("LAND LOT") < 0 && u.IndexOf("L.L.") < 0 && u.IndexOf("LL LINE") < 0) continue;
hits++;
var ent = (Autodesk.AutoCAD.DatabaseServices.Entity)o;
Log("");
Log("[" + o.Handle + "] " + o.GetType().Name + " in " + btr.Name + " layer=" + ent.Layer);
Log(" \"" + s + "\"");
if (mt != null)
Log(String.Format(" at {0:F3},{1:F3} h={2:F3} rot={3:F2} width={4:F3}",
mt.Location.X, mt.Location.Y, mt.TextHeight, mt.Rotation*180.0/Math.PI, mt.Width));
if (dt != null)
Log(String.Format(" at {0:F3},{1:F3} h={2:F3} rot={3:F2}",
dt.Position.X, dt.Position.Y, dt.Height, dt.Rotation*180.0/Math.PI));
}
}
Log("");
Log("land-lot text found: " + hits);
Log("");
Log("=== layers whose name mentions LAND LOT ===");
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
foreach (ObjectId lid in lt) {
var l = (LayerTableRecord)Tx.GetObject(lid, OpenMode.ForRead);
if (l.Name.ToUpper().IndexOf("LAND LOT") < 0 && l.Name.ToUpper().IndexOf("LANDLOT") < 0) continue;
Log(" " + l.Name + " off=" + l.IsOff + " frozen=" + l.IsFrozen + " color=" + l.Color);
}
Result
Log
drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\260612-C-Store Sewer As-Built.dwg [2E53E] MText in *Paper_Space layer=BLOCK_CLOSURE "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." at 18.810,9.235 h=0.059 rot=0.00 width=2.643 [143DE] DBText in A$C3840e5d8 layer=BLOCK_TB2 "LAND LOT: 230" at -127.320,-163.696 h=4.667 rot=0.00 [1452C] MText in A$C3840e5d8 layer=SS-BOUNDARY ANGEL "IPF IRON PIN FOUND \PIPS IRON PIN SET\PR/W RIGHT OF WAY\PRWM RIGHT OF WAY MARKER \PMAG MAGNETIC \PPOB POINT OF BEGINNING\PPOB 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 MANHOLE\P FIRE HYDRANT\P ELELVATION POINT\P PROPERTY CORNER" at -470.137,-104.214 h=4.000 rot=0.00 width=107.530 [233F6] AttributeDefinition in SS_BLOCK_11X17 layer=BLOCK_TB2 "LAND LOT: ###" at -18.883,1.601 h=0.117 rot=0.00 [2EB48] MText in SS_LEGEND layer=BLOCK_LEGEND "IPF IRON PIN FOUND \PIPP IRON PIN PROPOSED\PR/W RIGHT OF WAY\P\PMAG MAGNETIC \PPOB POINT OF BEGINNING\P\PB/L BUILDING LINE \PS.S.E. SANITARY SEWER 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" at -3.211,3.251 h=0.100 rot=0.00 width=4.011 [1FF4B] AttributeDefinition in SS_BLOCK_11X17 (1) layer=BLOCK_TB2 "LAND LOT: 226" at -7.623,1.601 h=0.117 rot=0.00 [1FFCE] AttributeDefinition in SS_BLOCK_11X17 (2) layer=BLOCK_TB2 "LAND LOT: 226" at -7.623,1.601 h=0.117 rot=0.00 [2007F] AttributeDefinition in SS_BLOCK_11X17 (3) layer=BLOCK_TB2 "LAND LOT: 226" at -7.623,1.601 h=0.117 rot=0.00 [2867B] MText in As Built - DEV3896 East Lake Pkwy C-Store - Water & Sewer layer=PDF2_Text "WATER SERVICE SHALL NOT BE ACTIVATED UNTIL ALL LINES, METERS, AND" at 1.624,19.762 h=0.121 rot=0.00 width=0.000 land-lot text found: 9 === layers whose name mentions LAND LOT === SS-BOUNDARY LAND LOT off=False frozen=True color=cyan
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.