Аналитика 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) додавати окремі скриптові функції для встановлення опцій виконання операцій та виконання самих операцій. Вибачте, що складно. Але якось так |
Автор: | voha [ 24 мар 2019 12:01 ] |
Заголовок сообщения: | Re: Все про скрипти |
Доброго дня шановним Розробникам. Підкажіть, будь-ласка, чому скриптова функція @Map.CreateSharedBorder не створює лінійний об'єкт по спільній межі лінійного і внутрішнього контуру складного полігонального об'єкта (див. фрагмент 3 малюнку)? Вложение: CreateSharedBorder.bmp [ 418.41 Кб | Просмотров: 8784 ] |
Автор: | voha [ 25 мар 2019 15:01 ] |
Заголовок сообщения: | Re: Все про скрипти |
Vladimirart08 писал(а): ...Я создаю панель, кнопку, и вставляю Run и файл внешеней программы к примеру autocad.exe или другой exe-файл, после этого не чего не происходит (не запускается)???? Возможно что то не так делаю...! Команда @Run ExeFilename повинна застосовуватись у скрипті, де ExeFilename - повна назва файла, включаючи шлях до файла і розширення. Наприклад:Вложение: Код: @Run C:\Program Files\AutoCAD 2009\acad.exe Мабуть не зайвим буде, перед тим як "вставити Run і файл програми", ознайомитись із Работа со скриптами в Digitals. Користуйтесь на форумі посиланням "Активні теми"Вложение: 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 Чи на часі - виправити роботу функції spbSplit ;[ Операції з об'єктами.Розділити ] @ExecuteMenu spbSplit $CountObjAfterSplit=@Map.Count @Map.SelectObject $Obj @Map.Selected.Cut @Map.Paste $Obj=@Map.SelectedObject $ParentObjLisn=@Map.ParentObject $Obj ID81261000 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/ |