using Autodesk.Revit.DB; using Autodesk.Revit.UI; using HStation.RevitDev.RevitDataExport.Service; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace HStation.RevitDev.RevitDataExport.Utility { public static class ViewHelper { private static View3D _view3d; public static View3D Get3dView(Document doc) { if (_view3d != null) { return _view3d; } FilteredElementCollector collector = new FilteredElementCollector(doc).OfClass(typeof(View3D)); foreach (View3D v in collector) { if (!v.IsTemplate) { return v; } } TaskDialog.Show("警告", "未找到三维视图,请先创建三维视图!"); return null; } public static void Select(this View3D view, UIDocument _uiDoc, List ids) { _uiDoc.Selection.SetElementIds(ids); } public static void Zoom(this View3D view, UIDocument _uiDoc, List ids) { _uiDoc.ShowElements(ids); } public static void OnlyShow(this View3D view, List ids) { if (view.IsTemporaryHideIsolateActive()) { view.DisableTemporaryViewMode(TemporaryViewMode.TemporaryHideIsolate); } view.IsolateElementsTemporary(ids); } } }