C3D-BLK-TABLES · Find what numbers the easement lines done
Read-only: tables in model space, sites/parcels, ParcelSegments and every Civil 3D label with its style and parent, to work out where the L16 numbering comes from.
C# payload
// READ-ONLY: what is numbering the sewer easement lines - find the tables and the labels that
// feed them, so a renumber from L1 can be planned.
var cd = CivilDoc;
var ms = (BlockTableRecord)Tx.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(Db), OpenMode.ForRead);
Log("=== tables in model space ===");
foreach (ObjectId id in ms) {
var e = Tx.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
if (e == null) continue;
var tn = e.GetType().Name;
if (!tn.Contains("Table")) continue;
Log(" " + tn + " h=" + e.Handle + " layer='" + e.Layer + "'");
}
Log("=== sites and their parcels/segments ===");
foreach (ObjectId sid in cd.GetSiteIds()) {
var site = Tx.GetObject(sid, OpenMode.ForRead) as Site;
if (site == null) continue;
var pids = site.GetParcelIds();
Log(" Site '" + site.Name + "' parcels=" + pids.Count);
foreach (ObjectId pid in pids) {
var p = Tx.GetObject(pid, OpenMode.ForRead) as Parcel;
if (p == null) continue;
Log(" Parcel '" + p.Name + "' layer='" + p.Layer + "' area=" + p.Area.ToString("F0"));
}
}
Log("=== ParcelSegments + their labels ===");
foreach (ObjectId id in ms) {
var e = Tx.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
if (e == null) continue;
if (e is ParcelSegment) Log(" ParcelSegment h=" + e.Handle + " layer='" + e.Layer + "'");
var lbl = e as Autodesk.Civil.DatabaseServices.Label;
if (lbl != null) {
string par = "none";
try { var pid = lbl.FeatureId;
if (!pid.IsNull) { var pe = Tx.GetObject(pid, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
par = pe == null ? "?" : pe.GetType().Name + " on '" + pe.Layer + "'"; } } catch {}
Log(" " + lbl.GetType().Name + " h=" + lbl.Handle + " layer='" + lbl.Layer + "' style='" + lbl.StyleName + "' parent=" + par);
}
}
Result
Log
=== tables in model space ===
ParcelSegmentTable h=23934 layer='0'
=== sites and their parcels/segments ===
Site '{DBBA330E-324D-4F34-97479ABEBDCF917D}|2' parcels=0
Site 'CURB' parcels=0
Site 'SITE|1' parcels=0
Site 'CURB|1' parcels=0
Site '{DBBA330E-324D-4F34-97479ABEBDCF917D}|3' parcels=0
Site '{DBBA330E-324D-4F34-97479ABEBDCF917D}' parcels=0
Site '{DBBA330E-324D-4F34-97479ABEBDCF917D}|4' parcels=0
Site 'Site 1' parcels=1
Parcel 'Standard : 2' layer='WATER_LINE' area=11562
Site '{DBBA330E-324D-4F34-97479ABEBDCF917D}|1' parcels=0
Site 'SITE' parcels=0
=== ParcelSegments + their labels ===
ParcelSegment h=101C9 layer='C-PROP-LINE'
ParcelSegment h=23924 layer='SEWER_EASEMENT'
ParcelSegmentLabel h=23925 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23926 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23927 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23928 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23929 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=2392A layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=2392B layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=2392C layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=2392D layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=2392E layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=2392F layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23930 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23931 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23932 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'
ParcelSegmentLabel h=23933 layer='0' style='Standard.Tag.1' parent=ParcelSegment on 'SEWER_EASEMENT'Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.