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

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

Автор:  Roman Khomyshynets [ 24 мар 2017 20:06 ]
Заголовок сообщения:  Re: Все про скрипти

Підкажіть, будь ласка, як можна в скрипті отримати ID першого-ліпшого шару зі стилем "Одиночний знак"?

Автор:  Dmitry_Zolotar [ 24 мар 2017 23:21 ]
Заголовок сообщения:  Re: Все про скрипти

Roman Khomyshynets писал(а):
Підкажіть, будь ласка, як можна в скрипті отримати ID першого-ліпшого шару зі стилем "Одиночний знак"?

Якось так:
$SingleLayer=%Library.PershiyLipshiy
@Dialog.Message $SingleLayer


Вміст Digitals\Library\PershiyLipshiy.dsf писал(а):
$Result=-1
$AM=@ActivateMap
@if $AM=0 then @Break Немає відкритих карт
$LC=@Map.Layers.Count
$Layer=0
%LoopLayer
$Layer=$Layer+1
$LayerType=@Map.Layers.Get $Layer
$LayerType=@StringPart 2 $LayerType
@if $LayerType=4 then @Goto %Return
@if $Layer<$LC then @Goto %LoopLayer
$Layer=@Map.Layers.Add 8787001 4 Перший ліпший шар типу "Одиночний знак"
%Return
$Result=$Layer

Автор:  Roman Khomyshynets [ 25 мар 2017 03:31 ]
Заголовок сообщения:  Re: Все про скрипти

Дякую! Саме те, що треба

Автор:  carnivoro [ 31 мар 2017 07:08 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня, форумчане! Есть вопрос: каким образом можно сделать кнопку таковой, чтобы при нажатии на нее она "зажималась" и, пока будет таковой (нажатой), то сбор будет происходить исключительно в слое с ID1. Чтобы выполнять сбор в другом слое - нужно "отжать" кнопку. :?: :cry: Назовем эту кнопку: "Защита от индейца" :D

Автор:  fendak [ 31 мар 2017 18:45 ]
Заголовок сообщения:  Re: Все про скрипти

carnivoro писал(а):
каким образом можно сделать кнопку таковой, чтобы при нажатии на нее она "зажималась" и, пока будет таковой (нажатой), то сбор будет происходить исключительно в слое с ID1

%Events.OnCollect
$EO=@EventObject
@Map.SelectObject $EO
@Map.Selected.ChangeLayer id1
@Window.Refresh
@Map.DeselectAll

Автор:  carnivoro [ 02 апр 2017 09:28 ]
Заголовок сообщения:  Re: Все про скрипти

Цитата:
%Events.OnCollect
$EO=@EventObject
@Map.SelectObject $EO
@Map.Selected.ChangeLayer id1
@Window.Refresh
@Map.DeselectAll


Спасибо. Очень нужная вещь. :wink:

Автор:  carnivoro [ 04 апр 2017 12:05 ]
Заголовок сообщения:  Re: Все про скрипти

Вот тоже интересный вопрос. Есть забор, за забором 5 зданий; у всех них есть уникальный код, например 101016. У другого соседа за забором будет другой уникальный код зданий. ТО есть такой код не может быть больше нигде кроме как у этого соседа. Как можно выловить такие коды, которые находятся в другом месте - у других зданий? Просчелкивать вручную список - не вариант. Слишком долго.

Автор:  DevilliveD [ 10 апр 2017 07:27 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня!
Хочу формувати не стандартні xml-файли з не шаблонних шарів. @Map.In4ToXML вимагає in4:Ділянка і т.д.
Підскажіть будь-ласка як витягнути з карти <PointInfo> та <Polyline> ?
Все інше якось по тегам сформую без проблем.
Дякую!

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

Доброго дня шановним розробникам і форумчанам.
Є в мене питання, які виникають при вичитуванні у скрипті дирекційного кута нахилу полігональних об'єктів карти.

1. Не працює скриптова функція @Map.Selected.GetParameter Number - "Возвращает значение параметра помеченного объекта" (див. відео у вкладенні), застосована до параметра з функцією SlopeDir. З рештою параметрів - працює (у тому числі із параметром з функцією SlopeAngle). З параметром, який містить SlopeDir - не працює.
2. Скриптова функція @Map.Object[N].Parameter[N], застосована до першого об'єкта карти (номер об'єкта 1), якщо параметр N містить функцію SlopeDir, повертає 0. Застосована до всіх інших об'єктів карти - повертає значення, застосована до першого об'єкта - повертає 0.
3. Чи можна коротко роз'яснити, яким чином розраховується дирекційний кут нахилу та кут нахилу для полігональних об'єктів витягнутої впоперек схилу форми? Очікувалось, що напрямок схилу - середній по площі полігону напрямок, перпендикулярний до горизонталі :oops:

У вкладенні лог-файл скрипта (рядки 7631-7721).

Наперед дякую за відповідь.

P.S. Друге питання вирішив вставкою @Wait 5000 між командою ЦМР | Перепризначити висоти і @Map.Object[N].Parameter[N].
Мабуть дві секунди мало, щоб розрахувалась SlopeDir по всім об'єктам. Тоді, якщо об'єктів буде тисячі, розрахунок може тривати довше, а тривалість залежить ще й від "моторності" системи? Необхідний той самий "аналіз карти" в синхронному режимі, як і з функцією Parent?

Розрахунок SlopeDir в параметрі - не питання тривалості розрахунку, а питання старту (ініціювання) розрахунку: якщо в скрипті подати перший раз після перепризначення висот@Map.Object[N].Parameter[N] - повернеться результат 0 і запуститься розрахунок параметра; наступна команда в скрипті @Map.Object[N].Parameter[N] - для того ж об'єкта поверне вже розраховане значення. Такий "нюанс" треба знати. Отже питання 2 знімається.

Лишаються питання 1 і 3.

Вложения:
Log.txt [530.9 Кб]
Скачиваний: 581
SlopeDir.exe [1.54 Мб]
Скачиваний: 490

Автор:  voha [ 28 май 2017 08:48 ]
Заголовок сообщения:  Re: Все про скрипти

При застосуванні внутрішньої функції spbSplit ([ Операції з об'єктами.Розділити ]), якщо винесений підпис параметра -7 Codetopo, виникає помилка звертання до пам'яті:
Вложение:
Demo.JPG
Demo.JPG [ 13.5 Кб | Просмотров: 9193 ]
Не смертельно, бо можна видалити підпис перед розділенням збірного, однак - просто не зручно.

Автор:  voha [ 25 июн 2017 09:02 ]
Заголовок сообщения:  Re: Все про скрипти

Доброго дня.
Маємо серйозну проблему обробки події %Events.OnCollect (закінчення збору об'єкта) рівня карти: помилка
Вложение:
Demo.JPG
Demo.JPG [ 13.43 Кб | Просмотров: 8894 ]
виникає лише тоді, коли завершення збору полігонального об'єкта відбувається автоматично (наприклад - по існуючим межам внутрішнього контуру складного полігона). В такому випадку створення об'єкта супроводжується операціями AligningObject, DisAsseble..., Assemble... (див. відео).
Вочевидь, проблема у конфлікті виконання вказаних операцій і стартуванні скрипта обробки події.

Дуже прошу розробників подивитись. Інакше прийдеться обмежувати виконавців: ПОЛІГОНИ ВСЕРЕДИНІ ВНУТРІШНЬОГО КОНТУРУ СКЛАДНОГО ПОЛІГОНА ЗБИРАТИ ЛИШЕ В ШАБЛОНІ ЗБОРУ "ПОЛІЛІНІЯ" :?

Вложения:
EventsOnCollect.exe [1.25 Мб]
Скачиваний: 566

Автор:  fendak [ 19 июл 2017 13:51 ]
Заголовок сообщения:  Re: Все про скрипти

Розробники Digitals, зніміть, будь-ласка, обмеження на кількість рядків у скрипті 2048, бо вже все, що можливо виніс в зовнішні скрипти, і все одно не влазиться основний скрипт. Видає помилку.

Вложения:
2017-07-19_145050.png
2017-07-19_145050.png [ 5.58 Кб | Просмотров: 8709 ]

Автор:  Dmitry_Zolotar [ 19 июл 2017 14:02 ]
Заголовок сообщения:  Re: Все про скрипти

fendak писал(а):
Розробники Digitals, зніміть, будь-ласка, обмеження на кількість рядків у скрипті 2048, бо вже все, що можливо виніс в зовнішні скрипти, і все одно не влазиться основний скрипт. Видає помилку.

В новій версії може бути до 8192 строк в скрипті, спробуйте.

Автор:  fendak [ 19 июл 2017 14:32 ]
Заголовок сообщения:  Re: Все про скрипти

не очікував так швидко)
супер! дякую!

Автор:  Олекса Довбуш [ 29 авг 2017 08:13 ]
Заголовок сообщения:  Re: Все про скрипти

Добрий день, шановні. Якщо не важко то допоможіть. Є dmf з великою кількістю ін4 і є список кадастрових у excel. необхідно знайти всі по черзі ділянки і виконати сервіс-документи-кадастровий план-друк.

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