Головна » Файли » Готові скрипти

Автоматичне зміщення одних написів залежно від висоти інших
05.10.2016, 16:25

Даний скрипт можна вставити, як в окрему кнопку на власній панелі інструментів, так і в саму карту через меню Карта - Скрипт обробки подій. Для другого варіанту першим рядком вказуємо подію, після якої він буде запускатися. Наприклад, для модуля "Документація" підійде %Events.OnFileSave - запускатиметься після збереження карти, так як сформована документація завжди зберігається в тимчасову (чи цільову) папку.

Шаблони, які формуються через Сервіс/Документи, для виклику даного скрипту, можна просто після формування зберігати.

В рядку $StandartVys1= потрібно вказати стандартну (ту, яка в шаблоні) висоту таблички, висота якої буде змінюватися. Замість id1 - id шару таблички, висота якої вказувалася вище і відносно якої буде переміщуватися вниз чи вгору наступна табличка. Замість id2 id3 id4 id5 - id шарів табличок, які потрібно переміщувати. Можна тільки одну, можна зразу декілька.

%Events.OnFileSave
$StandartVys1=19.5
@Map.DeselectAll
@Map.SelectLayer id1
$Obj=@Map.SelectedObject
;визначаємо висоту таблички
@if $Obj<>0 then $Vysota=@Map.Object[$Obj].LineLength[2]
$Vysota=@ReplaceChar ,.$Vysota
;визначаємо висоту зміщення (відхилення від тої, що була в шаблоні)
$Zmishch=$StandartVys1-$Vysota
;переміщуємо нижні таблички
@Map.DeselectAll
@Map.SelectLayer id2 id3 id4 id5
$Obj=0
%Start1
$Obj=@Map.NextSelected $Obj
@if $Obj=0 then @Goto %Finish1
@Map.Object[$Obj].Move $Zmishch 0
@Goto %Start1
%Finish1

 

Категорія: Готові скрипти | Додав: Микола
Переглядів: 2050 | Завантажень: 0 | Коментарі: 3 | Рейтинг: 0.0/0
Всього коментарів: 3
avatar
2 sadoviy90 • 12:16, 16.05.2024
Добрий день. Микола, скрипт ще актуальний? Щось не працює  в мене...
avatar
0
3 Микола • 18:28, 18.05.2024
Добрий день. Так, актуальний і працює.
Що саме ви хочете зміщувати?
avatar
1
1 Микола • 09:46, 01.07.2021
скрипт оновлено
став простішим у використанні для випадків, коли переміщувати треба декілька написів одночасно
avatar