Устанавливает минимальный и максимальный масштабы отображения для всех объектов загруженного в карту слоя с заданным типом.
Visual Basic:
Sub SetTypeMinMaxScale(TypeID As Long, minScale As Double, maxScale As Double, flags As Long)
TypeID - ID типа.
minScale - минимальный масштаб отображения.
maxScale - максимальный масштаб отображения.
flags - зарезервирован, должен быть 0.
Если значение масштаба равно -1, то данный масштаб исключается из анализа при отображении слоя на карте.
Заданные пределы читаются методами GetTypeMinScale и GetTypeMaxScale; пока пределы не заданы, они равны 0. Масштаб задается знаменателем M (1:M), как у методов SetMinScale и SetMaxScale.
Пределы режимов при этом не меняются: GetModeMinScale у режимов того же типа показывает прежнее значение, то есть тип и режим держат свои пределы по отдельности. Вызов с -1 прежние пределы не стирает - методы чтения продолжают показывать ранее заданные значения.
Метод ничего не возвращает; flags должен быть 0.
Visual Basic:
Sub Layer_SetTypeMinMaxScale 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active S = "Тип 6: от 1:" & L.GetTypeMinScale(6) & " до 1:" & L.GetTypeMaxScale(6) 'Показывать участки только в масштабах от 1:1000 до 1:5000 L.SetTypeMinMaxScale 6, 1000, 5000, 0 S = S & vbCrLf & "стало: от 1:" & L.GetTypeMinScale(6) & " до 1:" & L.GetTypeMaxScale(6) S = S & vbCrLf & "у режима 1 при этом: от 1:" & L.GetModeMinScale(6, 1) MsgBox S End SubPython:
import zulu def Macro_Layer_SetTypeMinMaxScale(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active print("Тип 6: от 1:", L.GetTypeMinScale(6), "до 1:", L.GetTypeMaxScale(6)) # Показывать участки только в масштабах от 1:1000 до 1:5000 L.SetTypeMinMaxScale(6, 1000, 5000, 0) print("стало: от 1:", L.GetTypeMinScale(6), "до 1:", L.GetTypeMaxScale(6)) print("у режима 1 при этом: от 1:", L.GetModeMinScale(6, 1))