C3D-0249 · 260714 Huckaby: where does the 17X11 viewport live done
READ-ONLY. Compares paper-space viewports on 11X17 vs 17X11.
C# payload
// Where does the 17X11 viewport actually live? Compare against 11X17.
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
foreach (ObjectId btrId in bt) {
var rec = (BlockTableRecord)Tx.GetObject(btrId, OpenMode.ForRead);
if (!rec.IsLayout) continue;
var lay = (Layout)Tx.GetObject(rec.LayoutId, OpenMode.ForRead);
if (lay.LayoutName != "11X17" && lay.LayoutName != "17X11") continue;
int n = 0;
Log("LAYOUT " + lay.LayoutName + ":");
foreach (ObjectId id in rec) {
var o = Tx.GetObject(id, OpenMode.ForRead);
var vp = o as Viewport;
if (vp != null) {
n++;
Log(string.Format(" VIEWPORT#{0} on={1} center=({2:F2},{3:F2}) size={4:F2}x{5:F2} viewCenter=({6:F2},{7:F2})",
vp.Number, vp.On, vp.CenterPoint.X, vp.CenterPoint.Y, vp.Width, vp.Height, vp.ViewCenter.X, vp.ViewCenter.Y));
}
var br = o as BlockReference;
if (br != null) Log(" BLOCK " + br.Name);
}
Log(" paper-space viewports: " + n);
}
Result
Log
LAYOUT 11X17: VIEWPORT#1 on=True center=(31.27,8.63) size=84.88x23.86 viewCenter=(13.83,10.02) VIEWPORT#2 on=True center=(5.49,8.52) size=10.55x16.37 viewCenter=(1036448.40,465018.49) BLOCK SS_LEGEND BLOCK SS_BLOCK_11X17 paper-space viewports: 2 LAYOUT 17X11: BLOCK SS_BLOCK_17X11 paper-space viewports: 0
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.