Autodesk.Revit.DB.CeilingAndFloor
是Revit API中的一个类,表示建筑中的吊顶和地面。
Autodesk.Revit.DB.CeilingAndFloor
继承自 Autodesk.Revit.DB.HostObject
。
Autodesk.Revit.DB.CeilingAndFloor
具有以下常用属性:
Area
: 返回吊顶/地面的面积。CeilingHeight
: 返回吊顶的高度。FloorType
: 返回地面的类型。Height
: 返回地面的高度。IsSlabEndCap
: 返回一个bool值,指定地面是否为端部地面。Volume
: 返回吊顶/地面的体积。Autodesk.Revit.DB.CeilingAndFloor
具有以下常用方法:
GetAnalyticalModel()
: 获取吊顶/地面的解析模型。如果吊顶/地面没有解析模型,则返回Null。GetDisplayUnitType()
: 获取吊顶/地面的显示单位类型。如果显示单位类型未设置,则返回DisplayUnitType.DUT_UNDEFINED
。GetParameter(string)
: 获取指定名称的参数值。GetParameters()
: 获取吊顶/地面的所有参数。GetTypeId()
: 获取吊顶/地面元素的类型ID。以下示例演示如何通过Revit API创建吊顶。
//创建一个新的吊顶类型
FilteredElementCollector floorTypes = new FilteredElementCollector(doc).OfClass(typeof(FloorType));
FloorType floorType = floorTypes.First(f => f.Name == "Generic - 12\"");
//获取墙面实体
ElementId wallId = new ElementId(123);
Wall wall = (Wall)doc.GetElement(wallId);
GeometryElement geomElem = wall.get_Geometry(new Options());
Solid wallSolid = null;
foreach (GeometryObject geomObj in geomElem)
{
Solid solid = geomObj as Solid;
if (solid != null && solid.Volume > 0)
{
wallSolid = solid;
break;
}
}
//计算吊顶面积和高度
double area = wallSolid.Faces.Sum(f => f.Area);
double height = 10;
//创建吊顶
using (Transaction tx = new Transaction(doc, "Create Ceiling"))
{
tx.Start();
CeilingAndFloor ceiling = CeilingAndFloor.Create(doc, wallId, area, height, floorType.Id, false);
tx.Commit();
}