Autodesk.Revit.DB.CurtainGridSet
是 Revit 中表示幕墙网格集合的类。
幕墙网格集合包含多个幕墙网格,每个幕墙网格都由可调节的分隔符分割成不同的区域。CurtainGridSet 可以用来访问幕墙的网格,以及控制网格的分割方式和属性。
Autodesk.Revit.DB.CurtainGridSet
类提供以下构造函数:
public CurtainGridSet(Document doc)
: 创建一个新的 CurtainGridSet 对象,适用于指定的文档。Autodesk.Revit.DB.CurtainGridSet
类提供以下常用属性和方法:
public IList<CurtainGrid> GetCurtainGrids()
: 获取当前幕墙网格集合中的所有幕墙网格。返回类型为 IList<CurtainGrid>
。public void AddGrid(CurtainGrid grid)
: 向当前幕墙网格集合中添加一个新的幕墙网格。参数类型为 CurtainGrid
。public void RemoveGrid(CurtainGrid grid)
: 从当前幕墙网格集合中移除指定的幕墙网格。参数类型为 CurtainGrid
。public void SetProfile(int index, Profile profile)
: 设置当前幕墙网格集合指定下标的幕墙网格的轮廓。index
表示需要设置幕墙网格的下标,profile
表示需要设置的轮廓。下面的代码示例演示了如何使用 CurtainGridSet 类来获取幕墙的网格,并将网格的属性修改为指定的值。
// 获取当前文档
Document doc = uiApp.ActiveUIDocument.Document;
// 获取当前视图
View activeView = doc.ActiveView;
// 获取幕墙
Element curtainWall = new FilteredElementCollector(doc, activeView.Id)
.OfCategory(BuiltInCategory.OST_CurtainWallPanels)
.FirstOrDefault();
// 获取幕墙的网格集合
CurtainGridSet gridSet = CurtainGridSet.GetCurtainGridSet(doc, curtainWall.Id);
// 获取幕墙的网格
IList<CurtainGrid> grids = gridSet.GetCurtainGrids();
// 将每个幕墙网格的轮廓修改为指定的值
foreach (CurtainGrid grid in grids)
{
gridSet.SetProfile(grids.IndexOf(grid), new Profile());
}
如果使用 CurtainGridSet 类时出现以下异常,将会抛出异常:
Autodesk.Revit.Exceptions.InvalidOperationException
: 在尝试访问幕墙的网格集合时,该幕墙没有被成功插入到 Revit 文档中。System.ArgumentOutOfRangeException
: 设置幕墙网格的轮廓时,指定的下标超出集合的范围。