This is what I use to get the page dimensions. Note it works on the active layer so you have to store the active layer name, switch to the layer you are querying, then back again on completion. Also note it is returning mm:   Procedure GetDrawingSizeRect2(VAR dx1, dy1, dx2, dy2 : REAL; VAR PageWdth, PageHght : INTEGER); VAR     s1, s2 : STRING;     r1 : REAL; BEGIN     IF NOT IsNewCustomObject(gPIOName) THEN BEGIN         s2 := GetLName(ActLayer);         s1 := GetLName(G