Autodesk.Revit.DB.Structure.AnalyticalOpening是Revit API中的一个结构类,用于表示一个分析开口。分析开口是指在结构分析中所假设的整个或部分的缺口,经常用于模拟楼板与墙体之间的缺口,以及楼板上的构造体。
public AnalyticalOpening()
get/set CornerRadius:获取或设置分析开口的圆角半径。默认值为0,单位为英尺。
get/set HostElementId:获取或设置分析开口所属的基础元素的ID。例如:属于楼板的开口,其基础元素ID就是楼板的ID。
get/set LevelId:获取或设置分析开口所处的标高ID。
get/set OpeningType:获取或设置分析开口的类型。分为“Recess”和“Projection”两种类型。
get/set Perimeter:获取或设置分析开口的边界。分析开口的形状由其边界线定义。
public void Dispose():释放此分析开口的非托管资源,并在内部将此分析开口与其 Revit 文档分离。
public bool IsEquivalentTo(AnalyticalOpening other):检查此分析开口是否等价于其他分析开口。
以下代码演示了如何使用AnalyticalOpening类创建一个分析开口,并设置其属性。
//创建一个新的AnalyticalOpening对象
AnalyticalOpening opening = new AnalyticalOpening();
//设置基础元素ID,例如设置该开口属于楼板元素
opening.HostElementId = floor.Id;
//设置开口类型为Recess
opening.OpeningType = AnalyticalOpeningType.Recess;
//设置边界,创建一个矩形圆角的边界
IList<Curve> curves = new List<Curve>();
curves.Add(Line.CreateBound(new XYZ(0, 0, 0), new XYZ(10, 0, 0)));
curves.Add(Line.CreateBound(new XYZ(10, 0, 0), new XYZ(10, 10, 0)));
curves.Add(Line.CreateBound(new XYZ(10, 10, 0), new XYZ(0, 10, 0)));
curves.Add(Line.CreateBound(new XYZ(0, 10, 0), new XYZ(0, 0, 0)));
opening.Perimeter = curves;
//设置圆角半径为1英尺
opening.CornerRadius = 1;
//设置开口所处的标高ID
opening.LevelId = level.Id;