Аналитика
http://www.geosystema.net/forum/

Все про скрипти
http://www.geosystema.net/forum/viewtopic.php?f=1&t=2809
Страница 66 из 83

Автор:  krakadil [ 21 мар 2019 12:30 ]
Заголовок сообщения:  Re: Все про скрипти

Voha,дуже дякую.
Хочеться дізнатися в розробників Digitals про альтернативу

Автор:  Alexander Oleynik [ 21 мар 2019 14:03 ]
Заголовок сообщения:  Re: Все про скрипти

krakadil писал(а):
Dmitry_Zolotar писал(а):
krakadil писал(а):
Підкажіть хто знає. Є така команда "сервіс.знайти однакові". Коли цю команду прописую в скрипті, то при її виконанні з'являється повідомлення: позначено N однакових об'єктів. Проте командою @sendChar мені не вдається автоматично закрити це вікно з повідомленням. Що в такому випадку робити?

Перевірьте в актуальній версії - все вже працює


Не допомогло.
Версія від 20.03.2019
скрипт:
@SendChars Text<CR>
[ Сервіс.Знайти однакові ]


Приберіть "Text" зі строки @SendChars Text<CR>

Автор:  voha [ 21 мар 2019 14:19 ]
Заголовок сообщения:  Re: Все про скрипти

krakadil писал(а):
...Хочеться дізнатися в розробників Digitals про альтернативу
Скриптова функція @SendChars, як на мене - проста посилка натискання клавіш першому ж вікну, що буде активним після її застосування. А якщо такого (з результатом пошуку однакових) вікна не буде - то будь-якому наступному вікну.
Автоматизація роботи з вікнами Digitals мабуть мало ймовірна, із застосуванням самої @SendChars, тому виходів два:

1) розробити іншу скриптову функцію таку, щоб в ній можна було вказати:
- значення будь-якого, доступного для вибору в ручному режимі, елемента управління вікна (визначеного при написанні скрипта Digitals як ClassnameNN програмою Au3Info.exe), що може бути активним після виклику операції (наприклад Карта > Властивості);
- назву кнопки, яку треба натиснути для застосування операції (наприклад ОК, Cancel...);
- виводити, чи не виводити на екран повідомлення з результатом виконання операції;
2) додавати окремі скриптові функції для встановлення опцій виконання операцій та виконання самих операцій.

Вибачте, що складно. Але якось так :oops:

Автор:  voha [ 24 мар 2019 12:01 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня шановним Розробникам.

Підкажіть, будь-ласка, чому скриптова функція @Map.CreateSharedBorder не створює лінійний об'єкт по спільній межі лінійного і внутрішнього контуру складного полігонального об'єкта (див. фрагмент 3 малюнку)?
Вложение:
CreateSharedBorder.bmp
CreateSharedBorder.bmp [ 418.41 Кб | Просмотров: 8784 ]

Автор:  voha [ 25 мар 2019 15:01 ]
Заголовок сообщения:  Re: Все про скрипти

Vladimirart08 писал(а):
...Я создаю панель, кнопку, и вставляю Run и файл внешеней программы к примеру autocad.exe или другой exe-файл, после этого не чего не происходит (не запускается)???? Возможно что то не так делаю...!
Команда @Run ExeFilename повинна застосовуватись у скрипті, де ExeFilename - повна назва файла, включаючи шлях до файла і розширення. Наприклад:
Вложение:
Run.JPG [22.32 Кб]
Скачиваний: 0
Код:
@Run C:\Program Files\AutoCAD 2009\acad.exe
Мабуть не зайвим буде, перед тим як "вставити Run і файл програми", ознайомитись із Работа со скриптами в Digitals. Користуйтесь на форумі посиланням "Активні теми"
Вложение:
ActiveTems.JPG
ActiveTems.JPG [ 29.43 Кб | Просмотров: 8764 ]
щоб продивитись різні теми, а не лише "Бібліотека корисних скриптів"

Автор:  voha [ 26 мар 2019 01:10 ]
Заголовок сообщения:  Re: Все про скрипти

25.03.19 Додана скриптова функція @Map.ParentRaster Number [ParentLayer] "Повертає номер батьківського об'єкта растрового зображення у шарі ParentLayer, що містить в собі об'єкт з номером Number"

Автор:  voha [ 30 мар 2019 10:00 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня шановним Розробникам.

Є у мене такі питання:

1) В якому стані знаходяться об'єкти карти, отримані шляхом застосування до збірного лінійного об'єкта команди [ Операції з об'єктами.Розділити ]?
Для кожного фрагмента після розділення такого об'єкта, функція @Map.ParentObject Number [ParentLayer] не дозволяє виконати аналіз вкладеності, оскільки повертає 0 при наявності батьківського полігона в шарі ParentLayer.
Функція @Map.CalculateRange "Расчитывает новый размах карты и объектов после редактирования" ймовірно і не має розраховувати заново вкладеність об'єктів, але ж spbSplit - повинна, і лише для фрагментів розділеного.
Наразі приходиться вирізати і вставити один зі створених об'єктів, тоді все "гуд" - батьківський для кожного зі створених визначається:
Код:
@Map.Object[$Obj].Select
;[ Операції з об'єктами.Розділити ]
@ExecuteMenu spbSplit
$CountObjAfterSplit=@Map.Count
@Map.SelectObject $Obj
@Map.Selected.Cut
@Map.Paste
$Obj=@Map.SelectedObject
$ParentObjLisn=@Map.ParentObject $Obj ID81261000
Чи на часі - виправити роботу функції spbSplit :?:

2) Хочу ще раз попросити: скриптова функція @Map.Undo.Undo оновлює карту на екрані та відновлює її оновлення, хоч попередньо в скрипті оновлення карти заборонене командою @Map.BeginUpdate.

Наперед дякую за підтримку.

Автор:  voha [ 14 апр 2019 09:52 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня розробникам.

Є не критичні зауваження щодо скриптової функції @Map.PerpendicularToNearestLine FromPoint ToObj SegmObjLayer [Reverse], в якій "...Reverse - якщо вказано, змінює напрямок створеного об'єкта":

1) насправді, якщо Reverse не вказано, застосування функції спричинює помилку виконання "Could not convert variant of type (Null) into type (OleStr)", значить Reverse - обов'язковий параметр;

2) функція завжди повертає 1 (мабуть ознака того, що об'єкт з номером $CreatedObj=@Map.Count створено), однак краще - номер створеного об'єкта.

Приклад застосування функції Построение перпендикуляров от точечных объектов до ближайшего сегмента полилинии (якщо прибрати Reverse матимемо помилку виконання).

Автор:  paul [ 15 апр 2019 13:25 ]
Заголовок сообщения:  Re: Все про скрипти

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

Автор:  Dmitry_Zolotar [ 15 апр 2019 16:57 ]
Заголовок сообщения:  Re: Все про скрипти

Скрипт создает карту $WorkFolder\AllParcels.dmf, в который загружает все xml-файлы из папки $WorkFolder и вложенных. Папка $WorkFolder запрашивается в диалоге. Карта $WorkFolder\AllParcels.dmf автоматически не сохраняется.

Код:
$WorkFolder=@Dialog.SelectFolder Оберіть папку з xml-файлами
$FE=@FolderExists $WorkFolder
@if $FE=0 then @Break Не знайдено шлях $WorkFolder
@Text[1].FolderListTree *.xml $WorkFolder
$PP=@ProgramPath
$FC=@Text[1].Count
@if $FC<1 then @Break Не знайдено xml-файли у $WorkFolder
$I=0
@FileNew $WorkFolder\AllParcels.dmf /Template=XMLNormal.dmf
$AM=@ActivateMap
@Progress.Start $FC Обробка файлів
%LoopFile
$I=$I+1
@Progress.StepBy 1
$Canceled=@Progress.Canceled
@if $Canceled=1 then @Goto %Exit
$FN=@Text[1].Line[$I]
@Map.InsertFromFile $FN
@if $I<$FC then @Goto %LoopFile
%Exit
@Progress.Stop
@Map.SelectAll
@Map.FrameSelected
@Window.ShowSelected

Автор:  S@SH [ 19 апр 2019 07:54 ]
Заголовок сообщения:  Re: Все про скрипти

подскажите ка мне как можно оттакое http://prntscr.com/ndzum1"чудо" удалить? Ньюанс - База Данных на всю область. :!:

Автор:  Vladimirart08 [ 19 апр 2019 13:20 ]
Заголовок сообщения:  Re: Все про скрипти

S@SH писал(а):
подскажите ка мне как можно оттакое http://prntscr.com/ndzum1"чудо" удалить? Ньюанс - База Данных на всю область. :!:

Если идёт речь о координате то Вам нужно выделить участок в котором нужно удалить точку, навестись на точку и нажать "r"

Автор:  Vladimirart08 [ 19 апр 2019 18:16 ]
Заголовок сообщения:  Re: Все про скрипти

Подскажите каким образом пронумеровать 100 участков последовательно, как то не получается как показано на видео в ютубе. возможно я не так делаю. в каком я должен слое нумеровать чтоби получилось?

Автор:  Vladimirart08 [ 19 апр 2019 20:31 ]
Заголовок сообщения:  Re: Все про скрипти

Vladimirart08 писал(а):
Подскажите каким образом пронумеровать 100 участков последовательно, как то не получается как показано на видео в ютубе. возможно я не так делаю. в каком я должен слое нумеровать чтоби получилось?

я поняв як нумеровати але підскажіть яким чином зробити щоб нумерація з'явилсь на малюнку

Автор:  voha [ 20 апр 2019 10:46 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня.

Є у мене питання до розробників щодо автоматизації виконання функцій головного меню програми Digitals скриптовою мовою.

Вступ:
Запустивши скрипт з кнопки панелі інструментів користувача можна виконати послідовність як скриптових функцій, так і функцій, які виконуються з меню програми. Скриптова функція @Map.BeginUpdate застосовується для заборони оновлення карти на екрані на час виконання послідовності функцій, а скриптова функція @Map.EndUpdate [RefreshAlways] відновлює оновлення.

Суть проблеми:
На сьогодні заборона оновлення карти на екрані для майже усіх скриптових функцій працює коректно, але для функцій меню - ні. Воно й зрозуміло, бо то є ФУНКЦІЇ МЕНЮ, призначені для запуску вручну.

Саме питання:
Функцій меню програми досить багато, для багатьох з них немає аналогічної скриптової функції, яка би працювала без оновлення карти на екрані. Замовляти відповідні скриптові функції :?:

Якщо так, тоді вже треба додати скриптові функції:
- Map.Selected.PolylineToLines "Розбиває полілінії позначених об'єктів на окремі лінійні об'єкти по точкам (те ж саме виконує функція з меню Сервіс > Перетворити > Розбити на лінії)";
- Map.CheckDuplicates [/HIDE] "Позначає всі об'єкти з меншими номерами серед декількох однакових за геометрією (те ж саме виконує функція з меню Карта > Перевірка > Однакові). Наявність ключа HIDE вказує на необхідність не відображати повідомлення про кількість позначених об'єктів";
- Map.CompareObjects "Позначає всі об'єкти, геометрія яких відсутня в іншій, відкритій поруч карті (те ж саме виконує функція з меню Карта > Порівняти > Об'єкти).

Демонстрація проблеми на відео

Страница 66 из 83 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/