← Inbox

C3D-0433 · Fill SS_BLOCK_11X17 title block - 281 Maranatha (250501) done

Fill 11X17 title block attrs from the image: JOB 250501, 281 MARANATHA TRAIL, LL 151, 5TH, GWINNETT, 04/28/25, FOX RUN ESTATES UNIT 2 LOT 10 BLOCK C, FRANCISCO REYES ORTIZ, TOPOGRAPHIC SURVEY. Blank REF_DB_PG + all flood fields.

Script file
C3D-0433.cs
Target
260711 - 281 Maranatha Trail.dwg · model space
Author
claude
Approved
yes · auto-auth
Timeout
60s

C# payload


var map = new System.Collections.Generic.Dictionary<string,string>();
map["JOB_NO"] = "JOB NO.: 250501";
map["SITE_ADDRESS"] = "281 MARANATHA TRAIL";
map["REF_DB_PG"] = "";
map["LAND_LOT"] = "LAND LOT: 151";
map["DISTRICT"] = "DISTRICT: 5TH";
map["COUNTY"] = "COUNTY: GWINNETT";
map["DATE"] = "DATE: 04/28/25";
map["SUBDIVISION_NAME_LOT"] = "FOX RUN ESTATES UNIT 2  LOT 10 BLOCK \"C\"";
map["PREP_FOR"] = "FRANCISCO REYES ORTIZ";
map["SURVEY_TYPE"] = "TOPOGRAPHIC SURVEY";
map["FIRM_PANEL"] = "";
map["FIRM_DATE"] = "";
map["FLOOD_ZONE"] = "";
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
int refs=0, changed=0;
foreach (ObjectId btrId in bt) {
    var space = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
    foreach (ObjectId eid in space) {
        var br = Tx.GetObject(eid, OpenMode.ForRead) as BlockReference;
        if (br == null) continue;
        var bd = (BlockTableRecord)Tx.GetObject(br.BlockTableRecord, OpenMode.ForRead);
        if (bd.Name.IndexOf("SS_BLOCK_11X17", StringComparison.OrdinalIgnoreCase) < 0) continue;
        refs++;
        foreach (ObjectId arId in br.AttributeCollection) {
            var ar = Tx.GetObject(arId, OpenMode.ForRead) as AttributeReference;
            if (ar == null) continue;
            if (map.ContainsKey(ar.Tag)) {
                var w = (AttributeReference)Tx.GetObject(arId, OpenMode.ForWrite);
                string old = w.TextString;
                w.TextString = map[ar.Tag];
                changed++;
                Log(ar.Tag + ": '" + old + "' -> '" + map[ar.Tag] + "' (verified='" + w.TextString + "')");
            }
        }
    }
}
Log("refs=" + refs + " changed=" + changed);
Ed.Regen();

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260711 - 281 Maranatha Trail, Lawrenceville, GA 30045, USA\260711 - 281 Maranatha Trail.dwg
Message
Executed C3D-0433 (0 entities touched).
Entities
Duration
739 ms
Civil 3D
25.0.0.0

Log

JOB_NO: 'JOB NO.: 251002' -> 'JOB NO.: 250501' (verified='JOB NO.: 250501')
SITE_ADDRESS: 'SITE_ADDRESS' -> '281 MARANATHA TRAIL' (verified='281 MARANATHA TRAIL')
REF_DB_PG: 'REF DB xxx Page xxx' -> '' (verified='')
LAND_LOT: 'LAND LOT: ###' -> 'LAND LOT: 151' (verified='LAND LOT: 151')
DISTRICT: 'DISTRICT: #TH' -> 'DISTRICT: 5TH' (verified='DISTRICT: 5TH')
COUNTY: 'COUNTY: CLAYCO' -> 'COUNTY: GWINNETT' (verified='COUNTY: GWINNETT')
DATE: 'DATE: 10/16/25' -> 'DATE: 04/28/25' (verified='DATE: 04/28/25')
SUBDIVISION_NAME_LOT: 'SUBDIVISION_NAME LOT ##' -> 'FOX RUN ESTATES UNIT 2  LOT 10 BLOCK "C"' (verified='FOX RUN ESTATES UNIT 2  LOT 10 BLOCK "C"')
PREP_FOR: 'PREP_FOR' -> 'FRANCISCO REYES ORTIZ' (verified='FRANCISCO REYES ORTIZ')
SURVEY_TYPE: 'BOUNDARY SURVEY' -> 'TOPOGRAPHIC SURVEY' (verified='TOPOGRAPHIC SURVEY')
FIRM_PANEL: '13135C0016G' -> '' (verified='')
FIRM_DATE: 'FEBRUARY 4, 2013' -> '' (verified='')
FLOOD_ZONE: 'X' -> '' (verified='')
refs=1 changed=13

Notes

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

No notes yet.