RevitAPI之关于宿主元素

宿主元素是指可以被某些元素附着的元素,比如墙,墙面可以放置门窗。天花板、地板、 屋顶等,都属于宿主元素。



1、获取宿主上的元素

使用HostObject. FindInserts方法可以用来获取插入到宿主元素上的元素的集合:
IList<ElementId〉FindInserts( bool addRectOpenings,bool includeShadows,bool includeEmbeddedWalls,bool includeSharedEmbeddedlnserts)
参数说明如表

参数

类型

说明

addRectOpenings

Bool

设为True,则包含洞口

includeShadows

Bool

设为Tme,则包含阴影

includeEmbcddedWalls

Bool

设为True,则包含嵌人的墙

includeSharedEmbeddedlnserts

Bool

设为True,则包含共享的嵌入墙


2、获取宿主的面
如果要在宿主上面放置构件,就需要获取宿主的面。用户除了从元素的几何信息分析出它的面,还可以使用HostObjectUtils提供的几个方法,更方便地获取宿主的面。
方法如表所示:

方法

用途

static IList<Reference> GetBottomFaces(HostObject hostObject)

获得宿主底部面的引用(Reference)

static IList<Reference> GetSideFaces(HostObject hostObject, ShellLayerType side)

获得宿主侧边而的引用(Reference)

static IList<Reference> GetTopFaces(HostObject hostObject)

获得宿主顶部而的引用(Reference)


获取宿主的面的方法

Floor floor = GetElement<Floor>(185601); 
 
// 获取一个楼板面的引用 
IList<Reference> references = HostObjectUtils.GetTopFaces(floor); 
if (references.Count == 1) 
{ 
   var reference = references[0]; 
 
   // 从引用获取面的几何对象,这里是一个PlanarFace 
   GeometryObject topFaceGeo = floor.GetGeometryObjectFromReference(reference); 
   // 转型成我们想要的对象 
   PlanarFace topFace = topFaceGeo as PlanarFace; 
} 

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值