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

Розрідження підписів точок
19.09.2020, 01:22

Скрипт приховує частину підписів, показуючи, наприклад, тільки кожний п'ятий підпис точки

;іd шару об'єкта з підписами
$Id=70005
;параметр з підписом
$ParamIndex=-9
;Крок підписів (залишити видимим кожний $Koef-ий підпис)
$Krok=5
;
$PidpysyNovi=
$VBar=@Calc Char(124)
$VBar=@DequoteText $VBar
@Map.DeselectAll
@Map.SelectLayer id$Id
$SO=@Map.SelectedObject
@if $SO=0 then @Break Не знайдено ділянку в шарі id$Id
$Pidpysy=@Map.Object[$SO].Caption[$ParamIndex]
$Pidpysy=@StringPart 5 $Pidpysy
$PartCount=@StringPartCount $VBar $Pidpysy
$N=0
%Start
$N=$N+1
$Cyfra=@StringPart $N$VBar$Pidpysy
@if $Cyfra=385 then $Cyfra=285
$Koef=$N/$Krok
$Koef=@StringPart 2.$Koef
$Koef=@Calc Copy("$Koef","1","1")
$Koef=@DequoteText $Koef
$CyfraNova=385
@if $N=1 then $CyfraNova=$Cyfra
@if $Koef= then $CyfraNova=$Cyfra
$PidpysyNovi=$PidpysyNovi $CyfraNova
@if $N=1 then $PidpysyNovi=$CyfraNova
@if $N<$PartCount then @Goto %Start
$PidpysyNovi=@Calc replace("$PidpysyNovi"," ","$VBar")
$PidpysyNovi=@DequoteText $PidpysyNovi
@Map.Object[$SO].Caption[$ParamIndex] * * * * $PidpysyNovi
@Map.RefreshObject $SO

Зверніть увагу, що даний скрипт може оброблювати об'єкти, в яких не більше, як (приблизно) 350 точок. Більші об'єкти перед запуском скрипту треба розділити на частини і копіювати для обробки на нову сторінку.

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1102 | Завантажень: 0 | Коментарі: 6 | Рейтинг: 5.0/1
Всього коментарів: 6
avatar
4 trotsenkoanna22 • 13:02, 03.04.2024
Доброго дня, а можете надіслати цей скрипт?
avatar
0
5 Микола • 16:50, 03.04.2024
Доброго дня. Тут, в описі цього скрипту, викладений його код. Створіть нову панель інструментів, на ній кнопку і вставте туди даний код. Таким чином у вас появится цей скрипт.
Детальніше про те, як створити скрипт, тут - http://digitals.at.ua/index/sistemni_funkciji/0-5
avatar
6 trotsenkoanna22 • 10:33, 04.04.2024
Дякую
avatar
1 Дан • 16:22, 04.11.2020
доброго дня, а можна покроково як працювати з скриптом, дякую
avatar
0
2 Микола • 20:30, 05.11.2020
створіть на вашому плані підписи довжин ліній для потрібного вам об'єкта і запустіть скрипт. Все
Отримаєте на плані підписи тільки через даданий в налаштуваннях скрипту крок. Тобто, всі інші стануть прихованими.

Але це можна, виявляється, зробити і без скрипту. Є в програмі Digitals така сама функція. Натисніть правою клавішею на винесеному підписі (стосується тільки підписів з номерами точок) і виберіть команду Фільтр - вкажіть там потрібний крок.
avatar
3 Дан • 20:55, 05.11.2020
дякую
avatar