C3D-0415 · Fill title block with job 260903 (surveydisco) - both layouts [C3D-TBFILL] done
Updates SS_BLOCK title-block attributes on the 11X17 and 17X11 layouts with surveydisco job 260903 data (was stale 260714 Huckaby): JOB_NO 260903, address 812 Christmas Ave Bethlehem, REF DB 3054/756, COUNTY Barrow, DATE 09/08/26, PREP_FOR FRANCISCO REYES ORTIZ, FIRM 13013C0140D eff 12/01/2022, ZONE X, SURVEY_TYPE Boundary Survey. LAND_LOT blanked (GMDs have no land lots) and DISTRICT relabelled 'GMD: 249th'. Reads each attribute back to verify.
C# payload
// Update the title-block attributes on both layouts with surveydisco job 260903 data.
// Stale template data was 260714/Huckaby. LAND_LOT blanked (GMDs have no land lots), DISTRICT
// relabelled to "GMD: 249th" (GMD is not a district). Read back each attribute to verify.
Log("drawing: " + Db.Filename);
var vals = new Dictionary<string,string>(StringComparer.OrdinalIgnoreCase){
{ "JOB_NO", "JOB NO.: 260903" },
{ "SITE_ADDRESS", "812 Christmas Ave, Bethlehem, GA 30620, USA" },
{ "REF_DB_PG", "REF DB 3054 Page 756" },
{ "LAND_LOT", "" },
{ "DISTRICT", "GMD: 249th" },
{ "COUNTY", "COUNTY: Barrow" },
{ "DATE", "DATE: 09/08/26" },
{ "PREP_FOR", "FRANCISCO REYES ORTIZ" },
{ "SURVEY_TYPE", "Boundary Survey" },
{ "FIRM_PANEL", "13013C0140D," },
{ "FIRM_DATE", "EFFECTIVE 12/01/2022," },
{ "FLOOD_ZONE", "AND LIES IN ZONE X." },
};
int updated=0;
var dict=(DBDictionary)Tx.GetObject(Db.LayoutDictionaryId,OpenMode.ForRead);
foreach (DBDictionaryEntry de in dict){
var lay=(Layout)Tx.GetObject(de.Value,OpenMode.ForRead);
var btr=(BlockTableRecord)Tx.GetObject(lay.BlockTableRecordId,OpenMode.ForRead);
foreach (ObjectId id in btr){
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);
if(def.Name.IndexOf("SS_BLOCK",StringComparison.OrdinalIgnoreCase)<0) continue;
Log(""); Log("LAYOUT \""+lay.LayoutName+"\" block "+def.Name);
foreach (ObjectId aid in br.AttributeCollection){
var ar=Tx.GetObject(aid,OpenMode.ForRead) as AttributeReference;
if(ar==null || !vals.ContainsKey(ar.Tag)) continue;
string oldv=ar.TextString, newv=vals[ar.Tag];
if(oldv==newv){ Log(string.Format(" {0,-16} unchanged \"{1}\"", ar.Tag, newv)); continue; }
var w=(AttributeReference)Tx.GetObject(aid,OpenMode.ForWrite);
w.TextString=newv; updated++;
var back=(AttributeReference)Tx.GetObject(aid,OpenMode.ForRead);
Log(string.Format(" {0,-16} \"{1}\" -> \"{2}\" (verified)", ar.Tag, oldv.Replace("\n"," "), back.TextString.Replace("\n"," ")));
}
}
}
Log(""); Log("updated " + updated + " attributes across both layouts");
Ed.Regen();
Result
Log
drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260903 - 812 Christmas Ave, Bethlehem, GA 30620, USA\812 Christmas Ave.dwg LAYOUT "11X17" block SS_BLOCK_11X17 JOB_NO "JOB NO.: 260714" -> "JOB NO.: 260903" (verified) SITE_ADDRESS "285 Huckaby Rd, Brooks, GA 30205, USA" -> "812 Christmas Ave, Bethlehem, GA 30620, USA" (verified) REF_DB_PG "REF DB 5857 Page 692" -> "REF DB 3054 Page 756" (verified) LAND_LOT "LAND LOT: 124" -> "" (verified) DISTRICT "DISTRICT: 4th" -> "GMD: 249th" (verified) COUNTY "COUNTY: Fayette" -> "COUNTY: Barrow" (verified) DATE "DATE: 08/13/26" -> "DATE: 09/08/26" (verified) PREP_FOR "JOY EWING" -> "FRANCISCO REYES ORTIZ" (verified) SURVEY_TYPE unchanged "Boundary Survey" FIRM_PANEL "13113C0155E," -> "13013C0140D," (verified) FIRM_DATE "EFFECTIVE SEPTEMBER 26, 2008," -> "EFFECTIVE 12/01/2022," (verified) FLOOD_ZONE unchanged "AND LIES IN ZONE X." LAYOUT "17X11" block SS_BLOCK_17X11 JOB_NO "JOB NO.: 260714" -> "JOB NO.: 260903" (verified) SITE_ADDRESS "285 Huckaby Rd, Brooks, GA 30205, USA" -> "812 Christmas Ave, Bethlehem, GA 30620, USA" (verified) REF_DB_PG "REF DB 5857 Page 692" -> "REF DB 3054 Page 756" (verified) LAND_LOT "LAND LOT: 124" -> "" (verified) DISTRICT "DISTRICT: 4th" -> "GMD: 249th" (verified) COUNTY "COUNTY: Fayette" -> "COUNTY: Barrow" (verified) DATE "DATE: 09/01/26" -> "DATE: 09/08/26" (verified) PREP_FOR "THE JANELLE EWING STEELE REVOCABLE FAMILY LIVING TRUST" -> "FRANCISCO REYES ORTIZ" (verified) SURVEY_TYPE " Boundary Survey" -> "Boundary Survey" (verified) FIRM_PANEL "13113C0155E," -> "13013C0140D," (verified) FIRM_DATE "EFFECTIVE SEPTEMBER 26, 2008," -> "EFFECTIVE 12/01/2022," (verified) FLOOD_ZONE unchanged "AND LIES IN ZONE X." updated 21 attributes across both layouts
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.