← Inbox

C3D-0401 · READ-ONLY: re-check H2O wPROFILE state (reverted) [C3D-H2OREAD3] done

Re-reads frozen layers, PDF/Aec counts, WATER + SEWER_EASEMENT layers (these stay), and layer-0 split before re-running the cleanup.

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

C# payload

Log("drawing: " + Db.Filename);
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
var lt = (LayerTable)Tx.GetObject(Db.LayerTableId, OpenMode.ForRead);
var top=new Dictionary<string,int>(); var blk=new Dictionary<string,int>();
foreach (ObjectId bid in bt){ var def=(BlockTableRecord)Tx.GetObject(bid,OpenMode.ForRead); var d=def.IsLayout?top:blk; foreach (ObjectId sid in def){ var e=Tx.GetObject(sid,OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity; if(e==null)continue; if(!d.ContainsKey(e.Layer))d[e.Layer]=0; d[e.Layer]++; } }
var names=new List<string>(); foreach (ObjectId id in lt) names.Add(((LayerTableRecord)Tx.GetObject(id,OpenMode.ForRead)).Name); names.Sort(StringComparer.OrdinalIgnoreCase);
Log("total layers: " + names.Count);
Log("=== FROZEN layers ===");
foreach (var n in names){ var l=(LayerTableRecord)Tx.GetObject(lt[n],OpenMode.ForRead); if(!l.IsFrozen)continue; int t=top.ContainsKey(n)?top[n]:0,b=blk.ContainsKey(n)?blk[n]:0; Log(string.Format("  {0,-34} top={1,-4} inblk={2,-4} {3}", n, t, b, l.IsOff?"OFF":"")); }
Log("=== PDF* layers ===");
int pc=0; foreach (var n in names) if(n.StartsWith("PDF",StringComparison.OrdinalIgnoreCase)){ pc++; }
Log("  count: " + pc);
Log("=== Aec* layers ===");
foreach (var n in names) if(n.StartsWith("Aec",StringComparison.OrdinalIgnoreCase)){ int t=top.ContainsKey(n)?top[n]:0,b=blk.ContainsKey(n)?blk[n]:0; Log("  "+n+"  top="+t+" inblk="+b); }
Log("=== WATER* layers (these STAY not frozen) ===");
foreach (var n in names) if(n.IndexOf("WATER",StringComparison.OrdinalIgnoreCase)>=0 || n.IndexOf("WATR",StringComparison.OrdinalIgnoreCase)>=0){ var l=(LayerTableRecord)Tx.GetObject(lt[n],OpenMode.ForRead); int t=top.ContainsKey(n)?top[n]:0,b=blk.ContainsKey(n)?blk[n]:0; Log(string.Format("  {0,-34} top={1,-4} inblk={2,-4} {3}", n, t, b, l.IsFrozen?"FRZ":"")); }
Log("=== V-NODE / V-CTRL layers ===");
foreach (var n in names) if(n.StartsWith("V-NODE",StringComparison.OrdinalIgnoreCase)||n.StartsWith("V-CTRL",StringComparison.OrdinalIgnoreCase)){ int t=top.ContainsKey(n)?top[n]:0,b=blk.ContainsKey(n)?blk[n]:0; if(t>0||b>0) Log(string.Format("  {0,-34} top={1,-4} inblk={2}", n, t, b)); }
Log(string.Format("=== layer 0: top={0} inblk={1} ===", top.ContainsKey("0")?top["0"]:0, blk.ContainsKey("0")?blk["0"]:0));

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-0401 (0 entities touched).
Entities
Duration
514 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
total layers: 71
=== FROZEN layers ===
  PROPERTY_LINE                      top=3    inblk=0    
  PROPERTY_LINE_DASHED               top=17   inblk=0    
  SEWER_EASEMENT 1 ORNAGE            top=1    inblk=0    
  SEWER_EASEMENT 1 YELLOW            top=1    inblk=0    
  SEWER_EASEMENT E2                  top=1    inblk=1    
  SEWER_EASEMENT RED                 top=13   inblk=0    
  SEWER_LINE E2                      top=6    inblk=0    
  SEWER_LINE_TEXT E2                 top=13   inblk=0    
  SEWER_MANHOLE E2                   top=6    inblk=0    
  SEWER_MANHOLE_TEXT E2              top=7    inblk=0    
  SS-0-FRAME                         top=64   inblk=4    
  SS-BOUNDARY                        top=2    inblk=0    
  WATER_LINE_PTS                     top=25   inblk=50   
=== PDF* layers ===
  count: 7
=== Aec* layers ===
  AecObjExplode_22X17_Pspace  top=1 inblk=0
  AecObjExplode_22X17_Vport_1D77  top=0 inblk=0
=== WATER* layers (these STAY not frozen) ===
  V-NODE-WATR                        top=0    inblk=42   
  WATER_LINE                         top=2    inblk=0    
  WATER_LINE_PTS                     top=25   inblk=50   FRZ
  WATER_LINE_TEXT                    top=13   inblk=4    
  WATER_VALVE                        top=5    inblk=0    
  WATER_VAULT                        top=4    inblk=0    
=== V-NODE / V-CTRL layers ===
  V-NODE-BNDY                        top=0    inblk=8
  V-NODE-BORE                        top=0    inblk=1
  V-NODE-POLE                        top=0    inblk=2
  V-NODE-STRM                        top=0    inblk=14
  V-NODE-TEXT                        top=0    inblk=110
  V-NODE-TREE                        top=0    inblk=2
  V-NODE-WATR                        top=0    inblk=42
=== layer 0: top=23 inblk=195 ===

Notes

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

No notes yet.