前言
这个例子介绍如何创建和修改幕墙系统。
内容
如图所示,创建一个幕墙系统,这个系统里有三个面。
创建幕墙系统
// 遍历体量元素的几何,得到所有的面,保存在 m_mydocument.MassFaceArray
// 获取用户选中的面
FaceArray faceArray = new FaceArray();
foreach (int index in faceIndices){
faceArray.Append(m_mydocument.MassFaceArray.get_Item(index));
}
// 过滤所有的幕墙系统类型,用第一个作为类型
FilteredElementCollector filteredElementCollector = new FilteredElementCollector(m_document);
filteredElementCollector.OfClass(typeof(CurtainSystemType));
m_mydocument.CurtainSystemType= filteredElementCollector.FirstElement() as CurtainSystemType;
// 创建幕墙系统
Autodesk.Revit.DB.CurtainSystem curtainSystem = null;
curtainSystem = m_mydocument.Document.Create.NewCurtainSystem(faceArray, m_mydocument.CurtainSystemType);
添加和删除幕墙系统中的面
参考幕墙系统的 API 接口:
namespace Autodesk.Revit.DB
{
public class CurtainSystem : CurtainSystemBase
{
public CurtainSystemType CurtainSystemType { get; set; }
public CurtainGridSet CurtainGrids { get; }
public void AddCurtainGrid(Reference face);
public void RemoveCurtainGrid(Reference face);
}
}