/// <summary> /// List the size and location of the given /// sheet, the views it contains, and the /// transforms from Revit model space to the view /// and from the view to the sheet. /// </summary> static void ListSheetAndViewTransforms( ViewSheet sheet) { Document doc = sheet.Document; // http://thebuildingcoder.typepad.com/blog/2010/09/view-location-on-sheet.html GetViewTransform(sheet); foreach (ElementId id in sheet.GetAllViewports()) { Viewport vp = doc.GetElement(id) as Viewport; XYZ center = vp.GetBoxCenter(); Outline outline = vp.GetBoxOutline(); XYZ diff = outline.MaximumPoint - outline.MinimumPoint; Debug.Print( "viewport {0} for view {1} outline {2} " + "diff {3} label outline {4}", vp.Id, vp.ViewId, Util.OutlineString(outline), Util.PointString(diff), Util.OutlineString(vp.GetLabelOutline())); } foreach (View v in sheet.GetAllPlacedViews() .Select <ElementId, View>(id => doc.GetElement(id) as View)) { GetViewTransform(v); } }