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

Підписи Х та У
07.03.2020, 15:21

Скрипт виводить підписи Х та У для кожної точки

$N1111=@Map.SelCount
@If $N1111<1 @Break Виділіть точки для створення підпису
$FindByID=@Map.Parameters.FindByID id12225242
@If $FindByID=0 then @Map.Parameters.Add 12225242 5 Підпис Х
@Map.Parameters.SetAttributes id12225242 0 5 0 10 0 16777215 0 Arial 80 0 -16777208
;добавляємо параметр в список доступних шару
$IsnPar=@Map.Layers.GetValidParameters ID$Layer
@Map.Layers.SetValidParameters ID$Layer $IsnPar ID12225242
$FindByID=@Map.Parameters.FindByID id12225243
@If $FindByID=0 then @Map.Parameters.Add 12225243 5 Підпис У
@Map.Parameters.SetAttributes id12225243 0 5 0 10 0 16777215 0 Arial 80 0 -16777208
;добавляємо параметр в список доступних шару
$IsnPar=@Map.Layers.GetValidParameters ID$Layer
@Map.Layers.SetValidParameters ID$Layer $IsnPar ID12225243
$NS=0
%Loop
$NS=@Map.NextSelected $NS
@if $NS=0 then @Goto %Finish
$Layer=@Map.Object[$NS].LayerID
$X=@Map.Object[$NS].Parameter[-4]
$Y=@Map.Object[$NS].Parameter[-3]
@Map.Object[$NS].Parameter[ID12225242] У:$Y
@Map.Object[$NS].Parameter[ID12225243] Х:$X
@Goto %Loop
%Finish
@Map.Selected.RemoveCaptions ID12225242
@Map.Selected.RemoveCaptions ID12225243
@Map.Selected.CreateCaptions ID12225242 1 2 0 1 10 0
@Map.Selected.CreateCaptions ID12225243 1 2 0 1 10 3

Категорія: Готові скрипти | Додав: Микола
Переглядів: 1105 | Завантажень: 0 | Коментарі: 8 | Рейтинг: 0.0/0
Всього коментарів: 8
avatar
5 bk2013 • 19:10, 03.05.2020
Микола добрый вечер. Хотел спросить как в вышеуказанный скрипт добавить функционал чтобы кроме координат добавлялась название точки? Благодарю.
avatar
0
6 Микола • 19:19, 03.05.2020
Добрий вечір! Просто в кінці коду допишіть:
Код
@Map.Selected.CreateCaptions ID555 1 2 0 1 10 6
де 555 - id параметру, у якому у ваших точках записані номери
P.S. 
Дві останні цифри регулють зміщення підпису по вертикалі та горизонталі. Там уже підбирайте собі, де вам краще, щоб був цей підпис.
avatar
3 bk2013 • 09:49, 10.03.2020
Микола доброго дня, хотел уточнить есть такая кнопка вставить узел но там предлагает условный знак точка теодолитного хода , все отлично но есть ли такая функция чтобы вставляло но без условного знака? Просто точку, тоесть преобразовывало.
avatar
0
4 Микола • 21:19, 10.03.2020
В кнопці Додати вузли є можливість вибирати шар, у якому вставляти точки
avatar
7 Анонімно • 13:48, 09.06.2021
Микола, доброго дня а можливо виконати Додавання вузлів - додавання пікету через скрипт, у мене вдалось просто додавати точки (пікет), але я не розумію як  вибрати інтересуючий мене шар наприклад межовий знак
avatar
0
8 Микола • 23:19, 09.06.2021
@Map.AddNodes LayerNumber Mode - додає точки у вузли виділених об'єктів. Mode відповідає вибору у вікні Добавити вузли (1-7)
avatar
1 bk2013 • 14:22, 08.03.2020
Микола доброго дня а можливо щоб не точки були а полилинии . Тоесть координаты полилиний где можна подправить ??
avatar
0
2 Микола • 20:48, 08.03.2020
Нема такого параметру на закладці інфо, щоб там були прописані координати усіх точок полілінії. У випадку з полілінією чи полігоном там будуть записані центри об'єктів.
В будь-якому випадку, навіть якщо спробувати витягнути коодинати кожної точки полінії, для створення підписів все одно доведеться створювати окремі точкові об'єкти на кожній точці полілінії, бо інакше дуже складно буде впорядкувати підписи. Тому просто перед запуском скрипту додавайте спеціальною функціюєю усі вузлові точки на полілінію. Виділяйте ці точки і запускайте скрипт. Це можна автоматизувати, дописавши попереду функцію
@Map.AddNodes LayerNumber 1
де LayerNumber - id шару, в якому сторювати точки
avatar