Revit API之Document与UIDocument的深入理解【比目鱼原创】

1)Document
Document类表示打开的Revit的项目。Revit 可以同时打开多个项目,即同时拥有多个Document对象。Document对象用于存储Revit 的元素、管理视图和相关数据。Document类主要提供获取位置场地信息、管理元素、文件管理等功能。

(1) 获取位置和场地
每个项目有唯一的位置属性(Revit界面为“地点”,API为SiteLocation)来标识这个项目在三维全局上的地理位置。同时,一个项目可以有很多的场地属性(对应API为ProjectLocation),每个场地厲性可以是一个相对于地理位置的位移,也可以是一个相对于地理位置的旋转。
SiteLocation属性可以取到项目的地理位置信息。在Revit每个项目都有一个场地信息。
属性如下:

属性

说明

Elevation

当前位的海拔

Latitude

当前位近所处纬度

Longitude

当前位近所处经度

PlaceName

当前位近的地名

TimeZone

当前位置所在时区

WeatherStationNamc

当前位置使用的气象站名


Document 类提供了 ProjectLoactions 属性来取到项目场地集合(ProjectLoactionSet) 。用户可以遍历这个集合来取到当前项目的所有场地信息(ProjectLocation)。


一个ProjectLocation对象用来表示项目中的一个命名场地,即一个模型实体在项目中的位置,它包括一个ProjectPosition(表示相对于地理位置的偏移或旋转)和一个 SiteLocation(这个场地对应于的地理信息对象)。
如图所示:


用户可以通过调用 ProjectLoacatioru Duplicate (String)来创建一个新的 ProjectLocation 对象。


(2) 视图管理
一个Revit 项目文档可以有多个视图。通过 Document类的ActiveView属性可以取到当前活动的视图对象。如果想获取全部的视图对象,可以通过过滤器来实现。


(3) 获取元素
Revit 文档对象存储了对应Revit 项目里的全部元素。用户可以通过文档对象提供的以下方 
法来获取元素:
•通过Elementld获取对应的兀素;
•通过引用获取对应的元素;
•通过Uniqueld获取对应的元素。
如果用户想获取多个同类别的元素,可以通过过滤器来实现。


 2) UIDocument

UIDocument对象主要包括了跟UI相关的文档信息和操作,比如ActiveView和 ShowElement。它主要提供以下功能:
(1) 获取元素。UIDocument类提供了 Selection属性,用户可以通过这个属性取到被选中的元素。这个属性返回一个被选中的对象的集合。
(2) 显示元素
UIDocument类提供了一系列的ShowElements()方法缩放视图来显示适当的元素。
(3) 视图管理
UIDooiment类提供的视图管理主要是与ActiveDocument相关的。
UIDocument. ActiveView属性可以返回或设置当前的文档的活动视图;
UIDocument. RefreshActiveView()方法可以用来刷新当前文档的活动视图;
UIDocument. RequestViewChange()可以发出一个改变当前文档的视图的异步请求。
 UIDocument类也可以取到当前文档中打开的全部视图的列表。GetOpenUIViews()

方法返回一个UlViews的列表。

(UlViews表示Revit 界面视图框中的信息)

=========【更多高级应用请关注公众号】========


===================================

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值