← Inbox

C3D-0432 · Dump SS_BLOCK attribute tags + values (read-only) [C3D-0431] done

Read-only: list SS_BLOCK* defs + attdef tags, dump every inserted ref attribute tag=value across all spaces.

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

C# payload


var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
Log("=== BLOCK DEFS (SS_BLOCK*) ===");
foreach (ObjectId btrId in bt) {
    var btr = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
    string n = btr.Name;
    if (n.IndexOf("SS_BLOCK", StringComparison.OrdinalIgnoreCase) < 0) continue;
    Log("DEF: '" + n + "'  isLayout=" + btr.IsLayout + "  hasAttDef=" + btr.HasAttributeDefinitions);
    foreach (ObjectId eid in btr) {
        var ad = Tx.GetObject(eid, OpenMode.ForRead) as AttributeDefinition;
        if (ad != null) Log("   ATTDEF tag='" + ad.Tag + "'  default='" + ad.TextString + "'");
    }
}
Log("=== INSERTED REFERENCES (all spaces) ===");
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);
        string bn = bd.Name;
        if (bn.IndexOf("SS_BLOCK", StringComparison.OrdinalIgnoreCase) < 0) continue;
        Log("REF of '" + bn + "' in space '" + space.Name + "'");
        foreach (ObjectId arId in br.AttributeCollection) {
            var ar = Tx.GetObject(arId, OpenMode.ForRead) as AttributeReference;
            if (ar != null) Log("   ATT tag='" + ar.Tag + "'  value='" + ar.TextString + "'");
        }
    }
}

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-0432 (0 entities touched).
Entities
Duration
814 ms
Civil 3D
25.0.0.0

Log

=== BLOCK DEFS (SS_BLOCK*) ===
DEF: 'SS_BLOCK_11X17'  isLayout=False  hasAttDef=True
   ATTDEF tag='JOB_NO'  default='JOB NO.: 251002'
   ATTDEF tag='SITE_ADDRESS'  default='SITE_ADDRESS'
   ATTDEF tag='REF_DB_PG'  default='REF DB xxx Page xxx'
   ATTDEF tag='LAND_LOT'  default='LAND LOT: ###'
   ATTDEF tag='DISTRICT'  default='DISTRICT: #TH'
   ATTDEF tag='COUNTY'  default='COUNTY: CLAYCO'
   ATTDEF tag='DATE'  default='DATE: 10/16/25'
   ATTDEF tag='SUBDIVISION_NAME_LOT'  default='SUBDIVISION_NAME LOT ##'
   ATTDEF tag='PREP_FOR'  default='PREP_FOR'
   ATTDEF tag='SURVEY_TYPE'  default='BOUNDARY SURVEY'
   ATTDEF tag='FIRM_PANEL'  default='13135C0016G'
   ATTDEF tag='FIRM_DATE'  default='FEBRUARY 4, 2013'
   ATTDEF tag='FLOOD_ZONE'  default='X'
=== INSERTED REFERENCES (all spaces) ===
REF of 'SS_BLOCK_11X17' in space '*Paper_Space'
   ATT tag='JOB_NO'  value='JOB NO.: 251002'
   ATT tag='SITE_ADDRESS'  value='SITE_ADDRESS'
   ATT tag='REF_DB_PG'  value='REF DB xxx Page xxx'
   ATT tag='LAND_LOT'  value='LAND LOT: ###'
   ATT tag='DISTRICT'  value='DISTRICT: #TH'
   ATT tag='COUNTY'  value='COUNTY: CLAYCO'
   ATT tag='DATE'  value='DATE: 10/16/25'
   ATT tag='SUBDIVISION_NAME_LOT'  value='SUBDIVISION_NAME LOT ##'
   ATT tag='PREP_FOR'  value='PREP_FOR'
   ATT tag='SURVEY_TYPE'  value='BOUNDARY SURVEY'
   ATT tag='FIRM_PANEL'  value='13135C0016G'
   ATT tag='FIRM_DATE'  value='FEBRUARY 4, 2013'
   ATT tag='FLOOD_ZONE'  value='X'

Notes

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

No notes yet.