Tekla Open API

Detailed and full API reference helps you master Tekla Open API

This is the most recent version of Tekla Open API.
For older versions, please visit Tekla Warehouse.

BinaryFilterExpressionCollection Class

The BinaryFilterExpressionCollection class represents a collection of BinaryFilterItem objects. The class is used to represent linear expressions. This class cannot be inherited.
Inheritance Hierarchy

Namespace:  Tekla.Structures.Filtering
Assembly:  Tekla.Structures (in Tekla.Structures.dll) Version: 2019.0.0.0 (2019.0.0.0)
Syntax
[SerializableAttribute]
public sealed class BinaryFilterExpressionCollection : FilterExpression, 
	IList<BinaryFilterExpressionItem>, ICollection<BinaryFilterExpressionItem>, IEnumerable<BinaryFilterExpressionItem>, 
	IEnumerable

The BinaryFilterExpressionCollection type exposes the following members.

Constructors
  Name Description
Public method BinaryFilterExpressionCollection
Initializes a new instance of the BinaryFilterExpressionCollection class.
Top
Properties
  Name Description
Public property Count
Gets the number of elements actually contained in the collection.
Public property IsEnable
Gets or sets the enabled state of the filter expression.
(Inherited from FilterExpression.)
Public property IsReadOnly
Gets a value indicating whether the collection is read-only.
Public property IsSynchronized
Gets a value indicating whether the collection supports multithreading.
Public property Item
Gets or sets the item at a specific index.
Public property SyncRoot
Gets the root for synchronization.
Top
Methods
  Name Description
Public method Add
Adds a BinaryFilterExpressionItem object at the end of the collection.
Public method Clear
Removes all the elements from the collection.
Public method Contains
Determines whether an element is in the collection.
Public method CopyTo
Copies the collection to the input array.
Public method GetFirst
Gets the first item of the collection.
Public method GetLast
Gets the last item of the collection.
Public method IndexOf
Searches for the specified BinaryFilterExpressionItem in the collection and returns a zero-based index if found.
Public method Insert
Inserts an element in the collection at a specified index.
Public method IsFirst
Determines whether an element is the first item of the collection.
Public method IsLast
Determines whether an element is the last item of the collection.
Public method Remove
Removes the first occurrence of a specific object from the collection.
Public method RemoveAt
Removes the element at the specified index from the collection.
Public method ToString
Creates a string representation of the current object.
(Inherited from Expression.)
Top
Examples
The following examples show how to compose different filter expression collections. After the BinaryFilterExpressionCollection is composed use Filter to build the filter file.
using System;
using Tekla.Structures.Filtering;
using Tekla.Structures.Filtering.Categories;

public class FilterExamples
{
       // Creates a filter for the following filter expression:
       // (PartName == BEAM1 OR PartName == BEAM2 OR PartName == BEAM3)
       public BinaryFilterExpressionCollection CreateBinaryFilterExpressionCollection()
       {
           // Creates the filter expressions
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression Beam1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression Beam2 = new StringConstantFilterExpression("BEAM2");
           StringConstantFilterExpression Beam3 = new StringConstantFilterExpression("BEAM3");

           // Creates the binary filter expressions
           BinaryFilterExpression Expression1 = new BinaryFilterExpression(PartName, StringOperatorType.IS_EQUAL, Beam1);
           BinaryFilterExpression Expression2 = new BinaryFilterExpression(PartName, StringOperatorType.IS_EQUAL, Beam2);
           BinaryFilterExpression Expression3 = new BinaryFilterExpression(PartName, StringOperatorType.IS_EQUAL, Beam3);

           // Creates the binary filter expression collection
           BinaryFilterExpressionCollection ExpressionCollection = new BinaryFilterExpressionCollection();
           ExpressionCollection.Add(new BinaryFilterExpressionItem(Expression1, BinaryFilterOperatorType.BOOLEAN_OR));
           ExpressionCollection.Add(new BinaryFilterExpressionItem(Expression2, BinaryFilterOperatorType.BOOLEAN_OR));
           ExpressionCollection.Add(new BinaryFilterExpressionItem(Expression3));
           return ExpressionCollection;
       }

       // Creates the following expression:
       // (PartName != BEAM AND (PartName != BEAM1 AND PartName != BEAM2))
       public static FilterExpression CreateBinaryFilterExpressionCollection1()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");

           BinaryFilterExpression A = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression C = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);
           BinaryFilterExpression D = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(C, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(D));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection1 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(A, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection));

           return BinaryFilterExpressionCollection1;
       }

       // Creates the following expression:
       // (PartName != BEAM AND PartName != BEAM1 AND (PartName != BEAM2 OR PartName != BEAM3))
       public static FilterExpression CreateBinaryFilterExpressionCollection2()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");
           StringConstantFilterExpression BeamName3 = new StringConstantFilterExpression("BEAM3");

           BinaryFilterExpression A = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression B = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);
           BinaryFilterExpression C = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);
           BinaryFilterExpression D = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName3);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(C, BinaryFilterOperatorType.BOOLEAN_OR));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(D));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection1 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(A, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(B, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection));
           return BinaryFilterExpressionCollection1;
       }

       // Creates the following expression:
       // (PartName != BEAM AND (PartName != BEAM2 OR PartName != BEAM3) AND PartName != BEAM1)
       public static FilterExpression CreateBinaryFilterExpressionCollection3()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");
           StringConstantFilterExpression BeamName3 = new StringConstantFilterExpression("BEAM3");

           BinaryFilterExpression A = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression B = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);
           BinaryFilterExpression C = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);
           BinaryFilterExpression D = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName3);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(C, BinaryFilterOperatorType.BOOLEAN_OR));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(D));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection1 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(A, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection,
               BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(B));

           return BinaryFilterExpressionCollection1;
       }

       // Creates the following expression:
       // ((PartName != BEAM AND PartName != BEAM1 AND PartName != BEAM2 OR PartName != BEAM3) AND
       // (PartName != BEAM4 AND PartName != BEAM5 AND PartName != BEAM6 OR PartName != BEAM7))
       public static FilterExpression CreateBinaryFilterExpressionCollection4()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");
           StringConstantFilterExpression BeamName3 = new StringConstantFilterExpression("BEAM3");
           StringConstantFilterExpression BeamName4 = new StringConstantFilterExpression("BEAM4");
           StringConstantFilterExpression BeamName5 = new StringConstantFilterExpression("BEAM5");
           StringConstantFilterExpression BeamName6 = new StringConstantFilterExpression("BEAM6");
           StringConstantFilterExpression BeamName7 = new StringConstantFilterExpression("BEAM7");

           BinaryFilterExpression A = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression B = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);
           BinaryFilterExpression C = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);
           BinaryFilterExpression D = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName3);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(A, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(B, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(C, BinaryFilterOperatorType.BOOLEAN_OR));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(D));

           BinaryFilterExpression E = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName4);
           BinaryFilterExpression F = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName5);
           BinaryFilterExpression G = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName6);
           BinaryFilterExpression H = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName7);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection1 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(E, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(F, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(G, BinaryFilterOperatorType.BOOLEAN_OR));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(H));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection2 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection2.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection,
               BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection2.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection1));

           return BinaryFilterExpressionCollection2;
       }

       // Creates the following expression:
       // ((PartName != BEAM AND PartName != BEAM1) AND
       // (PartName != BEAM2 AND PartName != BEAM3) AND
       // (PartName != BEAM4 AND PartName != BEAM5))
       public static FilterExpression CreateBinaryFilterExpressionCollection5()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");
           StringConstantFilterExpression BeamName3 = new StringConstantFilterExpression("BEAM3");
           StringConstantFilterExpression BeamName4 = new StringConstantFilterExpression("BEAM4");
           StringConstantFilterExpression BeamName5 = new StringConstantFilterExpression("BEAM5");

           BinaryFilterExpression A = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression B = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(A, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(B));

           BinaryFilterExpression C = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);
           BinaryFilterExpression D = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName3);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection1 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(C, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(D));

           BinaryFilterExpression E = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName4);
           BinaryFilterExpression F = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName5);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection2 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection2.Add(new BinaryFilterExpressionItem(E, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection2.Add(new BinaryFilterExpressionItem(F));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection3 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection3.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection,
               BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection3.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection1,
               BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection3.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection2));

           return BinaryFilterExpressionCollection3;
       }

       // Creates the following expression:
       // (((PartName != BEAM AND PartName != BEAM1) AND
       // (PartName != BEAM2 AND PartName != BEAM3) AND
       // (PartName != BEAM4 AND PartName != BEAM5)) OR
       // (PartName != BEAM6 AND PartName != BEAM7))
       public static FilterExpression CreateBinaryFilterExpressionCollection6()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");
           StringConstantFilterExpression BeamName3 = new StringConstantFilterExpression("BEAM3");
           StringConstantFilterExpression BeamName4 = new StringConstantFilterExpression("BEAM4");
           StringConstantFilterExpression BeamName5 = new StringConstantFilterExpression("BEAM5");
           StringConstantFilterExpression BeamName6 = new StringConstantFilterExpression("BEAM6");
           StringConstantFilterExpression BeamName7 = new StringConstantFilterExpression("BEAM7");

           BinaryFilterExpression A = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression B = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(A, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection.Add(new BinaryFilterExpressionItem(B));

           BinaryFilterExpression C = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);
           BinaryFilterExpression D = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName3);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection1 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(C, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection1.Add(new BinaryFilterExpressionItem(D));

           BinaryFilterExpression E = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName4);
           BinaryFilterExpression F = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName5);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection2 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection2.Add(new BinaryFilterExpressionItem(E, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection2.Add(new BinaryFilterExpressionItem(F));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection3 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection3.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection,
               BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection3.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection1,
               BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection3.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection2));

           BinaryFilterExpression G = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName6);
           BinaryFilterExpression H = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName7);

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection4 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection4.Add(new BinaryFilterExpressionItem(G, BinaryFilterOperatorType.BOOLEAN_AND));
           BinaryFilterExpressionCollection4.Add(new BinaryFilterExpressionItem(H));

           BinaryFilterExpressionCollection BinaryFilterExpressionCollection5 = new BinaryFilterExpressionCollection();
           BinaryFilterExpressionCollection5.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection3,
               BinaryFilterOperatorType.BOOLEAN_OR));
           BinaryFilterExpressionCollection5.Add(new BinaryFilterExpressionItem(BinaryFilterExpressionCollection4));

           return BinaryFilterExpressionCollection5;
       }

       // Creates the following expression:
       // (PartName != BEAM OR (PartName != BEAM1 OR (PartName != BEAM2)))
       public static FilterExpression CreateBinaryFilterExpressionCollection7()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");

           BinaryFilterExpression X = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression Y = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);
           BinaryFilterExpression Z = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);

           BinaryFilterExpressionCollection C2 = new BinaryFilterExpressionCollection();
           C2.Add(new BinaryFilterExpressionItem(Z));

           BinaryFilterExpressionCollection C1 = new BinaryFilterExpressionCollection();
           C1.Add(new BinaryFilterExpressionItem(Y, BinaryFilterOperatorType.BOOLEAN_OR));
           C1.Add(new BinaryFilterExpressionItem(C2));

           BinaryFilterExpressionCollection C0 = new BinaryFilterExpressionCollection();
           C0.Add(new BinaryFilterExpressionItem(X, BinaryFilterOperatorType.BOOLEAN_OR));
           C0.Add(new BinaryFilterExpressionItem(C1));

           return C0;
       }

       // Creates the following expression:
       // (((PartName != BEAM) OR PartName != BEAM1) OR PartName != BEAM2)
       public static FilterExpression CreateBinaryFilterExpressionCollection8()
       {
           PartFilterExpressions.Name PartName = new PartFilterExpressions.Name();
           StringConstantFilterExpression BeamName = new StringConstantFilterExpression("BEAM");
           StringConstantFilterExpression BeamName1 = new StringConstantFilterExpression("BEAM1");
           StringConstantFilterExpression BeamName2 = new StringConstantFilterExpression("BEAM2");

           BinaryFilterExpression X = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName);
           BinaryFilterExpression Y = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName1);
           BinaryFilterExpression Z = new BinaryFilterExpression(PartName, StringOperatorType.IS_NOT_EQUAL, BeamName2);

           BinaryFilterExpressionCollection C0 = new BinaryFilterExpressionCollection();
           C0.Add(new BinaryFilterExpressionItem(X));
           BinaryFilterExpressionCollection C1 = new BinaryFilterExpressionCollection();
           C1.Add(new BinaryFilterExpressionItem(C0, BinaryFilterOperatorType.BOOLEAN_OR));
           C1.Add(new BinaryFilterExpressionItem(Y));
           BinaryFilterExpressionCollection C2 = new BinaryFilterExpressionCollection();
           C2.Add(new BinaryFilterExpressionItem(C1, BinaryFilterOperatorType.BOOLEAN_OR));
           C2.Add(new BinaryFilterExpressionItem(Z));
           return C2;
       }
}
See Also