GetLayerNetworkModel method (Layer)

Возвращает тип модели слоя, если слой является слоем инженерной сети.

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

Layer

Синтаксис:

Visual Basic:

Function GetLayerNetworkModel() As Long

Описание:

Модель сети определяется эвристически по набору признаков, характерных для той или иной модели инженерной сети.

Возвращаемые значения:

0 - модель не определена

1 - модель тепловой сети ZuluThermo

2 - модель водопроводной сети ZuluHydro

3 - модель паровой сети ZuluSteam

4 - модель газовой сети ZuluGaz

5 - модель сети водоотведения ZuluDrain

Если признаков инженерной сети в слое нет, метод возвращает -1: так отвечают обычные векторные слои и слой, только что созданный методом Create. Признаки метод ищет среди типовых объектов слоя, поэтому слой без типов сетью не считается.

Пример:

Visual Basic:

Sub Layer_GetLayerNetworkModel
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
N = L.GetLayerNetworkModel
Select Case N
  Case -1 : S = "признаков инженерной сети нет"
  Case 0  : S = "модель не определена"
  Case 1  : S = "тепловая сеть ZuluThermo"
  Case 2  : S = "водопроводная сеть ZuluHydro"
  Case 3  : S = "паровая сеть ZuluSteam"
  Case 4  : S = "газовая сеть ZuluGaz"
  Case 5  : S = "сеть водоотведения ZuluDrain"
  Case Else : S = "значение не описано"
End Select
MsgBox L.Name & vbCrLf & "GetLayerNetworkModel = " & N & " - " & S
End Sub

Python:

import zulu

def Macro_Layer_GetLayerNetworkModel():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    models = {-1: "признаков инженерной сети нет",
              0: "модель не определена",
              1: "тепловая сеть ZuluThermo",
              2: "водопроводная сеть ZuluHydro",
              3: "паровая сеть ZuluSteam",
              4: "газовая сеть ZuluGaz",
              5: "сеть водоотведения ZuluDrain"}
    n = L.GetLayerNetworkModel()
    print(L.Name)
    print("GetLayerNetworkModel =", n, "-", models.get(n, "значение не описано"))