C3D-PSCHECK · Check layouts and block done
Read-only: list paper space layouts with sizes, and whether SS_BLOCK_22X17 is already defined.
C# payload
// READ-ONLY: layouts, their paper sizes, and whether SS_BLOCK_22X17 is already defined.
var lm = LayoutManager.Current;
var dict = (DBDictionary)Tx.GetObject(Db.LayoutDictionaryId, OpenMode.ForRead);
Log("Layouts:");
foreach (DBDictionaryEntry e in dict)
{
var lay = (Layout)Tx.GetObject(e.Value, OpenMode.ForRead);
var ext = lay.Limits;
Log($" '{lay.LayoutName}' tab={lay.TabOrder} blockTableRecordId={lay.BlockTableRecordId} limits={lay.Limits} plotSize={lay.PlotPaperSize}");
}
Log($"Current layout: '{lm.CurrentLayout}'");
var bt = (BlockTable)Tx.GetObject(Db.BlockTableId, OpenMode.ForRead);
bool found = false;
foreach (ObjectId id in bt)
{
var btr = (BlockTableRecord)Tx.GetObject(id, OpenMode.ForRead);
if (btr.Name.ToUpper().Contains("22X17") || btr.Name.ToUpper().Contains("SS_BLOCK"))
{ Log($" block already defined: '{btr.Name}'"); found = true; }
}
if (!found) Log(" SS_BLOCK_22X17 is NOT defined in this drawing - needs import.");
Result
Log
Layouts: '11X17' tab=1 blockTableRecordId=(1862161304720) limits=((0,0),(10.99999975970411,16.99999951940822)) plotSize=(279.3999938964844,431.79998779296875) '22X17 A' tab=3 blockTableRecordId=(2175696067424) limits=((0,0),(21.99999951940822,16.99999951940822)) plotSize=(558.7999877929688,431.79998779296875) '22X17 B' tab=4 blockTableRecordId=(2175696083744) limits=((0,0),(21.99999951940822,16.99999951940822)) plotSize=(558.7999877929688,431.79998779296875) '22X17 C' tab=5 blockTableRecordId=(1862518976912) limits=((0,0),(21.99999951940822,16.99999951940822)) plotSize=(558.7999877929688,431.79998779296875) 'HOUSEDIM' tab=2 blockTableRecordId=(2175695976752) limits=((0,0),(10.99999975970411,16.99999951940822)) plotSize=(279.3999938964844,431.79998779296875) 'Model' tab=0 blockTableRecordId=(2141036704240) limits=((0,0),(12,9)) plotSize=(215.89999389648438,279.3999938964844) Current layout: '22X17 C' block already defined: 'SS_BLOCK_11X17' block already defined: 'SS_BLOCK_11X17 (1)' block already defined: 'SS_BLOCK_11X17 (2)' block already defined: 'SS_BLOCK_11X17 (3)'
Notes
What worked, what didn't, job-specific gotchas — flagged notes feed the recipes.
No notes yet.