← Inbox

C3D-0104 · READ-ONLY: which blocks hold the V-NODE geometry and where they are inserted [VNODE-HOLDERS] done

Lists every block definition containing entities on a V-NODE layer, how many times that block is inserted, and the layer and owner of each insert, to explain why V-NODE layers show zero model-space entities while the symbols are visible. No changes.

Script file
C3D-0104.cs
Target
active document · model space
Author
claude
Approved
yes · reviewer
Timeout
240s

C# payload

// READ-ONLY. Which block definitions hold the V-NODE-* geometry, and where are those blocks
// actually inserted? Nothing is modified.
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
Log("drawing: " + Db.Filename);

// btr name -> layer -> count, for V-NODE layers only
var holders = new Dictionary<string, Dictionary<string,int>>();
foreach (ObjectId btrId in bt) {
    var btr = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
    if (btr.IsLayout) continue;
    foreach (ObjectId id in btr) {
        Autodesk.AutoCAD.DatabaseServices.DBObject o;
        try { o = Tx.GetObject(id, OpenMode.ForRead); } catch { continue; }
        var ent = o as Autodesk.AutoCAD.DatabaseServices.Entity;
        if (ent == null) continue;
        string lay; try { lay = ent.Layer; } catch { continue; }
        if (!lay.ToUpper().StartsWith("V-NODE")) continue;
        if (!holders.ContainsKey(btr.Name)) holders[btr.Name] = new Dictionary<string,int>();
        if (!holders[btr.Name].ContainsKey(lay)) holders[btr.Name][lay] = 0;
        holders[btr.Name][lay]++;
    }
}

Log("=== block definitions containing V-NODE-* geometry ===");
foreach (var kv in holders) {
    var parts = new List<string>();
    foreach (var l in kv.Value) parts.Add(l.Key + ":" + l.Value);
    var btr = (BlockTableRecord)Tx.GetObject(bt[kv.Key], OpenMode.ForRead);
    var refs = btr.GetBlockReferenceIds(true, true);
    Log(String.Format("  {0,-16} [{1}]   inserted {2} time(s)", kv.Key, String.Join(" ", parts), refs.Count));
    int shown = 0;
    foreach (ObjectId rid in refs) {
        if (shown++ >= 4) break;
        var br = Tx.GetObject(rid, OpenMode.ForRead) as BlockReference;
        if (br == null) continue;
        string owner = "?";
        try {
            var ownerBtr = (BlockTableRecord)Tx.GetObject(br.OwnerId, OpenMode.ForRead);
            owner = ownerBtr.Name;
        } catch { }
        Log(String.Format("        ref [{0}] on layer {1}  in {2}", br.Handle, br.Layer, owner));
    }
}
Log("");
Log("block defs holding V-NODE geometry: " + holders.Count);

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\ACAD-260612 - CSTORE WATER ABS 30.dwg
Message
Executed C3D-0104 (0 entities touched).
Entities
Duration
360 ms
Civil 3D
25.0.0.0

Log

drawing: C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\ACAD-260612 - CSTORE WATER ABS 30.dwg
=== block definitions containing V-NODE-* geometry ===
  *U16             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [180A] on layer 0  in *Model_Space
  *U17             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [181B] on layer 0  in *Model_Space
  *U18             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1829] on layer 0  in *Model_Space
  *U19             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [182F] on layer 0  in *Model_Space
  *U20             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [1835] on layer SEWER_MANHOLE  in *Model_Space
  *U21             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U22             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [184D] on layer SEWER_MANHOLE  in *Model_Space
  *U23             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [1852] on layer SEWER_MANHOLE  in *Model_Space
  *U24             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U25             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [185F] on layer SEWER_MANHOLE  in *Model_Space
  *U26             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1864] on layer 0  in *Model_Space
  *U27             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [186A] on layer 0  in *Model_Space
  *U28             [V-NODE-WATR:1 V-NODE-TEXT:2]   inserted 1 time(s)
        ref [1870] on layer 0  in *Model_Space
  *U29             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1877] on layer 0  in *Model_Space
  *U30             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [187D] on layer SEWER_MANHOLE  in *Model_Space
  *U31             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [1882] on layer SEWER_MANHOLE  in *Model_Space
  *U32             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [1887] on layer SEWER_MANHOLE  in *Model_Space
  *U33             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [188C] on layer SEWER_MANHOLE  in *Model_Space
  *U34             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [1891] on layer SEWER_MANHOLE  in *Model_Space
  *U35             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [1896] on layer SEWER_MANHOLE  in *Model_Space
  *U36             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [189B] on layer SEWER_MANHOLE  in *Model_Space
  *U37             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [18A0] on layer SEWER_MANHOLE_EXISTING  in *Model_Space
  *U38             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [18A6] on layer 0  in *Model_Space
  *U39             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U40             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [18B5] on layer FIRE_HYDRANT  in *Model_Space
  *U41             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [18C8] on layer FIRE_HYDRANT_VALVE  in *Model_Space
  *U42             [V-NODE-POLE:1]   inserted 1 time(s)
        ref [18D7] on layer 0  in *Model_Space
  *U43             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [18E7] on layer SEWER_MANHOLE  in *Model_Space
  *U44             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U45             [V-NODE-POLE:1]   inserted 1 time(s)
        ref [18F4] on layer 0  in *Model_Space
  *U46             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [18F9] on layer WATER_VALVE  in *Model_Space
  *U47             [V-NODE-STRM:1]   inserted 1 time(s)
        ref [18FF] on layer SEWER_MANHOLE  in *Model_Space
  *U48             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U49             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U50             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U51             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U52             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U53             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U54             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U55             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U56             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1947] on layer WATER_VALVE  in *Model_Space
  *U57             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [194C] on layer FIRE_HYDRANT  in *Model_Space
  *U58             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U59             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1959] on layer 0  in *Model_Space
  *U60             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 0 time(s)
  *U61             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1965] on layer WATER_VALVE  in *Model_Space
  *U62             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [196A] on layer WATER_VALVE  in *Model_Space
  *U63             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U64             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U65             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U66             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U67             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U68             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U69             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 0 time(s)
  *U70             [V-NODE-TREE:1 V-NODE-TEXT:3]   inserted 0 time(s)
  *U71             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1A43] on layer 0  in *Model_Space
  *U72             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1A49] on layer FIRE_HYDRANT  in *Model_Space
  *U73             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U74             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1A56] on layer FIRE_HYDRANT_VALVE  in *Model_Space
  *U75             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 0 time(s)
  *U76             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 0 time(s)
  *U77             [V-NODE-TREE:1 V-NODE-TEXT:3]   inserted 0 time(s)
  *U78             [V-NODE-WATR:1 V-NODE-TEXT:1]   inserted 0 time(s)
  *U79             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U80             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1A7D] on layer FIRE_HYDRANT  in *Model_Space
  *U81             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1A82] on layer FIRE_HYDRANT_VALVE  in *Model_Space
  *U82             [V-NODE-WATR:1]   inserted 1 time(s)
        ref [1A87] on layer WATER_VALVE  in *Model_Space
  *U83             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U84             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U85             [V-NODE-WATR:1 V-NODE-TEXT:2]   inserted 1 time(s)
        ref [1A9E] on layer SEWER_EASEMENT_TEXT  in *Model_Space
  *U86             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U87             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U88             [V-NODE-TEXT:3]   inserted 0 time(s)
  *U89             [V-NODE-TEXT:2]   inserted 0 time(s)
  *U90             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1AC8] on layer 0  in *Model_Space
  *U91             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1ACE] on layer 0  in *Model_Space
  *U92             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1AD4] on layer 0  in *Model_Space
  *U93             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1ADA] on layer 0  in *Model_Space
  *U94             [V-NODE-BNDY:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1AE0] on layer 0  in *Model_Space
  *U95             [V-NODE-BORE:1 V-NODE-TEXT:1]   inserted 1 time(s)
        ref [1AE6] on layer HORIZONTAL_AND_VERTICAL_CONTROL_POINT  in *Model_Space

block defs holding V-NODE geometry: 80

Notes

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

No notes yet.