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<ElementId> ids)
|
{
|
_uiDoc.Selection.SetElementIds(ids);
|
view.Zoom(_uiDoc, ids);
|
}
|
|
public static void Zoom(this View3D view, UIDocument _uiDoc, List<ElementId> ids)
|
{
|
_uiDoc.ShowElements(ids);
|
}
|
|
public static void OnlyShow(this View3D view, List<ElementId> ids)
|
{
|
if (view.IsTemporaryHideIsolateActive())
|
{
|
view.DisableTemporaryViewMode(TemporaryViewMode.TemporaryHideIsolate);
|
}
|
view.IsolateElementsTemporary(ids);
|
}
|
}
|
}
|