如何在Revit中选择所有家庭实例?

问题描述 投票:-1回答:1

我正在为Revit 2019创建一个插件,并希望通过API选择特定系列和类型的所有实例。 “ElementClassFilter”在Revit sdk中可用于过滤元素,但我想在蓝线中显示相同类型的所有实例。我已通过“ElementClassFilter”过滤了特定类型,但正在寻找如何通过API在revit中选择它们。

以下代码用于过滤特定系列和类型的元素。

ElementClassFilter filter = new ElementClassFilter(typeof(FamilyInstance));
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.WherePasses(filter);
var query = from element in collector where element.Name == "Single-Standard" select element;

List<FamilyInstance> familyInstances = query.Cast<FamilyInstance>().ToList<FamilyInstance>();

但我想在下图中显示相同系列的所有实例并输入

"Window: Single-Standard" image

c# revit-api revit
1个回答
1
投票
UIApplication UIapp = commandData.Application;
UIDocument UIdoc = UIapp.ActiveUIDocument;
Document doc = UIdoc.Document;

FilteredElementCollector elementCollector = new FilteredElementCollector(doc);
elementCollector.OfClass(typeof(FamilyInstance));

Selection sel = UIdoc.Selection;
sel.SetElementIds(elementCollector.ToList().Select(o => o.Id).ToList()); //User selection

这是如何设置用户选择的简单示例。有关revit Selection类的详细信息,您可以访问此link

© www.soinside.com 2019 - 2024. All rights reserved.