PPT_LOGO_4b
Revit Programming Introduction <#>
Copyright © 2009 Autodesk Inc.
ブール演算フィルターの使用例
•C#
•public static List<Element> GetAllModelGroupTypes( Application app )
•{
•  List<Element> elements = new List<Element>();
•  Filter filterType = app.Create.Filter.NewTypeFilter( typeof( GroupType ) );
•  Filter filterParam = app.Create.Filter.NewParameterFilter(
•    BuiltInParameter.SYMBOL_FAMILY_NAME_PARAM, CriteriaFilterType.Equal,
•    "Model Group" );
•  Filter filterAnd = app.Create.Filter.NewLogicAndFilter( filterType, filterParam );
•  app.ActiveDocument.get_Elements( filterAnd, elements );
•  return elements;
•}
•VB
•Shared Function GetAllModelGroupTypes(ByVal app As Revit.Application) As List(Of Element)
•  Dim elements As New List(Of Element)
•  Dim filterType As Filter = app.Create.Filter.NewTypeFilter(GetType(GroupType))
•  Dim filterParam = app.Create.Filter.NewParameterFilter( _
•    BuiltInParameter.SYMBOL_FAMILY_NAME_PARAM, _
•    CriteriaFilterType.Equal, "Model Group")
•  Dim filter As Filter = app.Create.Filter.NewLogicAndFilter(filterType, filterParam)
•  Dim n As Integer = app.ActiveDocument.Elements(filter, elements)
•  Return elements
•End Function
要素コレクション
更に、フィルタリングにはブール演算機能も存在します。
ここでは、クラス名がGroupTypeであり、尚且つBuiltInParameterのSYMBOL_FAMILY_NAME_PARAMが“Model Group”のエレメントが取得されています。