创建门窗的方法大致相同,这里我们以创建门为例。
先用收集器获取我们想要创建门的族类型,然后在指定的墙上创建门实例。
/// <summary>
/// 创建门
/// </summary>
/// <param name="wall"></param>
/// <param name="level"></param>
/// <param name="point"></param>
public void CreateDoor(Wall wall, Level level, XYZ point)
{
//获取门
FamilySymbol fmSymbol = null;//门
FilteredElementCollector elements = new FilteredElementCollector(document);
List<FamilySymbol> familySymbols = elements.OfCategory(BuiltInCategory.OST_Doors).OfClass(typeof(FamilySymbol)).Cast<FamilySymbol>().ToList();
foreach (FamilySymbol item in familySymbols)
{
if (item.Name.Equals("750 x 2000mm"))
{
fmSymbol = item;
break;
}
}
FamilyInstance fmInstance = document.Create.NewFamilyInstance(point, fmSymbol, wall, level,
Autodesk.Revit.DB.Structure.StructuralType.NonStructural);
}
因篇幅问题不能全部显示,请点此查看更多更全内容