环境:Revit2018  win10

不论是UIDocument.Selection.PickObject还是UIDocument.Selection.PickElementsByRectangle,诸如此类,代码运行,然后用户去点选或框选,选择后,所选的Element并未高亮显示,导致你可能会忘记选的什么。

为解决此问题,需要在选择后再加一步代码

以矩形框选为例

UIDocument uiDoc;
Selection sels=uiDoc.Selection;
List<Element> list=sels.PickElementsByRectangle();
List<ElementId>idList=new List<ElementId>();
list.Foreach(l=>
{
idList.Add(l.Id);
});
sels.SetElementIds(idList);

如上将选中的物体加入到一个ElementId的List列表中,再将列表通过

UIDocument.Selection.SetElementIds(IList<ElementId>)

加入到要显示高亮的选中列表中,如此,你选择的就会高亮显示