我正在为Revit 2019创建一个插件,并希望通过API选择特定系列的所有实例并进行输入。 Revit sdk中提供了“ ElementClassFilter”来过滤元素,但是我想用蓝线显示所有相同类型的实例。我已经通过“ 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>();
但是我想显示相同家族的所有实例,并在下图中键入
答案 0 :(得分: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。