/// <summary> /// Place all selected views on this sheet's appropriate location. /// </summary> /// <param name="views">all selected views</param> /// <param name="sheet">all views located sheet</param> private void PlaceViews(ViewSet views, ViewSheet sheet) { double xDistance = 0; double yDistance = 0; CalculateDistance(sheet.Outline, views.Size, ref xDistance, ref yDistance); Autodesk.Revit.DB.UV origin = GetOffSet(sheet.Outline, xDistance, yDistance); //Autodesk.Revit.DB.UV temp = new Autodesk.Revit.DB.UV (origin.U, origin.V); double tempU = origin.U; double tempV = origin.V; int n = 1; foreach (Autodesk.Revit.DB.View v in views) { Autodesk.Revit.DB.UV location = new Autodesk.Revit.DB.UV(tempU, tempV); Autodesk.Revit.DB.View view = v; Rescale(view, xDistance, yDistance); try { sheet.AddView(view, location); } catch (ArgumentException /*ae*/) { throw new InvalidOperationException("The view '" + view.Name + "' can't be added, it may have already been placed in another sheet."); } if (0 != n++ % m_rows) { tempU = tempU + xDistance * (1 - TITLEBAR); } else { tempU = origin.U; tempV = tempV + yDistance; } } }
/// <summary> /// Place all selected views on this sheet's appropriate location. /// </summary> /// <param name="views">all selected views</param> /// <param name="sheet">all views located sheet</param> private void PlaceViews(ViewSet views, ViewSheet sheet) { double xDistance = 0; double yDistance = 0; CalculateDistance(sheet.Outline, views.Size, ref xDistance, ref yDistance); Autodesk.Revit.DB.UV origin = GetOffSet(sheet.Outline, xDistance, yDistance); //Autodesk.Revit.DB.UV temp = new Autodesk.Revit.DB.UV (origin.U, origin.V); double tempU = origin.U; double tempV = origin.V; int n = 1; foreach (Autodesk.Revit.DB.View v in views) { Autodesk.Revit.DB.UV location = new Autodesk.Revit.DB.UV (tempU, tempV); Autodesk.Revit.DB.View view = v; Rescale(view, xDistance, yDistance); try { sheet.AddView(view, location); } catch (ArgumentException /*ae*/) { throw new InvalidOperationException("The view '" + view.Name + "' can't be added, it may have already been placed in another sheet."); } if (0 != n++ % m_rows) { tempU = tempU + xDistance * (1 - TITLEBAR); } else { tempU = origin.U; tempV = tempV + yDistance; } } }