C3D-260612-LAYERDUMP · Dump all layers + usage done
Read-only: every layer with color, linetype, lineweight, plot/off/frozen/locked flags, description, and how many entities use it across model space, all layouts and all block definitions.
C# payload
// READ-ONLY: every layer with its full definition + how many entities reference it, so the
// UNUSED (empty) layers can be recreated in the target drawing - copy/paste only brings layers
// that carry geometry.
// Counts model space, every layout's paper space, and every block definition.
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
var used = new Dictionary<string,int>();
void Tally(BlockTableRecord btr) {
foreach (ObjectId id in btr) {
var e = Tx.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
if (e == null) continue;
used[e.Layer] = used.ContainsKey(e.Layer) ? used[e.Layer]+1 : 1;
}
}
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
foreach (ObjectId bid in bt) Tally((BlockTableRecord)Tx.GetObject(bid, OpenMode.ForRead));
int total = 0, empty = 0;
Log("### LAYER | color | linetype | lineweight | plot | off | frozen | locked | desc | entities");
foreach (ObjectId id in lt) {
var l = (LayerTableRecord)Tx.GetObject(id, OpenMode.ForRead);
total++;
int n = used.ContainsKey(l.Name) ? used[l.Name] : 0;
if (n == 0) empty++;
var ltype = ((LinetypeTableRecord)Tx.GetObject(l.LinetypeObjectId, OpenMode.ForRead)).Name;
Log(l.Name + "|" + l.Color.ColorIndex + "|" + ltype + "|" + (int)l.LineWeight + "|" +
l.IsPlottable + "|" + l.IsOff + "|" + l.IsFrozen + "|" + l.IsLocked + "|" +
(l.Description ?? "") + "|" + n);
}
Log("### " + total + " layers, " + empty + " with no entities");
Result
Log
### LAYER | color | linetype | lineweight | plot | off | frozen | locked | desc | entities 0|7|Continuous|-3|True|False|False|False||81 Defpoints|7|Continuous|-3|False|False|False|False||0 V-SSWR-PIPE|13|Continuous|-3|True|False|False|False||0 V-SSWR-MHOL|5|Continuous|-3|True|False|False|False||0 V-SSWR-TEXT|7|Continuous|-3|True|False|True|False||0 V-GREASE|30|Continuous|-3|True|False|True|False||8 V-STRM-STRC|3|Continuous|-3|True|False|False|False||8 V-STRM-TEXT|3|Continuous|-3|True|False|True|False||20 V-WATR-STRC|5|Continuous|-3|True|False|False|False||1 V-WATR-LINE|5|Continuous|-3|True|False|False|False||0 V-WATR-ALIGN|150|DASHED|-3|False|False|False|False||1 V-WATR-TEXT|7|Continuous|-3|True|False|True|False||0 V-ESMT-SSE20|6|DASHED|-3|True|False|True|False||0 SHEET|7|Continuous|-3|True|False|False|False||12 VIEWPORTS|7|Continuous|-3|True|False|False|False||2 SS-FRZ|7|Continuous|-3|True|False|True|False||58 SS-GREASE|30|Continuous|-3|True|False|False|False||4 SS-SSMH|5|Continuous|-3|True|False|False|False||0 SS-ESMT-SSE20|4|DASHED|-3|True|False|False|False||0 SS-V-ROAD-CURB|2|Continuous|-3|True|False|False|False||6 HORIZONTAL_AND_VERTICAL_CONTROL_POINT|7|Continuous|-3|True|False|False|False||0 HORIZONTAL_AND_VERTICAL_CONTROL_TEXT|7|Continuous|-3|True|False|False|False||0 PROJECT_BOUNDARY|7|Continuous|-3|True|False|False|False||0 PROJECT_BOUNDARY_TEXT|7|Continuous|-3|True|False|False|False||0 PROPERTY_LINE|7|Continuous|-3|True|False|False|False||0 LAND_LOT_LINE|7|Continuous|-3|True|False|False|False||0 LAND_LOT_LINE_TEXT|7|Continuous|-3|True|False|False|False||0 LOT_NUMBER_TEXT|7|Continuous|-3|True|False|False|False||0 ADDRESS_TEXT|7|Continuous|-3|True|False|False|False||0 ROAD_EDGE_OF_PAVEMENT|8|Continuous|-3|True|False|False|False||0 ROAD_RIGHT-OF-WAY|8|Continuous|-3|True|False|False|False||0 ROAD_RIGHT-OF-WAY_TEXT|8|Continuous|-3|True|False|False|False||0 ROAD_TEXT|8|Continuous|-3|True|False|False|False||1 SEWER_LINE|3|Continuous|-3|True|False|False|False||12 SEWER_LINE_TEXT|3|Continuous|-3|True|False|False|False||7 SEWER_LINE_EXISTING|3|Continuous|-3|True|False|False|False||0 SEWER_LINE_EXISTING_TEXT|3|Continuous|-3|True|False|False|False||0 SEWER_MANHOLE|3|Continuous|-3|True|False|False|False||10 SEWER_MANHOLE_TEXT|3|Continuous|-3|True|False|False|False||20 SEWER_MANHOLE_EXISTING|3|Continuous|-3|True|False|False|False||0 SEWER_MANHOLE_EXISTING_TEXT|3|Continuous|-3|True|False|False|False||0 SEWER_TAP|3|Continuous|-3|True|False|False|False||0 SEWER_TAP_TEXT|3|Continuous|-3|True|False|False|False||0 SEWER_END_OF_LINE|3|Continuous|-3|True|False|False|False||0 SEWER_END_OF_LINE_TEXT|3|Continuous|-3|True|False|False|False||0 SEWER_FORCE_MAIN|3|Continuous|-3|True|False|False|False||0 SEWER_FORCE_MAIN_TEXT|3|Continuous|-3|True|False|False|False||0 SEWER_EASEMENT|3|Continuous|-3|True|False|False|False||3 SEWER_EASEMENT_TEXT|3|Continuous|-3|True|False|False|False||1 WATER_LINE|5|Continuous|-3|True|False|False|False||6 WATER_LINE_TEXT|5|Continuous|-3|True|False|False|False||11 WATER_LINE_EXISTING|5|Continuous|-3|True|False|False|False||0 WATER_LINE_EXISTING_TEXT|5|Continuous|-3|True|False|False|False||0 WATER_VALVE|5|Continuous|-3|True|False|False|False||1 WATER_VALVE_TEXT|5|Continuous|-3|True|False|False|False||4 WATER_VALVE_EXISTING|5|Continuous|-3|True|False|False|False||0 WATER_VALVE_EXISTING_TEXT|5|Continuous|-3|True|False|False|False||0 WATER_METER|5|Continuous|-3|True|False|False|False||0 WATER_METER_TEXT|5|Continuous|-3|True|False|False|False||0 WATER_VAULT|5|Continuous|-3|True|False|False|False||2 WATER_VAULT_TEXT|5|Continuous|-3|True|False|False|False||4 WATER_SERVICE|5|Continuous|-3|True|False|False|False||6 WATER_SERVICE_TEXT|5|Continuous|-3|True|False|False|False||0 WATER_END_CAP|5|Continuous|-3|True|False|False|False||1 WATER_END_CAP_TEXT|5|Continuous|-3|True|False|False|False||0 WATER_EASEMENT|5|Continuous|-3|True|False|False|False||0 WATER_EASEMENT_TEXT|5|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT|1|Continuous|-3|True|False|False|False||2 FIRE_HYDRANT_TEXT|1|Continuous|-3|True|False|False|False||3 FIRE_HYDRANT_EXISTING|1|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT_EXISTING_TEXT|1|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT_VALVE|1|Continuous|-3|True|False|False|False||2 FIRE_HYDRANT_VALVE_TEXT|1|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT_VALVE_EXISTING|1|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT_VALVE_EXISTING_TEXT|1|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT_MANUFACTURER|1|Continuous|-3|True|False|False|False||0 FIRE_HYDRANT_MANUFACTURED_YEAR|1|Continuous|-3|True|False|False|False||0 FDC|1|Continuous|-3|True|False|False|False||0 UTILITY_EASEMENT|6|Continuous|-3|True|False|False|False||0 UTILITY_EASEMENT_TEXT|6|Continuous|-3|True|False|False|False||0 UTILITY_EASEMENT_EXISTING|6|Continuous|-3|True|False|False|False||0 UTILITY_EASEMENT_EXISTING_TEXT|6|Continuous|-3|True|False|False|False||0 CASING|4|Continuous|-3|True|False|False|False||0 CASING_TEXT|4|Continuous|-3|True|False|False|False||0 PUMP_STATION|4|Continuous|-3|True|False|False|False||0 PUMP_STATION_TEXT|4|Continuous|-3|True|False|False|False||0 WATER_QUALITY_CRITICAL_AREA|4|Continuous|-3|True|False|False|False||0 WETLAND_BOUNDARY|4|Continuous|-3|True|False|False|False||0 PDF_C-SSWR-PIPE|80|Continuous|-3|True|False|False|False||100 PDF_P-RW|6|Continuous|-3|True|False|False|False||1 PDF_PGRADE|252|Continuous|-3|True|False|True|False||408 PDF_C-DEMO|3|Continuous|-3|True|False|True|False||0 PDF_C-STRM-CNTR|252|Continuous|-3|True|False|False|False||25 PDF_2015_Flood_Map_DFIRM|5|Continuous|-3|True|False|True|False||3 PDF_V-BNDY|252|Continuous|-3|True|False|False|False||7 PDF_E GRAVEL|252|Continuous|-3|True|False|True|False||427 PDF_E CONCRETE|7|Continuous|-3|True|False|True|False||2 PDF_E WALL|252|Continuous|-3|True|False|True|False||2 PDF_E EDGE PVMT|252|Continuous|-3|True|False|True|False||2 PDF_V-BNDY-ANNO|252|Continuous|-3|True|False|False|False||324 PDF_E FENCE|252|Continuous|-3|True|False|True|False||5 PDF_V-ROAD-CURB|243|Continuous|-3|True|False|False|False||238 PDF_E IPF-SET|252|Continuous|-3|True|False|True|False||30 PDF_E POWER|252|Continuous|-3|True|False|True|False||23 PDF_V-POWR-OVHD|252|Continuous|-3|True|False|True|False||280 PDF_C-SIDEWLK-HTC|9|Continuous|-3|True|False|False|False||477 PDF_C-STRIPES|252|Continuous|-3|True|False|False|False||126 PDF_C-CURB-FACE|252|Continuous|-3|True|False|False|False||246 PDF_E STORM|7|Continuous|-3|True|False|False|False||7 PDF_V-WATR|252|Continuous|-3|True|False|False|False||137 PDF_C-ESMT-BLDG-SBAK|252|Continuous|-3|True|False|False|False||10 PDF_P-Setbacks|252|Continuous|-3|True|False|True|False||1 PDF_V-STRM-STRC-TEXT|7|Continuous|-3|True|False|False|False||13 PDF_TXT200|252|Continuous|-3|True|False|True|False||0 PDF_C-SIDEWALKS|7|Continuous|-3|True|False|False|False||6 PDF_INDEX_CONTOURS|252|Continuous|-3|True|False|True|False||1152 PDF_INTER_CONTOURS|252|Continuous|-3|True|False|True|False||5365 PDF_ESMT v2|7|Continuous|-3|True|False|False|False||8 PDF_C-BLDG-COLS|9|Continuous|-3|True|False|False|False||120 PDF_C-WATR-CNTR|5|Continuous|-3|True|False|False|False||45 PDF_C-WATR-STRC|251|Continuous|-3|True|False|False|False||16 PDF_C-WATR-ANNO|7|Continuous|-3|True|False|False|False||29 PDF_C-SSWR-PIPE-PATT|7|Continuous|-3|True|False|True|False||61 PDF_V-RIVR-EDGE|252|Continuous|-3|True|False|True|False||41 PDF_Level 3|243|Continuous|-3|True|False|True|False||2 PDF_V-SSWR|252|Continuous|-3|True|False|False|False||16 PDF_V-ESMT|252|Continuous|-3|True|False|False|False||3 PDF_C-ESMT-BLDG-SBAK-ANNO|7|Continuous|-3|True|False|False|False||0 PDF_C-SSWR-STRC-PATT|7|Continuous|-3|True|False|True|False||24 PDF_0-PIPE-SS-A|7|Continuous|-3|True|False|False|False||30 PDF_0-PIPE-STM B|7|Continuous|-3|True|False|True|False||32 PDF_0-PIPE-EX SS|9|Continuous|-3|True|False|True|False||1 PDF_0-PIPE-SS-A-T|7|Continuous|-3|True|False|False|False||73 PDF_SWM|252|Continuous|-3|True|False|True|False||14 PDF_V-STRM-GRAT|7|Continuous|-3|True|False|False|False||18 PDF_0-PIPE-STM C|7|Continuous|-3|True|False|True|False||42 PDF_SWM-TXT|7|Continuous|-3|True|False|True|False||0 PDF_V-SSWR-ANNO|7|Continuous|-3|True|False|False|False||8 PDF_E STORM TEXT|7|Continuous|-3|True|False|False|False||17 PDF_P-ESMT|7|Continuous|-3|True|False|False|False||1 PDF_0-PIPE-STM A|7|Continuous|-3|True|False|True|False||32 PDF_C-CONC|252|Continuous|-3|True|False|True|False||15 PDF_C-SIGNS|252|Continuous|-3|True|False|True|False||4 PDF_C-ANNO|252|Continuous|-3|True|False|False|False||13 PDF_V-ROAD-MRKG|243|Continuous|-3|True|False|False|False||61 PDF_0-ALIGN-SDL2-T|252|Continuous|-3|True|False|True|False||31 PDF_C-WATR-TEXT|7|Continuous|-3|True|False|False|False||7 PDF_C-SSWR-LATS|80|Continuous|-3|True|False|False|False||33 PDF_ae_title-36x24$SEAL|7|Continuous|-3|True|False|True|False||21 PDF_ae_title-36x24$SEAL2|5|Continuous|-3|True|False|True|False||59 PDF_ae_title-36x24$T-BD-LINE|7|Continuous|-3|True|False|True|False||3 PDF_ae_title-36x24$T-BD-INFO2|7|Continuous|-3|True|False|True|False||27 PDF_ae_title-36x24$T-BD-PROJ|7|Continuous|-3|True|False|True|False||12 PDF_ae_title-36x24$T-BD-PROJ2|7|Continuous|-3|True|False|True|False||19 PDF_ae_title-36x24$T-BD-INFO1|7|Continuous|-3|True|False|True|False||3 PDF_ae_title-36x24$T-BD-COPY|7|Continuous|-3|True|False|True|False||93 PDF_ae_title-36x24$T-BD-LOGO|7|Continuous|-3|True|False|True|False||12 PDF_ae_title-36x24$TITLE|252|Continuous|-3|True|False|True|False||30 PDF_ae_title-36x24$TBORDER|7|Continuous|-3|True|False|True|False||228 PDF_GENERAL-TEXT|7|Continuous|-3|True|False|False|False||2 PDF_NOTES|7|Continuous|-3|True|False|True|False||1 PDF_GRAPHIC_SCALE|7|Continuous|-3|True|False|True|False||69 PDF_REVISIONS|30|Continuous|-3|True|False|True|False||3 PDF_Text|7|Continuous|-3|True|False|False|False||200 PDF_IMPORT_ASBUILT|8|Continuous|-3|True|False|False|False||0 SS-5000-PTS|1|Continuous|-3|True|False|False|False||443 ### 166 layers, 64 with no entities
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.