AddEqualityCheckField method (ExcludeSymbolsParams)

Добавляет поле семантической базы, по равенству значений которого разрешается объединение участков.

Применяется к:

ExcludeSymbolsParams

Синтаксис:

Visual Basic:

Sub AddEqualityCheckField(sFldName As String)

sFldName - имя поля семантической базы участков.

Описание:

Участки объединяются, только если значения указанного поля у обоих участков совпадают. Метод добавляет одно поле; чтобы задать несколько условий, вызывается несколько раз.

Пример:

Visual Basic:

Sub ExcludeSymbolsParams_AddEqualityCheckField
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set P = CreateObject("ZuluLib.ExcludeSymbolsParams")
'Без добавленных типов операция не выполняется
Set OTs = L.ObjectTypes
For i = 0 To OTs.Count - 1
  Set T = OTs.GetItemByIndex(i)
  If T.GraphicType = 1 Then
    For m = 1 To T.Modes.Count - 1
      P.AddTypeMode T.Id, m, 1
    Next
  End If
Next
'Объединять только участки с совпадающим диаметром подающего трубопровода.
'Поле Dpod - из семантической базы участков примера Thermo\Ctp
P.AddEqualityCheckField "Dpod"
Set S = L.Selection
S.SelectAll
n = L.ElementKeys.Count
S.ExcludeSymbolsEx P
MsgBox "Объектов было: " & n & vbCrLf & "стало: " & L.ElementKeys.Count
End Sub

Python:

import zulu

def Macro_ExcludeSymbolsParams_AddEqualityCheckField():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    P = zulu.ExcludeSymbolsParams()
    # Без добавленных типов операция не выполняется
    OTs = L.ObjectTypes
    for i in range(OTs.Count):
        T = OTs.GetItemByIndex(i)
        if T.GraphicType == 1:
            for m in range(1, T.Modes.Count):
                P.AddTypeMode(T.Id, m, 1)
    # Объединять только участки с совпадающим диаметром подающего трубопровода.
    # Поле Dpod - из семантической базы участков примера Thermo\Ctp
    P.AddEqualityCheckField("Dpod")
    S = L.Selection
    S.SelectAll()
    n = L.ElementKeys.Count
    S.ExcludeSymbolsEx(P)
    print("Объектов было:", n, "стало:", L.ElementKeys.Count)