Revit在进行场地建模时,需要在场地平面上挖洞,则需要再场地平面上创建建筑地坪,根据查询API,得到BuildingPad.Create方法来进行生成。入参为类型ID和轮廓线。
public static BuildingPad Create(
Document document,
ElementId buildingPadTypeId,
ElementId levelId,
IList<CurveLoop> curveLoops
)
轮廓线我用的是闭合的模型线,直接框选即可,建筑地坪类型ID的用过滤器来过滤。
FilteredElementCollector levels = new FilteredElementCollector(doc);//创建收集器
ViewPlan viewPlan = levels.OfClass(typeof(ViewPlan)).FirstOrDefault<Element>(m => m.Name == "场地") as ViewPlan;//过滤得到标高1
if (null == viewPlan)
{
viewPlan = levels.OfClass(typeof(ViewPlan)).FirstOrDefault<Element>(m => m.Name == "标高 1") as ViewPlan;//过滤得到标高1
}
Level level = viewPlan.GenLevel;
Transaction transaction = new T