選択した要素を修正するには:
次の例では、現在の選択を取得し、壁のみをフィルタして新しい選択として設定することで、選択した要素を変更する方法を示しています。
|
コード領域 7-1: 選択した要素を変更 |
private void ChangeSelection(UIDocument uidoc)
{
// Get selected elements from current document.
ICollection<ElementId> selectedIds = uidoc.Selection.GetElementIds();
// Display current number of selected elements
TaskDialog.Show("Revit", "Number of selected elements: " + selectedIds.Count.ToString());
// Go through the selected items and filter out walls only.
ICollection<ElementId> selectedWallIds = new List<ElementId>();
foreach (ElementId id in selectedIds)
{
Element elements = uidoc.Document.GetElement(id);
if (elements is Wall)
{
selectedWallIds.Add(id);
}
}
// Set the created element set as current select element set.
uidoc.Selection.SetElementIds(selectedWallIds);
// Give the user some information.
if (0 != selectedWallIds.Count)
{
TaskDialog.Show("Revit", selectedWallIds.Count.ToString() + " Walls are selected!");
}
else
{
TaskDialog.Show("Revit","No Walls have been selected!");
}
}
|