revit二次开发之七 Revit隔离与隐藏
Revit中经常出现隔离和隐藏对象,通过API如何实现这些功能呢?主要用到View中的几个关键函数
一、隔离元素
1、一个隔离多个类别
public void IsolateCategoriesTemporary(ICollection<ElementId> elementIds)
2、一次隔离一个类别
public void IsolateCategoryTemporary(ElementId elementId)
3、一次隔离多个元素
public void IsolateElementsTemporary(ICollection<ElementId> elementIds)
4、一次隔离一个元素
public void IsolateElementTemporary(ElementId elementId)
二、隐藏元素
1、隐藏多个类别
public void HideCategoriesTemporary(ICollection<ElementId> elementIds)
2、隐藏一个类别
public void HideCategoryTemporary(ElementId elementId)
3、隐藏多个元素
public void HideElementsTemporary(ICollection<ElementId> elementIdSet)
4、隐藏一个元素
public void HideElementTemporary(ElementId elementId)
三、判断是否存在隐藏和隔离
通过调用以下函数,判断当前视图中,是否有隐藏和隔离对象,假如为true,则说明存在隔离和隐藏对象,假如为false则不存在
public bool IsTemporaryHideIsolateActive()
四、取消隐藏和隔离
调用以下函数,实现对隔离和隐藏对象的处理
public void DisableTemporaryViewMode(TemporaryViewMode mode)
TemporaryViewMode是一个枚举,其枚举的参数如下:
成员 | 表述 |
---|---|
RevealHiddenElements | The view is in reveal hidden elements mode |
TemporaryHideIsolate | 视图是临时隐藏和隔离模式 |
WorksharingDisplay | The view is in one of the worksharing display modes |
TemporaryViewProperties | The view is in the selected View Properties applied temporarily. |
Raytrace | The view is in the mode that shows the model in interactive raytracing |
ExplodedView | The view is in the mode that shows the model in exploded view and allows user changes/configurations |
RevealConstraints | The view is in the mode that reveals constraints between elements in the model. |
PreviewFamilyVisibility | The view is in the mode that shows visibility settings applied in the environment of a family document. |