/// <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); } }
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); } }