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.
时间: 2024-08-28 04:28:25

Revit隔离与隐藏的相关文章

为什么虚拟桌面比物理桌面更安全

1        争论 在安全的问题上,物理桌面和虚拟桌面那个更有优势一直以来都存在争论?很多人认为虚拟桌面只是将桌面集中部署到数据中心,本质上没有改变桌面的使用方式,所以安全上没有改善,这种观点的主要论据如下: 桌面OS和软件没有变化,2种类型桌面还是会遭遇攻击,感染病毒等. 用户行为在使用2种桌面时没有区别.所以用户行为导致的安全威胁无论在哪种桌面上都存在.比如VDI用户还可以在通过邮件.网盘等方法向外传送数据.用户还是有可能浏览被种马的网页,打开被感染的文档. 虚拟桌面能防范的安全威胁,如

Effictive C++知识点复习

1.尽量以const.enum.inline替换#define或者宁可以编译器替换预处理器eg:#define NUM_RATIO 1.653由于NUM_RATIO在编译器开始处理源码之前都被预处理器移走,因而当常量在编译时出错,只会提示到1.653.对于程序员并不知道1.653在哪个文件中存放.故追踪会浪费时间.即所使用的名称并未进入记号表中.解决方法:用一个常量替换上面的宏const double NumRatio = 1.653;注意:两个常量定义时的写法2.若在头文件定义一个常量的字符串

MySQL的事务与事务隔离

MySQL中自从引入InnoDB引擎后,在MySQL中就支持事务,事务就是一组原子性的查询语句,也即将多个查询当作一个独立的工作单元,平时通过提交工作单元来完成在事务中的相应的查询或修改,在能支持事务的数据库中必须要满足ACID测试,即事务的四个特性: A:Atomicity,原子性(都执行或者都不执行) C:Consistency,一致性(从一个一致性状态转到另外一个一致性状态) I:Isolaction,隔离性(一个事务的所有修改操作在提交前对其他事务时不可见的) D: Durability

迪米特原则与接口隔离原则

强调组件的封装性和信息隐藏的功能. 封装的越好,模块间的耦合越小: 隐藏的越好,组件的可用性越好. 在类的结构设计上,每一个类都应当尽量降低成员的访问权限 http://blog.csdn.net/wangjunkg/article/details/3762132 四.接口隔离原则 全称:“Interface Segregation Principle” 说明:使用多个专一功能的接口比使用一个的总接口总要好.从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的.过于臃肿的接

Innodb中的事务隔离级别和锁的关系

前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力.所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在.这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么. #一次封锁or两段锁? 因为有大量的并发访问,为了预防死锁,一般应用中推荐使用一次封锁法,就是在方法的开始阶段,已经预先知道

设计模式六大原则(4):接口隔离原则

接口隔离原则 定义:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法. 解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系.也就是采用接口隔离原则. 接口隔离原则(Interface  Segregation Principle, ISP):使用多个专门的接口,而不使用单一的总接口,即客户端

设计模式六大原则(4)——接口隔离原则

定义:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法. 解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系.也就是采用接口隔离原则. 举例来说明接口隔离原则: (图1  未遵循接口隔离原则的设计) 这个图的意思是:类A依赖接口I中的方法1.方法2.方法3,类B是对类A依赖的实现.类C依赖接

设计模式 之 设计的 六大原则(4) 接口隔离原则

接口隔离原则 定义:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法. 解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系.也就是采用接口隔离原则. 举例来说明接口隔离原则: (图1 未遵循接口隔离原则的设计) 这个图的意思是:类A依赖接口I中的方法1.方法2.方法3,类B是对类A依赖的实现

Innodb中的事务隔离级别和锁的关系(转)

原文:http://tech.meituan.com/innodb-lock.html 前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式.同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力.所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在.这里通过分析MySQL中InnoDB引擎的加锁机制,来抛砖引玉,让读者更好的理解,在事务处理中数据库到底做了什么. 一次封锁or两段锁? 因为有大量的并