Autodesk.Revit.DB.Subelement是Revit API中用于表示设计模型子部件的类。子部件表示模型元素的一部分,如墙的一面、立柱的一段、窗户的边框等。
Autodesk.Revit.DB.Subelement继承自Autodesk.Revit.DB.Element。
Subelement(GeometryObject geomObj, Element owner)
: 创建一个子部件对象。geomObj表示子部件的几何形状,owner表示子部件所属的元素。Element Owner
: 获取或设置子部件所属的元素。GeometryObject GeometryObject
: 获取子部件的几何对象。bool IsBelongsToElement(Element element)
:判断子部件是否属于给定的元素。ICollection<Face> GetFaces()
: 获取子部件的所有面。Autodesk.Revit.DB.Subelement自Revit 2012版本开始引入。
//获取一个Element对象
Element ele = ...;
//获取Element对象的子部件集合
IEnumerable<GeometryObject> subObjs = ele.get_Geometry(new Options()).OfType<GeometryObject>();
//遍历子部件集合
foreach(GeometryObject subObj in subObjs)
{
if(subObj is Solid)
{
Solid solid = subObj as Solid;
//遍历Solid中的Face
foreach(Face face in solid.Faces)
{
//创建Subelement并添加到其所属的Element对象中
Subelement subele = new Subelement(face, ele);
ele.AddSubelement(subele);
}
}
}