Cuando se especifican varios criterios de selección, AutoCAD supone que el objeto seleccionado debe cumplir todos ellos. Los criterios, no obstante, pueden calificarse de otras formas. En cuanto a los elementos numéricos, se pueden especificar operaciones relacionales (por ejemplo, que el radio de un círculo sea mayor o igual que 5.0). Para todos los elementos, se pueden especificar operaciones lógicas (por ejemplo, Text o Mtext).
Para indicar un operador relacional en la definición del filtro, utilice un código DXF de -4. Especifique el operador como cadena. En la siguiente tabla se muestran los operadores relacionales que pueden utilizarse.
Los operadores lógicos de las listas de filtros también se indican con un código de grupo –4 y deben ser una cadena, pero tienen que estar emparejados. El operador de apertura va precedido de un símbolo de menor que (<), y el de cierre de un símbolo de mayor que (>). En la siguiente tabla se muestran los operadores lógicos que pueden utilizarse.
Selección de un círculo cuyo radio sea mayor o igual que 5.0.
El siguiente código indica que el objeto seleccionado debe ser un círculo cuyo radio sea mayor o igual que 5.0:
Sub Ch4_FilterRelational()
Dim sstext As AcadSelectionSet
Dim FilterType(2) As Integer
Dim FilterData(2) As Variant
Set sstext = ThisDrawing.SelectionSets.Add("SS5")
FilterType(0) = 0
FilterData(0) = "Circle"
FilterType(1) = -4
FilterData(1) = ">="
FilterType(2) = 40
FilterData(2) = 5#
sstext.SelectOnScreen FilterType, FilterData
End Sub
En el siguiente ejemplo se especifica que se puedan seleccionar objetosText o Mtext:
Sub Ch4_FilterOrTest()
Dim sstext As AcadSelectionSet
Dim FilterType(3) As Integer
Dim FilterData(3) As Variant
Set sstext = ThisDrawing.SelectionSets.Add("SS6")
FilterType(0) = -4
FilterData(0) = "<or"
FilterType(1) = 0
FilterData(1) = "TEXT"
FilterType(2) = 0
FilterData(2) = "MTEXT"
FilterType(3) = -4
FilterData(3) = "or>"
sstext.SelectOnScreen FilterType, FilterData
End Sub