Аналитика http://www.geosystema.net/forum/ |
|
Все про скрипти http://www.geosystema.net/forum/viewtopic.php?f=1&t=2809 |
Страница 80 из 83 |
Автор: | Denys Sanitskyi [ 27 окт 2021 07:45 ] |
Заголовок сообщения: | Re: Все про скрипти |
Dmitry_Zolotar писал(а): Приклад Велике Вам ДЯКУЮ!!! Дозвольте ще раз звернутись із проханням, мені потрібно щоб даний скрипт виконувався на всіх помічених лінійних об'єктах, допоможіть будь ласка із цим якщо це можливо. |
Автор: | Dmitry_Zolotar [ 27 окт 2021 16:02 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
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
|
Автор: | dkorsachev [ 08 ноя 2021 10:59 ] | ||
Заголовок сообщения: | Re: Все про скрипти | ||
Dmitry_Zolotar писал(а): dkorsachev писал(а): Здравствуйте, подскажите пожалуйста что поменялось в программе не работает скрипт в новой версии Digitals. В старой версии 2013 года всё работает. При выборе шаблона такая вот ошибка. Ошибка возникает если нет указаной панели/кнопки, перепроверьте ее название. Проверил на новой версии - работает. Да шаблон выгружает, но не сохраняет предыдущий. Если я выделяю несколько дилянок то при формировании следующего шаблона предыдущий не хочет сохраняться. Ссылка на скрин TemplShow: https://ibb.co/0Ff19Qv Ссылка на TempSave:
|
Автор: | voha [ 16 ноя 2021 16:25 ] |
Заголовок сообщения: | Re: Все про скрипти |
Прохання до розробників: скриптову функцію @Map.InsertFromFile Filename "Выполняет команду "Вставка|Карта", добавляя в карту объекты из внешнего файла" таки треба виправити так, щоб налаштування програми щодо читання Acview Shape (міняти місцями X Y) застосовувалися. Вказане не є критичним. @Map.InsertFromFile Filename не міняє місцями X Y лише коли карта порожня і без датума. Питання до розробників: чи можливо реалізувати дотримання заборони оновлення карти на екрані в результаті виконання будь-яких функцій меню зі скрипта? Це покращило б роботу засобів автоматизації Digitals загалом. Я розумію, що функції меню запускаються з меню в основному "руками", але замовляти десятки відповідних скриптових функцій, щоб позбутися оновлення карти при виконанні скриптів - якось совість не дозволяє В кожну функцію меню, якій немає аналогу скриптової функції, хочеться додати перевірку: якщо функція запущена зі скрипта при включеній забороні оновлення - оновляти карту не треба. Чемно дякую за постійну підтримку програми. |
Автор: | voha [ 21 ноя 2021 15:03 ] |
Заголовок сообщения: | Re: Все про скрипти |
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. |
Автор: | Dmitry_Zolotar [ 22 ноя 2021 16:44 ] |
Заголовок сообщения: | Re: Все про скрипти |
Змінена у новій версії функція @Map.InsertFromFile під час вставки з шеп-файлу завжди міняє Х, У місцями. Додано також функцію @Map.SwapXY, яка міняє Х, У місцями у всій карті. |
Автор: | voha [ 23 ноя 2021 09:14 ] |
Заголовок сообщения: | Re: Все про скрипти |
Dmitry_Zolotar писал(а): Змінена у новій версії функція @Map.InsertFromFile під час вставки з шеп-файлу завжди міняє Х, У місцями. Дуже дякую. Оперативна підтримка - на висоті.
Додано також функцію @Map.SwapXY, яка міняє Х, У місцями у всій карті. |
Автор: | Denys Sanitskyi [ 26 ноя 2021 10:18 ] |
Заголовок сообщения: | Re: Все про скрипти |
Всім доброго дня! Допоможіть із таким питанням як замінити знак табуляції в строці параметра виділених об'єктів на знак пробілу? |
Автор: | Dmitry_Zolotar [ 26 ноя 2021 11:43 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denys Sanitskyi писал(а): Всім доброго дня! Допоможіть із таким питанням як замінити знак табуляції в строці параметра виділених об'єктів на знак пробілу? $S=@Map.Object[...].Parameter[...] $Tab=@Calc Char(9) $Tab=@DequoteText $Tab $S=@Calc replace("$S","$Tab"," ") $S=@DequoteText $S @Dialog.Message $S |
Автор: | Denys Sanitskyi [ 26 ноя 2021 13:10 ] |
Заголовок сообщения: | Re: Все про скрипти |
[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 "Виконано!" |
Автор: | voha [ 26 ноя 2021 13:40 ] |
Заголовок сообщения: | Re: Все про скрипти |
Denys Sanitskyi писал(а): Допоможіть будь ласка із циклом до Вашої пропозиції (не виходить перейти на інший об'єкт). Код: $CntMap=@MapCount Справа в тому, що команда @Map.Object[$SO].Parameter[49]=$SGPN не гарантія, що спрацює для кожного з позначених. Тому позначка з усіх позначених буде знята в результаті виконання скрипта.
@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 "Виконано!" |
Автор: | Denys Sanitskyi [ 26 ноя 2021 23:20 ] |
Заголовок сообщения: | Re: Все про скрипти |
Дякую! Буду знати надалі. |
Автор: | Denidz [ 05 янв 2022 13:13 ] |
Заголовок сообщения: | Re: Все про скрипти |
Добрый день. Можете ли более подробно описать функцию @Map.AddObject. В частности интересует можно ли ей передать список координат и с помощью нее отстроить полигон? |
Автор: | Denys Sanitskyi [ 06 янв 2022 13:43 ] |
Заголовок сообщения: | Re: Все про скрипти |
Всім доброго дня! Підкажіть будь ласка як створити автоматичний параметр до об'єктів який би відображав дату створення даного об'єкта на карті або дату внесення до нього змін. |
Автор: | Denidz [ 06 янв 2022 13:52 ] |
Заголовок сообщения: | Re: Все про скрипти |
Цитата: Всім доброго дня! Підкажіть будь ласка як створити автоматичний параметр до об'єктів який би відображав дату створення даного об'єкта на карті або дату внесення до нього змін. Параметр =TimeStamp с маской dd.mm.yyyy hh:mm |
Страница 80 из 83 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |