Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 23:34

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 53, 54, 55, 56, 57, 58, 59 ... 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 29 авг 2017 20:04 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Скрипт для виділення ділянок по списку кадастрових номерів - http://digitals.at.ua/load/vidilennja_d ... v/1-1-0-14

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 09 сен 2017 14:35 
Эксперт
Эксперт

Зарегистрирован:
30 июн 2017 20:52
Сообщения: 63
Откуда: Херсон
Подскажите функцию которая выполняет команду "Добавить узлы", и еще как менять размер кнопок скриптов?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 09 сен 2017 14:47 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
VictorR писал(а):
Подскажите функцию которая выполняет команду "Добавить узлы"

@Map.AddNodes LayerNumber Mode - додає точки у вузли виділених об'єктів. Mode відповідає вибору у вікні Добавити вузли (1-7) (аналогічно кнопці на закладці Правка)

VictorR писал(а):
как менять размер кнопок скриптов

у папці Digitals по назві знайдіть потрібну панель інструментів. Це файли з розширенням tlb. Відкрийте такий файл блокнотом. Він має починатися з рядків типу цього:
ShowHeader=0
Left=1182
Top=58
Width=30
Height=30
Visible=1
Names=


де
Left - позиція на екрані від від лівого краю
Top - позиція на екрані згори
Width - ширина панелі інструментів
Height - висота панелі інструментів
Visible - чи панель активна (видима)
Names - назва.

Відредагуйте пункти Width та Height

Для того, щоб всі наступні нові панелі інструментів створювалися з розмірами, які ви хочете, зайдіть в Сервіс-Налаштування-Загальне. Знайдіть у вікні констант:
ToolbarSize=30
Задайте потрібне значення.

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 10:09 
Гуру
Гуру

Зарегистрирован:
27 июл 2011 08:37
Сообщения: 172
Откуда: м.Рівне
$Name=@Map.Filename
$Path=@GetFilePath $Name
$Kadnum=@Map.XMLCadastralNumber
@Dialog.SaveFile *.xml $Path\$Kadnum

Щось не хоче зберігати, не підкажете в чому може бути причина


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 10:34 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
shyrko писал(а):
$Name=@Map.Filename
$Path=@GetFilePath $Name
$Kadnum=@Map.XMLCadastralNumber
@Dialog.SaveFile *.xml $Path\$Kadnum

Щось не хоче зберігати, не підкажете в чому може бути причина

Який формат кадастрового номера? З двокрапкою?
...
@Dialog.SaveFile Filter Filename викликає стандартний діалог збереження (створення) файлу, повертаючи певній перемінній шлях до файлу.

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Последний раз редактировалось Руслан Пархуць 15 ноя 2017 13:05, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 11:42 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
shyrko писал(а):
Щось не хоче зберігати, не підкажете в чому може бути причина


$Name=@Map.Filename
$Path=@GetFilePath $Name
$Kadnum=@Map.XMLCadastralNumber
$FN=@Dialog.SaveFile *.xml $Path\$Kadnum
@if $FN= then @Break
@Map.SaveToFile $FN

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 13:13 
Эксперт
Эксперт

Зарегистрирован:
30 июн 2017 20:52
Сообщения: 63
Откуда: Херсон
Допоможіть створити скрипт який би виділяв 3 найближчі обєкти відповідно до поміченого. :!: І якщо це можливо: щоб помічались обєкти певного шару.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 15:20 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
VictorR писал(а):
Допоможіть створити скрипт який би виділяв 3 найближчі обєкти відповідно до поміченого. :!: І якщо це можливо: щоб помічались обєкти певного шару.

1. Помітити об'єкти певного шару @Map.selectlayer
2. Пошук мінімальної довжини між об'єктами @Map.minobjectdistance
Сам алгоритм - цикл з пошуком довжин+запис в текстовий масив (довжина ID_об'єкту+сортування=перші три об'єкти і є найближчими до поміченого

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 18:04 
Эксперт
Эксперт

Зарегистрирован:
04 ноя 2010 12:28
Сообщения: 76
Откуда: Київ
Планую за допомогою скрипта розбити лінію на рівні відрізки. Яка функція відповідає за це?


Вложения:
-линии-на-отрезки.jpg
-линии-на-отрезки.jpg [ 37.27 Кб | Просмотров: 8219 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 15 ноя 2017 20:17 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
13vp писал(а):
Планую за допомогою скрипта розбити лінію на рівні відрізки. Яка функція відповідає за це?

Якщо на двi лiнiї i скриптом, тодi так
Код:
$Sel=@Map.NextSelected 0
$P1=@Map.Object[$Sel].Point[1]
$P1=%Library.ReplaceComma $P1
$P2=@Map.Object[$Sel].Point[2]
$P2=%Library.ReplaceComma $P2
;
$X1=@StringPart 1 $P1
$Y1=@StringPart 2 $P1
;
$X2=@StringPart 1 $P2
$Y2=@StringPart 2 $P2
;
$X3=($X1+$X2)/2
$Y3=($Y1+$Y2)/2
@Map.Object[$Sel].Insert 1 $X3 $Y3
;

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 16 ноя 2017 09:26 
Эксперт
Эксперт

Зарегистрирован:
04 ноя 2010 12:28
Сообщения: 76
Откуда: Київ
Руслан Пархуць писал(а):
Якщо на двi лiнiї i скриптом, тодi так


Дякую


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 20 ноя 2017 21:08 
Участник
Участник

Зарегистрирован:
19 ноя 2017 17:35
Сообщения: 2
Чи є можливість вивести вікно для вводу тексту як @Dialog.Ask але з багатьма полями і поєднати з функцією @Dialog.Select. щоб все було в одному вікні?
Чи є функція яка викликає вікно для вводу параметрів, наприклад «інформація про власника або користувача земельної ділянки»?
Дякую.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 21 ноя 2017 16:51 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
YuretsGr писал(а):
Чи є можливість вивести вікно для вводу тексту як @Dialog.Ask але з багатьма полями і поєднати з функцією @Dialog.Select. щоб все було в одному вікні?
Чи є функція яка викликає вікно для вводу параметрів, наприклад «інформація про власника або користувача земельної ділянки»?
Дякую.
Можна за допомогою ф-цiї @Dialog.EditParameter вивести щось подiбне (в параметрi задайте потрiбний формат пiдписiв)
Код:
$Obj=@Map.NextSelected 0
$Prm=@Map.Parameters.FindByID 41
@Dialog.EditParameter $Prm

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 21 ноя 2017 23:55 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
YuretsGr писал(а):
Чи є можливість вивести вікно для вводу тексту як @Dialog.Ask але з багатьма полями і поєднати з функцією @Dialog.Select. щоб все було в одному вікні?
Чи є функція яка викликає вікно для вводу параметрів, наприклад «інформація про власника або користувача земельної ділянки»?
Дякую.


Я роблю так, як написав Руслан вище. Але тут ще обов'язково треба перед тим задавати параметру маску. Виглядає воно ось так:

$V=@Calc Char(124)
$V=@DequoteText $V
@Map.DeselectAll
$N=@Map.NewObject ID10000
@Map.Object[$N].Point[1] 100 100
@Map.RefreshObject $N
@Map.SelectObject $N
@SelectTab 3
;створюємо параметр ID12345 при його відсутності
$Par=@Map.Parameters.Get ID12345
@if $Par= then @Map.Parameters.Add 12345 5 Вибір чогось
;добавляємо параметр ID12345 в список доступних шару ІН4 Квартал
$ParDil=@Map.Layers.GetValidParameters ID12345
@Map.Layers.SetValidParameters ID10000 $ParDil ID12345
@Map.Parameters.Mask ID12345 *=Значення1,*=Значення2,*=ще щось@ Пункт1$V Пункт2$V Ще щось
@Dialog.EditParameter ID12345
$AVse=@Map.Object[$N].Parameter[ID12345]
$Z1=@StringPart 1,$AVse
$Z2=@StringPart 2,$AVse
$Z3=@StringPart 3,$AVse
@Dialog.Message $Z1|$Z2|$Z3


Суть цього коду в тому, що створюється новий об'єкт ІН4 Квартал, в ньому створюється новий параметр, задається його маска і викликається редагування цього параметра. Маскою задається кількість і значення окремих полів.

Але цей метод має ряд мінусів. Тому я просив в розробників про схоже діалогове вікно з можливістю вибрати декілька варіантів чи щось типу цього.

Не зрозумів, що ви маєте на увазі під "поєднати з функцією @Dialog.Select"? Для якої це задачі таке потрібно?

Функція, яка викликає вікно для вводу параметрів - це якраз @Dialog.EditParameter. Але такі складні вікна параметрів, доступ до яких йде через інші загальніші вона не викличе. Для цього можна використовувати звичайну функцію @Dialog.Ask Text, а потім іншими спеціальними функціями отримане значення вписувати в теги в потрібне місце.

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 ноя 2017 19:04 
Участник
Участник

Зарегистрирован:
19 ноя 2017 17:35
Сообщения: 2
Дякую за відповіді.
fendak писал(а):
Не зрозумів, що ви маєте на увазі під "поєднати з функцією @Dialog.Select"? Для якої це задачі таке потрібно?

Пробую створити свій скрипт. Було б не погано щоб була така можливість поєднати в одному вікні, щось наприклад такого
Вложение:
exemple.jpg
exemple.jpg [ 57.74 Кб | Просмотров: 8103 ]

Ще виникло декілька запитань :)
1 . Як намалювати рамку реквізитів ОФ скриптами?
2. Є якась можливість експортувати дані заповненого xml з Digitals в Excel? Щоб певні ячейки заповнювалися даними. У нас вся документація формується в Excel


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 53, 54, 55, 56, 57, 58, 59 ... 83  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 111


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB