Доброго дня шановним розробникам і форумчанам.
Є в мене питання, які виникають при вичитуванні у скрипті дирекційного кута нахилу полігональних об'єктів карти.
1. Не працює скриптова функція
@Map.Selected.GetParameter Number - "Возвращает значение параметра помеченного объекта" (див. відео у вкладенні), застосована до параметра з функцією
SlopeDir. З рештою параметрів - працює (у тому числі із параметром з функцією
SlopeAngle). З параметром, який містить
SlopeDir - не працює.
2. Скриптова функція
@Map.Object[N].Parameter[N], застосована до першого об'єкта карти (номер об'єкта 1), якщо параметр N містить функцію
SlopeDir, повертає 0. Застосована до всіх інших об'єктів карти - повертає значення, застосована до першого об'єкта - повертає 0.
3. Чи можна коротко роз'яснити,
яким чином розраховується дирекційний кут нахилу та кут нахилу для полігональних об'єктів витягнутої впоперек схилу форми? Очікувалось, що напрямок схилу - середній по площі полігону напрямок, перпендикулярний до горизонталі
У вкладенні лог-файл скрипта (рядки 7631-7721).
Наперед дякую за відповідь.
P.S. Друге питання вирішив вставкою
@Wait 5000 між командою
ЦМР | Перепризначити висоти і
@Map.Object[N].Parameter[N].
Мабуть дві секунди мало, щоб розрахувалась
SlopeDir по всім об'єктам. Тоді, якщо об'єктів буде тисячі, розрахунок може тривати довше, а тривалість залежить ще й від "моторності" системи? Необхідний той самий "аналіз карти" в синхронному режимі, як і з функцією
Parent?
Розрахунок
SlopeDir в параметрі - не питання тривалості розрахунку, а питання старту (ініціювання) розрахунку: якщо в скрипті подати перший раз після перепризначення висот
@Map.Object[N].Parameter[N] - повернеться результат 0 і запуститься розрахунок параметра; наступна команда в скрипті
@Map.Object[N].Parameter[N] - для того ж об'єкта поверне вже розраховане значення. Такий "нюанс" треба знати. Отже питання 2 знімається.
Лишаються питання 1 і 3.