C3D-0005 · Title block 22X17 for job 260612 [TB-260612] done
Fills the 22X17 title block for job 260612 (5030 East Lake Pkwy, LL 4, 11th district, Henry County, 07/31/26, CIVILWORKS, As Built Water & Sewer). The block was carrying stale job 260104 data. Only the 22X17 layout is touched; REF_DB_PG and SUBDIVISION are left alone.
C# payload
// Fill the title block on the 22X17 layout ONLY, for job 260612 (5030 East Lake Pkwy).
//
// The block was carrying STALE data from job 260104 (6333 GA-42, Rex / Clayton County / ALTA
// retracement / Curry Leaves LLC) - the copied-template hazard that title-block-fill's
// knownGaps calls out as the #1 problem. The 11X17 and 13709-779 layouts carry the same stale
// block but the user asked for 22X17 only, so they are LEFT ALONE.
//
// Values: job number, land lot, district and date from the user; address, county, preparedFor
// and service type from the SurveyDisco record for 260612/260613.
// REF_DB_PG and SUBDIVISION_NAME_LOT are NOT touched - the job record has no deed book/page or
// subdivision, and inventing one would be worse than leaving what is there.
// Reads each attribute back after writing. Host owns Tx; host regens after commit.
const string LAYOUT = "22X17";
var vals = new (string tag, string val)[] {
(@"JOB_NO", @"JOB NO.: 260612"),
(@"SITE_ADDRESS", @"5030 EAST LAKE PKWY, STOCKBRIDGE, GA 30281"),
(@"LAND_LOT", @"LAND LOT: 4"),
(@"DISTRICT", @"DISTRICT: 11TH"),
(@"COUNTY", @"COUNTY: HENRY"),
(@"DATE", @"DATE: 07/31/26"),
(@"PREP_FOR", @"CIVILWORKS"),
(@"SURVEY_TYPE", @"AS BUILT SURVEY - WATER & SEWER")
};
var layDict = (DBDictionary)Tx.GetObject(Db.LayoutDictionaryId, OpenMode.ForRead);
if (!layDict.Contains(LAYOUT)) { Log("layout '" + LAYOUT + "' not found"); return; }
var layout = (Layout)Tx.GetObject(layDict.GetAt(LAYOUT), OpenMode.ForRead);
var ps = (BlockTableRecord)Tx.GetObject(layout.BlockTableRecordId, OpenMode.ForRead);
int refs = 0, set = 0, same = 0;
foreach (ObjectId id in ps)
{
var br = Tx.GetObject(id, OpenMode.ForRead) as BlockReference;
if (br == null || br.AttributeCollection.Count == 0) continue;
var def = (BlockTableRecord)Tx.GetObject(br.BlockTableRecord, OpenMode.ForRead);
refs++;
Log("block '" + def.Name + "' h=" + br.Handle);
foreach (ObjectId aid in br.AttributeCollection)
{
var ar = Tx.GetObject(aid, OpenMode.ForRead) as AttributeReference;
if (ar == null) continue;
string want = null;
foreach (var v in vals) if (v.tag == ar.Tag) { want = v.val; break; }
if (want == null) { Log(" " + ar.Tag.PadRight(22) + " = '" + ar.TextString + "' (left alone)"); continue; }
string old = ar.TextString;
if (old == want) { Log(" " + ar.Tag.PadRight(22) + " already '" + want + "'"); same++; continue; }
var w = (AttributeReference)Tx.GetObject(aid, OpenMode.ForWrite);
w.TextString = want;
string now = ((AttributeReference)Tx.GetObject(aid, OpenMode.ForRead)).TextString;
Log(" " + ar.Tag.PadRight(22) + " '" + old + "' -> '" + now + "'" + (now == want ? " (verified)" : " (MISMATCH)"));
set++;
}
}
Log("updated " + set + " attribute(s) (" + same + " already correct) on " + refs + " block(s) in '" + LAYOUT + "'");
Result
Log
block 'SS_BLOCK_11X17' h=23273
JOB_NO 'JOB NO.: 260104' -> 'JOB NO.: 260612' (verified)
SITE_ADDRESS '6333 GA-42, Rex, GA 30273, USA' -> '5030 EAST LAKE PKWY, STOCKBRIDGE, GA 30281' (verified)
REF_DB_PG = 'REF DB 13594 Page 389' (left alone)
LAND_LOT 'LAND LOT: 119' -> 'LAND LOT: 4' (verified)
DISTRICT 'DISTRICT: 12th' -> 'DISTRICT: 11TH' (verified)
COUNTY 'COUNTY: CLAYTON' -> 'COUNTY: HENRY' (verified)
DATE 'DATE: 10/16/25' -> 'DATE: 07/31/26' (verified)
SUBDIVISION_NAME_LOT = 'SUBDIVISION_NAME LOT ##' (left alone)
PREP_FOR 'Curry Leaves 6333 LLC & SERVISFIRST BANK' -> 'CIVILWORKS' (verified)
SURVEY_TYPE 'ALTA retracement Survey' -> 'AS BUILT SURVEY - WATER & SEWER' (verified)
updated 8 attribute(s) (0 already correct) on 1 block(s) in '22X17'Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.