Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 19 мар 2024 06:53

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




Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 77, 78, 79, 80, 81, 82, 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 окт 2021 07:45 
Специалист
Специалист

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
Dmitry_Zolotar писал(а):
Приклад

Велике Вам ДЯКУЮ!!!
Дозвольте ще раз звернутись із проханням, мені потрібно щоб даний скрипт виконувався на всіх помічених лінійних об'єктах, допоможіть будь ласка із цим якщо це можливо.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 27 окт 2021 16:02 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2293
Откуда: Vinnytsia
Denys Sanitskyi писал(а):
мені потрібно щоб даний скрипт виконувався на всіх помічених лінійних об'єктах, допоможіть будь ласка із цим якщо це можливо.

Код:
;номерчи айді точкового шару
$PointLayer=ID3
$BreakXYZ=-2684354.56 -2684354.56 0
$AM=@ActivateMap
@if $AM=0 then @Break Відкрийте карту, помітьте об'єкт та запустіть скрипт знову
$SO=@Map.SelectedObject
$SC=@Map.SelCount
@if $SC<1 then @Break Помічено має бути один чи більше об'єктів
@Map.Selected.MarkPoints CLEAR
%LoopSelected
$Closed=@Map.Object[$SO].ClosedComplex
@if $Closed=1 then @Goto %IgnoreSelObject
$PC=@Map.Object[$SO].Count
@if $PC<3 then @Goto %IgnoreSelObject
$I=$PC
%LoopPoint
$NodeObj=@Map.Object[$SO].Node $I $PointLayer
@if $NodeObj>0 then @Goto %IgnorePoint
$XYZ=@Map.Object[$SO].Point[$I]
$XYZ=%Library.ReplaceComma $XYZ
@if $XYZ=$BreakXYZ then @Goto %IgnorePoint
@Map.Object[$SO].Delete $I $I
%IgnorePoint
$I=$I-1
@if $I>0 then @Goto %LoopPoint
@Map.RefreshObject $SO
%IgnoreSelObject
$SO=@Map.NextSelected $SO
@if $SO<>0 then @Goto %LoopSelected
@Window.Refresh


Вложения:
Комментарий к файлу: Приклад
Nodes.dmf [2.34 Кб]
Скачиваний: 249

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 08 ноя 2021 10:59 
Участник
Участник

Зарегистрирован:
22 апр 2020 11:13
Сообщения: 8
Dmitry_Zolotar писал(а):
dkorsachev писал(а):
Здравствуйте, подскажите пожалуйста что поменялось в программе не работает скрипт в новой версии Digitals. В старой версии 2013 года всё работает. При выборе шаблона такая вот ошибка.

Ошибка возникает если нет указаной панели/кнопки, перепроверьте ее название.
Проверил на новой версии - работает.

Да шаблон выгружает, но не сохраняет предыдущий. Если я выделяю несколько дилянок то при формировании следующего шаблона предыдущий не хочет сохраняться.

Ссылка на скрин TemplShow: https://ibb.co/0Ff19Qv
Ссылка на TempSave:


Вложения:
TemplSave.pdf [55.51 Кб]
Скачиваний: 223
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 16 ноя 2021 16:25 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Прохання до розробників:
скриптову функцію @Map.InsertFromFile Filename "Выполняет команду "Вставка|Карта", добавляя в карту объекты из внешнего файла" таки треба виправити так, щоб налаштування програми щодо читання Acview Shape (міняти місцями X Y) застосовувалися.
Вказане не є критичним. @Map.InsertFromFile Filename не міняє місцями X Y лише коли карта порожня і без датума.

Питання до розробників:
чи можливо реалізувати дотримання заборони оновлення карти на екрані в результаті виконання будь-яких функцій меню зі скрипта? Це покращило б роботу засобів автоматизації Digitals загалом. Я розумію, що функції меню запускаються з меню в основному "руками", але замовляти десятки відповідних скриптових функцій, щоб позбутися оновлення карти при виконанні скриптів - якось совість не дозволяє :oops:
В кожну функцію меню, якій немає аналогу скриптової функції, хочеться додати перевірку: якщо функція запущена зі скрипта при включеній забороні оновлення - оновляти карту не треба.

Чемно дякую за постійну підтримку програми.


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
voha писал(а):
Прохання до розробників:
скриптову функцію @Map.InsertFromFile Filename "Выполняет команду "Вставка|Карта", добавляя в карту объекты из внешнего файла" таки треба виправити так, щоб налаштування програми щодо читання Acview Shape (міняти місцями X Y) застосовувалися.
Вказане не є критичним. @Map.InsertFromFile Filename не міняє місцями X Y лише коли карта порожня і без датума.
Тепер маю зазначити - питання термінове:
скриптова функція @Map.InsertFromFile Filename "Выполняет команду "Вставка|Карта", ДОБАВЛЯЯ ОБЪЕКТЫ ИЗ ВНЕШНЕГО ФАЙЛА SHAPE НО НЕ МЕНЯЯ МЕСТАМИ X Y".

Є два варіанти вирішення питання:
1) виправити скриптову функцію @Map.InsertFromFile Filename;
2) додати скриптову функцію @Map.SwapXY - "Міняє місцями X Y".

Інакше - треба забути про функції @FileNew Name [/Template=Templatename.dmf] і @Map.InsertFromFile Filename.

Прошу дуже, шановні розробники. Дайте, будь-ласка, відповідь.

P.S. Майка через ноги: відкрити файл Shape, позначити всі, видалити, приєднати необхідний шаблон, вставити об'єкти з того ж файла Shape.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 22 ноя 2021 16:44 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2293
Откуда: Vinnytsia
Змінена у новій версії функція @Map.InsertFromFile під час вставки з шеп-файлу завжди міняє Х, У місцями.
Додано також функцію @Map.SwapXY, яка міняє Х, У місцями у всій карті.

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


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
Змінена у новій версії функція @Map.InsertFromFile під час вставки з шеп-файлу завжди міняє Х, У місцями.
Додано також функцію @Map.SwapXY, яка міняє Х, У місцями у всій карті.
Дуже дякую. Оперативна підтримка - на висоті.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 26 ноя 2021 10:18 
Специалист
Специалист

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
Всім доброго дня!
Допоможіть із таким питанням як замінити знак табуляції в строці параметра виділених об'єктів на знак пробілу?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 26 ноя 2021 11:43 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2293
Откуда: Vinnytsia
Denys Sanitskyi писал(а):
Всім доброго дня!
Допоможіть із таким питанням як замінити знак табуляції в строці параметра виділених об'єктів на знак пробілу?

$S=@Map.Object[...].Parameter[...]
$Tab=@Calc Char(9)
$Tab=@DequoteText $Tab
$S=@Calc replace("$S","$Tab"," ")
$S=@DequoteText $S
@Dialog.Message $S

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


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

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
[quote="Dmitry_Zolotar"] Допоможіть будь ласка із циклом до Вашої пропозиції (не виходить перейти на інший об'єкт).
$AM=@ActivateMap
@if $AM=0 then @Break Відкрийте карту, помітьте об'єкт та запустіть скрипт знову
$SO=@Map.SelectedObject
$SC=@Map.SelCount
@if $SC<1 then @Break Помічено має бути один чи більше об'єктів
$SO=0
@Progress.Start $SC Виконання
;@Map.Selected.MarkPoints CLEAR
;$PC=@Map.Object[$SO].Count
%LoopSelected
$SO=@Map.NextSelected $SO
@If $SO=0 then @Goto %EndProc
@Progress.StepBy
;$I=$PC
$SGP=@Map.Selected.GetParameter 49
@Dialog.Message $SGP
@Progress.StepBy
$TB=@Calc char(9)
$SPC=@Calc char(160)
$TB=@DequoteText $TB
$SPC=@DequoteText $SPC
$SGPN=@ReplaceChar $TB$SPC$SGP
$SSP=@Map.Selected.SetParameter 49 $SGPN
@Progress.StepBy
;$I=$I-1
;@Map.RefreshObject $SO
;$SO=@Map.NextSelected $SO
;$SO=$SO+1
@Goto %LoopSelected
@Window.Refresh
%EndProc
@Progress.Stop
@Dialog.Message "Виконано!"


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Denys Sanitskyi писал(а):
Допоможіть будь ласка із циклом до Вашої пропозиції (не виходить перейти на інший об'єкт).
Код:
$CntMap=@MapCount
@if $CntMap=0 then @Break Відкрийте карту, помітьте об'єкт та запустіть скрипт знову
$SC=@Map.SelCount
@if $SC=0 then @Break Помічено має бути один чи більше об'єктів
$LstSel=@Map.Selected.List
$CntText=@Text.Text $LstSel
@Map.BeginUpdate
$TB=@Calc char(9)
$SPC=@Calc char(160)
$TB=@DequoteText $TB
$SPC=@DequoteText $SPC
$NumLin=1
@Progress.Start $SC Виконання
@While $NumLin<=$CntText %LoopSelected
@Map.DeselectAll
@Progress.StepBy
$SO=@Text.Line[$NumLin]
@Map.SelectObject $SO
$SGP=@Map.Object[$SO].Parameter[49]
$SGPN=@ReplaceChar $TB$SPC$SGP
@Map.Selected.SetParameter 49 $SGPN
$NumLin=$NumLin+1
%LoopSelected
@Progress.Stop
@Map.EndUpdate RefreshAlways
@Dialog.Message "Виконано!"
Справа в тому, що команда @Map.Object[$SO].Parameter[49]=$SGPN не гарантія, що спрацює для кожного з позначених. Тому позначка з усіх позначених буде знята в результаті виконання скрипта.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 26 ноя 2021 23:20 
Специалист
Специалист

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
Дякую! Буду знати надалі.


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
Добрый день. Можете ли более подробно описать функцию @Map.AddObject. В частности интересует можно ли ей передать список координат и с помощью нее отстроить полигон?


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

Зарегистрирован:
19 ноя 2018 13:26
Сообщения: 45
Всім доброго дня!
Підкажіть будь ласка як створити автоматичний параметр до об'єктів який би відображав дату створення даного об'єкта на карті або дату внесення до нього змін.


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

Зарегистрирован:
14 окт 2010 16:40
Сообщения: 265
Цитата:
Всім доброго дня!
Підкажіть будь ласка як створити автоматичний параметр до об'єктів який би відображав дату створення даного об'єкта на карті або дату внесення до нього змін.


Параметр =TimeStamp с маской dd.mm.yyyy hh:mm


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 77, 78, 79, 80, 81, 82, 83  След.

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


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

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