Revit把所有交互选择都封装在selection中,selection中有几种方法,分别是
![](https://img.haomeiwen.com/i7907735/6754720aaa3a0114.png)
Pick....是执行命令之后选择
GetelementIds是执行命令之前选择,并传入图元Id
SetelementIds是执行命令之后,根据所传入的Id选中图元。
被框选又被分为3种,crossing指图元被部分框选时就被选中(从右下往左上框选时)
encrossing指图元被全部框选时才被选中(从左上往右下框选时)
direction根据方向来判断,若从右下往左上即crossing,若从左上往右下
即encrossing.
1.PickBox
![](https://img.haomeiwen.com/i7907735/5d3bdf02756b320c.png)
2.PickElementsByRectangle
![](https://img.haomeiwen.com/i7907735/80e95c87bec52bbb.png)
![](https://img.haomeiwen.com/i7907735/1747a2f7fe04f10b.png)
![](https://img.haomeiwen.com/i7907735/3c9c0fc3b4b94539.png)
3.PickObject
![](https://img.haomeiwen.com/i7907735/72d7caaf70e9cd0f.png)
![](https://img.haomeiwen.com/i7907735/c09932b7ca83e6d3.png)
4.PickPoint
![](https://img.haomeiwen.com/i7907735/a3dc03e4c64d144e.png)
5.GetElementsId
添加代码TaskDialog.Show("title", uidoc.Selection.GetElementIds().Count.ToString());
实现如图所示效果
![](https://img.haomeiwen.com/i7907735/98a0d12e98d5c478.png)
网友评论