← Inbox

C3D-CHECKMHOL2 · List all manhole-layer geometry with sizes (read-only) done

Every Circle/Polyline on SEWER_MANHOLE/SEWER_MANHOLE_EXISTING with radius, to see all sizes present before cleanup.

Script file
C3D-CHECKMHOL2.cs
Target
active document · model space
Author
claude
Approved
yes · claude (read-only)
Timeout
60s

C# payload

// READ-ONLY: list every Circle/Polyline on SEWER_MANHOLE / SEWER_MANHOLE_EXISTING with its radius,
// so we know exactly what sizes exist right now before erasing anything.
using System;
using Autodesk.AutoCAD.DatabaseServices;

var db = Db;
using (var tr = db.TransactionManager.StartTransaction())
{
    var ms = (BlockTableRecord)tr.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(db), OpenMode.ForRead);
    int n = 0;
    foreach (ObjectId id in ms)
    {
        var e = tr.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
        if (e == null) continue;
        if (!string.Equals(e.Layer, "SEWER_MANHOLE", StringComparison.OrdinalIgnoreCase)
         && !string.Equals(e.Layer, "SEWER_MANHOLE_EXISTING", StringComparison.OrdinalIgnoreCase)) continue;
        if (e is Circle c) { Log($"{e.Layer} Circle r={c.Radius:0.00} center=({c.Center.X:0.0},{c.Center.Y:0.0}) h={e.Handle}"); n++; }
        else if (e is Polyline pl) { Log($"{e.Layer} Polyline verts={pl.NumberOfVertices} widthAt0={pl.GetStartWidthAt(0):0.00} h={e.Handle}"); n++; }
        else Log($"{e.Layer} {e.GetType().Name} h={e.Handle}");
    }
    Log($"total manhole-layer geometry entities: {n}");
    tr.Commit();
}

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\SS_Outfall_260612_SHEET.dwg
Message
Executed C3D-CHECKMHOL2 (0 entities touched).
Entities
Duration
320 ms
Civil 3D
25.0.0.0

Log

SEWER_MANHOLE Circle r=5.00 center=(2296379.9,1279953.5) h=1854
SEWER_MANHOLE Circle r=5.00 center=(2296511.3,1279951.4) h=1855
SEWER_MANHOLE Circle r=5.00 center=(2296604.8,1280046.2) h=1856
SEWER_MANHOLE Circle r=5.00 center=(2296550.0,1280052.2) h=1857
SEWER_MANHOLE Circle r=5.00 center=(2296652.1,1280058.1) h=1858
SEWER_MANHOLE Circle r=5.00 center=(2296685.3,1280052.2) h=1859
SEWER_MANHOLE Circle r=5.00 center=(2296713.9,1280025.1) h=185A
SEWER_MANHOLE Circle r=5.00 center=(2296827.3,1280096.1) h=185B
SEWER_MANHOLE Circle r=5.00 center=(2296878.7,1280034.2) h=185C
SEWER_MANHOLE Circle r=5.00 center=(2296980.4,1279912.1) h=185D
SEWER_MANHOLE Circle r=5.00 center=(2297249.9,1279675.3) h=185E
SEWER_MANHOLE Circle r=5.00 center=(2297269.1,1279597.6) h=185F
SEWER_MANHOLE Circle r=5.00 center=(2297423.0,1279618.7) h=1860
SEWER_MANHOLE_EXISTING Circle r=5.00 center=(2297424.8,1279599.2) h=1861
SEWER_MANHOLE_EXISTING Polyline verts=2 widthAt0=5.00 h=1862
total manhole-layer geometry entities: 15

Notes

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

No notes yet.