Autodesk.Revit.DB.Structure.AnalyticalElementSelector
是Revit API中的一个类,它可用于选择结构分析模型中的元素,例如结构框架、支撑构件等。该类能够帮助开发人员按照特定的搜索条件定位到结构分析模型中的特定元素,从而能够对这些元素进行计算和修复等操作。
Autodesk.Revit.DB.Structure.AnalyticalElementSelector
类包含以下构造函数:
AnalyticalElementSelector()
: 通过此构造函数可创建一个新的 AnalyticalElementSelector
实例。Autodesk.Revit.DB.Structure.AnalyticalElementSelector
类包含以下属性:
SelectedElements
: 此属性返回一个包含所有符合选择条件的结构分析模型元素的元素集合。该集合中的元素类型为 Autodesk.Revit.DB.AnalyticalModelElement
。Autodesk.Revit.DB.Structure.AnalyticalElementSelector
类包含以下方法:
AddCategoryFilter(ElementId categoryId)
: 通过此方法可向选择器中添加一个元素类别的过滤条件,只选择符合该类别条件的结构分析模型元素。
AddIntersectionsWith(ReferenceArray refs, PlanarFace face)
: 通过此方法可向选择器中添加一个与指定平面面交叉的元素的过滤条件,只选择符合该条件的结构分析模型元素。
AddLocationFilter(LocationCurve curve)
: 通过此方法可向选择器中添加一个位置的过滤条件,只选择符合该条件的结构分析模型元素。
AddSelection(AnalyticalModelElement element)
: 通过此方法可向选择器中添加一个结构分析模型元素。
AddSelection(IList<AnalyticalModelElement> elements)
: 通过此方法可向选择器中添加一个结构分析模型元素列表。
AddSizeFilter(double size, SpatialElementBoundaryLocation location)
: 通过此方法可向选择器中添加一个尺寸的过滤条件,只选择符合该条件的结构分析模型元素。
Clear()
: 通过此方法可清空选择器中的所有过滤条件。
GetSelectedElements()
: 通过此方法可获取选择器中符合当前所有过滤条件的结构分析模型元素的元素集合。
下面的代码展示了如何使用 AnalyticalElementSelector
类从结构分析模型中选择成员,该成员跨越平面面,并且其大小符合一定的尺寸限制:
// 定义一个新的 AnalyticalElementSelector 实例
AnalyticalElementSelector selector = new AnalyticalElementSelector();
// 添加平面面交叉的选择条件
ReferenceArray refs = new ReferenceArray();
refs.Append(new Reference(new XYZ(0.0, 0.0, 0.0)));
PlanarFace face = new PlanarFace(refs);
selector.AddIntersectionsWith(refs, face);
// 添加大小限制的选择条件
selector.AddSizeFilter(5.0, SpatialElementBoundaryLocation.FinishFace);
// 获取符合选择条件的成员列表
IList<AnalyticalModelElement> selectedElements = selector.GetSelectedElements();
// 对该成员列表进行相关操作
// ...