Selection类位于Autodesk.Revit.UI.Selection Namespace下,用于在执行外部API命令时,检索当前用户所选择的元素。
主要包含四种选择模式:
1.框选区域
调用一个通用的双击编辑器,该编辑器允许用户在屏幕上指定矩形区域。
PickBox(PickBoxStyle)
PickBox(PickBoxStyle, String)
PickBoxStyle是控制框选区域时线框的样式:
- Crossing是虚线框
- Enclosing是实线框
- Directional是根据正反来确定实线还是虚线。
String用于显示自定义状态提示字符串。
2.框选构件
通过绘制矩形提示用户选择多个元素。
PickElementsByRectangle()
PickElementsByRectangle(String)
PickElementsByRectangle(ISelectionFilter)
PickElementsByRectangle(ISelectionFilter, String)
String用于显示自定义状态提示字符串。
ISelectionFilter用于筛选指定类型的元素。
3.选择对象
提示用户选择一个对象。
PickObject(ObjectType)
PickObject(ObjectType, ISelectionFilter)
PickObject(ObjectType, String)
PickObject(ObjectType, ISelectionFilter, String)
提示用户选择多个对象
PickObjects(ObjectType)
PickObjects(ObjectType, ISelectionFilter)
PickObjects(ObjectType, String)
PickObjects(ObjectType, ISelectionFilter, String)
PickObjects(ObjectType, ISelectionFilter, String, IList Reference )
ObjectType(枚举类型)包含在选择操作期间允许选择的对象类型:
- Nothing 无选择
- Element 选择整个元素
- PointOnElement 选择元素上任意的点
- Edge 选择模型上任意的边
- Face 选择的面
- LinkedElement 选择链接的RVT文件中的元素
- Subelement 选择整个元素或子元素。
ISelectionFilter 用于筛选指定类型的元素。
String 用于显示自定义状态提示字符串。
IList Reference 提供一组预先选择的对象,并将在选择开始时被选中。
4.点选
提示用户选择活动工作平面上的一个点。
PickPoint()
PickPoint(String)
PickPoint(ObjectSnapTypes)
PickPoint(ObjectSnapTypes, String)
ObjectSnapTypes(枚举类型)包含允许在PickPoint操作期间设置捕捉对象的类型:
- None 无捕捉
- Endpoints 捕捉元素或组件的端点。
- Midpoints 捕捉元素或组件的中点。
- Nearest 捕捉元素或组件的最近点。
- WorkPlaneGrid 捕捉工作平面网格。
- Intersections 捕捉交点。
- Centers 捕捉弧的中心点。
- Perpendicular 捕捉元素或组件的垂直点。
- Tangents 捕捉弧的切点。
- Quadrants 捕捉象限点。适用于arcs,jump snaps。
- Points 捕捉独立点。
String 用于显示自定义状态提示字符串。
Jump snaps
Jump snaps are any snap points that are away from the current position of the cursor. For example, if you are resting the cursor on the midpoint of a wall, a jump snap might display at the endpoint of the wall.
Jump snaps occur when you turn off the Nearest object snap using a keyboard shortcut or the Snaps dialog.