예제 #1
0
 /// <summary>
 /// Try to found an open <see cref="Autodesk.Revit.UI.UIView"/> that is referencing the specified <see cref="Autodesk.Revit.DB.View"/> element.
 /// </summary>
 /// <param name="view"></param>
 /// <param name="uiView"></param>
 /// <returns>true on succes.</returns>
 public static bool TryGetOpenUIView(this Autodesk.Revit.DB.View view, out Autodesk.Revit.UI.UIView uiView)
 {
     using (var uiDocument = new Autodesk.Revit.UI.UIDocument(view.Document))
     {
         uiView = uiDocument.GetOpenUIViews().Where(x => x.ViewId == view.Id).FirstOrDefault();
         return(uiView is object);
     }
 }
예제 #2
0
        private void MenuItem_Cloud_GoTo(object sender, RoutedEventArgs e)
        {
            Element element = ((RevisionsViewViewModel)((MenuItem)sender).Tag).Cloud;

            if (ThisApplication.thisApp.uidoc.ActiveView.Id != element.OwnerViewId)
            {
                Utilities.MakeViewActive(ThisApplication.thisApp.uidoc, element.OwnerViewId);
            }

            if (element is AnnotationSymbol)
            {
                Autodesk.Revit.UI.UIView uiview = Utilities.GetActiveUIView(ThisApplication.thisApp.uidoc);
                XYZ[] corners = Utilities.GetElementRectangle(element, 10, 10);
                Utilities.ZoomToRectangle(uiview, corners);
            }
            else
            {
                ThisApplication.thisApp.uidoc.ShowElements(element);
            }
        }