← Inbox

C3D-0500 · COVER FIRM/vicinity label positions 260714 (read-only) [C3D-0501] done

Get FIRM PANEL / VICINITY MAP / FLOOD PLAIN label positions and TB frame on COVER to place the FEMA map beside the vicinity.

Script file
C3D-0500.cs
Target
260714 - 285 Huckaby Rd R5.dwg · model space
Author
claude
Approved
yes · auto-auth
Timeout
60s

C# payload


var lmgr=LayoutManager.Current; var lay=(Layout)Tx.GetObject(lmgr.GetLayoutId("COVER"),OpenMode.ForRead); var ps=(BlockTableRecord)Tx.GetObject(lay.BlockTableRecordId,OpenMode.ForRead);
foreach(ObjectId eid in ps){ var e=Tx.GetObject(eid,OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Entity;
  if(e is DBText t && (t.TextString.Contains("FIRM PANEL")||t.TextString=="VICINITY MAP"||t.TextString.Contains("FLOOD PLAIN"))){ var ex=t.GeometricExtents; Log("'"+t.TextString+"' at "+ex.MinPoint.X.ToString("F3")+","+ex.MinPoint.Y.ToString("F3")+" -> "+ex.MaxPoint.X.ToString("F3")+","+ex.MaxPoint.Y.ToString("F3")); }
  if(e is BlockReference br){ var bd=(BlockTableRecord)Tx.GetObject(br.BlockTableRecord,OpenMode.ForRead); if(bd.Name.IndexOf("SS_BLOCK",StringComparison.OrdinalIgnoreCase)>=0){ try{ var ex=br.GeometricExtents; Log("TB "+bd.Name+" "+ex.MinPoint.X.ToString("F2")+","+ex.MinPoint.Y.ToString("F2")+" -> "+ex.MaxPoint.X.ToString("F2")+","+ex.MaxPoint.Y.ToString("F2")); }catch{} } }
}

Result

Status
success
Drawing file
C:\Users\sanja\OneDrive\_SurveyDisco\260714 - 285 Huckaby Rd, Brooks, GA 30205, USA\260714 - 285 Huckaby Rd R5.dwg
Message
Executed C3D-0500 (0 entities touched).
Entities
Duration
500 ms
Civil 3D
25.0.0.0

Log

TB SS_BLOCK_17X11 0.33,0.33 -> 16.67,10.67
'FLOOD PLAIN AREA ' at 18.192,4.372 -> 19.358,4.452
'FIRM PANEL' at 32.359,-10.893 -> 34.673,-10.787
'VICINITY MAP' at 46.611,6.935 -> 47.913,7.055
'FLOOD PLAIN AREA ' at 0.492,5.764 -> 1.657,5.844

Notes

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

No notes yet.