← Inbox

C3D-0408 · READ-ONLY: state of the 7 target layers after the failed C3D-0407 [C3D-KILLCHK] done

After C3D-0407 aborted with eInvalidLayer, reports for each of the 7 target layers whether it still exists and how many top-level/guts entities remain, plus the current layer, to see what the failed run actually did.

Script file
C3D-0408.cs
Target
ACAD-260612-C-Store As-Built 60 H2O wPROFILE.dwg · model space
Author
claude
Approved
yes · auto-auth
Timeout
120s

C# payload

// Read the state of the 7 target layers after the failed C3D-0407: do they still exist, and
// how much is on each. Determines what actually happened before the eInvalidLayer abort.
Log("drawing: " + Db.Filename);
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
string[] tgt = { "WATER_LINE_PTS","SS-0-FRAME","SEWER_EASEMENT 1 ORNAGE","SEWER_EASEMENT 1 YELLOW","SEWER_EASEMENT E2","SEWER_EASEMENT RED","PDF2_E IPF-SET" };
foreach (var n in tgt){
    if(!lt.Has(n)){ Log("  " + n + " : DELETED (gone)"); continue; }
    int top=0,blk=0;
    foreach (ObjectId bid in bt){ var def=(BlockTableRecord)Tx.GetObject(bid,OpenMode.ForRead); foreach (ObjectId sid in def){ var e=Tx.GetObject(sid,OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity; if(e==null||e.IsErased||!e.Layer.Equals(n,StringComparison.OrdinalIgnoreCase))continue; if(def.IsLayout)top++; else blk++; } }
    var l=(LayerTableRecord)Tx.GetObject(lt[n],OpenMode.ForRead);
    Log(string.Format("  {0} : EXISTS  top={1} guts={2} {3}", n, top, blk, l.IsFrozen?"FRZ":""));
}
Log("current layer: " + ((LayerTableRecord)Tx.GetObject(Db.Clayer,OpenMode.ForRead)).Name);

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260613 - 5030 E Lake Pkwy, Stockbridge, GA 30281, USA\ACAD-260612-C-Store As-Built 60 H2O wPROFILE.dwg
Message
Executed C3D-0408 (0 entities touched).
Entities
Duration
459 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-C-Store As-Built 60 H2O wPROFILE.dwg
  WATER_LINE_PTS : EXISTS  top=0 guts=50 
  SS-0-FRAME : EXISTS  top=0 guts=4 
  SEWER_EASEMENT 1 ORNAGE : EXISTS  top=1 guts=0 
  SEWER_EASEMENT 1 YELLOW : EXISTS  top=1 guts=0 FRZ
  SEWER_EASEMENT E2 : EXISTS  top=1 guts=0 FRZ
  SEWER_EASEMENT RED : EXISTS  top=13 guts=0 FRZ
  PDF2_E IPF-SET : EXISTS  top=0 guts=16 
current layer: WATER_LINE_PTS

Notes

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

No notes yet.