RevitLookup.Test.SDKSamples.CreateSheet.Views.PlaceViews C# (CSharp) Method

PlaceViews() private method

Place all selected views on this sheet's appropriate location.
private PlaceViews ( ViewSet views, ViewSheet sheet ) : void
views ViewSet all selected views
sheet ViewSheet all views located sheet
return void
        private void PlaceViews(ViewSet views, ViewSheet sheet)
        {
            double xDistance = 0;
            double yDistance = 0;
            CalculateDistance(sheet.Outline, views.Size, ref xDistance, ref yDistance);

            UV origin = GetOffset(sheet.Outline, xDistance, yDistance);
            UV temp = new UV(origin.U, origin.V);

            int n = 1;
            foreach (Autodesk.Revit.DB.View v in views) {
                UV location = new UV(temp.U, temp.V);
                Autodesk.Revit.DB.View view = v;
                Rescale(view, xDistance, yDistance);
                Viewport.Create(view.Document, sheet.Id, view.Id, new XYZ(location.U, location.V, 0));

                if (0 != n++ % m_rows) {
                    temp = new UV( temp.U + xDistance * (1 - TITLEBAR), temp.V );
                }
                else {
                    temp = new UV( origin.U,temp.V + yDistance);
                }
            }
        }