Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 23:26

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




Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 47, 48, 49, 50, 51, 52, 53 ... 83  След.
Автор Сообщение
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 июл 2016 22:20 
Специалист
Специалист

Зарегистрирован:
18 июл 2011 09:16
Сообщения: 43
Ахаха, а я знаю об этой функции, но работать с ней, просто ужас.
1. Для того чтобы изменить координаты рамки, их нужно считать.
2. Считать можно функцией GetProp....., но считывает таблицу с данными которую на строки разложить ну никак не получается (1-я строка: масштаб и координата Х первой точки рамки соответственно 2-я строка У 1-й точки и Х второй точки), свойство рамки (-P[22]) которое считывает функция, вообще не приложу ума что это.
3. Даже если считать каким-то образом координаты, их нужно обработать, а обработать их можно только если перевести тип данных, а перевести тип данных функцией @Calc Numeric или просто @Calc не выходит.
4. Если каким-то образом выложенные пункты осилить, то все это безобразие нужно сложить в одну кучу и постараться запихнуть через функцию @SetProp.... обратно туда откуда вытягивали.

Почему не сделать функцию которая считывает ЦЕНТР рамки и функцию которая записывает ЦЕНТР рамки, ну или ничего выдумывать не надо, есть отличная функция @Map.Object[N].Move X Y [Z], но она работает с номером объекта, а рамка имеет номер "0" вот и не работает никакая функция с рамкой, дайте рамке номер 1 по умолчанию и все вопросы по поводу рамки снимаются.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 28 июл 2016 12:15 
Специалист
Специалист

Зарегистрирован:
18 июл 2011 09:16
Сообщения: 43
Дайте ответ пожалуйста!


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

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Vaho писал(а):
Ахаха, а я знаю об этой функции, но работать с ней, просто ужас.
1. Для того чтобы изменить координаты рамки, их нужно считать.
2. Считать можно функцией GetProp....., но считывает таблицу с данными которую на строки разложить ну никак не получается (1-я строка: масштаб и координата Х первой точки рамки соответственно 2-я строка У 1-й точки и Х второй точки), свойство рамки (-P[22]) которое считывает функция, вообще не приложу ума что это.
3. Даже если считать каким-то образом координаты, их нужно обработать, а обработать их можно только если перевести тип данных, а перевести тип данных функцией @Calc Numeric или просто @Calc не выходит.
4. Если каким-то образом выложенные пункты осилить, то все это безобразие нужно сложить в одну кучу и постараться запихнуть через функцию @SetProp.... обратно туда откуда вытягивали.
Так "страшно" функції ще не описували. пропоную фактичне вирішення: написав один раз і забув про всі страшні "образи"
Код:
@ExecuteMenu MapFrameSelected
$TextRamka=@Map.GetProperties
@Text[1].Text=$TextRamka
$X1Y1=@Text[1].Line[2]
$X2Y2=@Text[1].Line[3]
$X3Y3=@Text[1].Line[4]
$X1=@StringPart 1 $X1Y1
$X2=@StringPart 1 $X2Y2
$X11=@Calc Numeric("$X1")
$X22=@Calc Numeric("$X2")
$DX=$X22-$X11
$Y2=@StringPart 2 $X2Y2
$Y3=@StringPart 2 $X3Y3
$Y22=@Calc Numeric("$Y2")
$Y33=@Calc Numeric("$Y3")
$DY=$Y22-$Y33
@If ($DX<1500) and ($DY<1500) then @Goto %10000
$Result=25000
@Text[1].Line[1]=25000 1
$X1N=($X11+$X22)/2-1875
$Y1N=($Y22+$Y33)/2-1875
$X2N=($X11+$X22)/2+1875
$Y3N=($Y22+$Y33)/2+1875
@Goto %Dali
%10000
$Result=10000
@Text[1].Line[1]=10000 1
$X1N=($X11+$X22)/2-750
$Y1N=($Y22+$Y33)/2-750
$X2N=($X11+$X22)/2+750
$Y3N=($Y22+$Y33)/2+750
%Dali
$Rjad1=@Text[1].Line[1]
@Text[1].Line[2]=$X1N $Y1N
@Text[1].Line[3]=$X2N $Y1N
@Text[1].Line[4]=$X2N $Y3N
@Text[1].Line[5]=$X1N $Y3N
$TextRamkaN=$Rjad1|$X1N $Y1N|$X2N $Y1N|$X2N $Y3N|$X1N $Y3N
@Map.SetProperties $TextRamkaN


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 28 июл 2016 15:56 
Специалист
Специалист

Зарегистрирован:
18 июл 2011 09:16
Сообщения: 43
Огромное спасибо! Но, все таки, мне кажется чуток, что если бы была функция считывания и записи координат центра рамки - было бы немножечко попроще и том "Война и мир" писать не нужно было бы. А если просто дать рамке номер, типа как номер объекта, то наверняка, еще попроще все было бы))))


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
При використанні в купі послідовно функцій @Map.ConvertLoopToComplex та [ Операції з об'єктами.Розширити/стиснути ](@ExecuteMenu spbExpand) остання функція не працює.

Коли вручну спочатку перетворюю петлю в складний полігон, а потім її розширюю, то все працює. А скриптом в купі не хоче:

@Map.DeselectAll
@Map.SelectLayer id20000
$SO=@Map.SelectedObject
@Map.ConvertLoopToComplex $SO
@SendChars 3 <CR>
[ Операції з об'єктами.Розширити/стиснути ]

Я вже пробував по різному обновлювати карту і об'єкт між першою і другою функціями, копіював на чистий листок і нічого не дає. Видно в об'єкті після обробки першої функції залишається якийсь слід. Як його видалити?

Це потрібно для правильної обрізки довгих суміжників, коли ділянка має вкраплені контури.

@OpenLog
@MAp.DeselectAll
@Map.SelectLayer ID20000
@Map.SelectLayer ID50000
@Map.Selected.Copy
@FileNew Обрізка суміжників
@Map.Paste
@Map.DeselectAll
@Map.SelectLayer ID20000
@ExecuteMenu TransformLoopToComplexPolygon
@Map.Selected.Refresh
@Map.DeselectAll
@Map.SelectLayer ID20000
@SendChars 3 <CR>
@ExecuteMenu spbExpand
@MAp.DeselectAll
@Map.SelectLayer ID50000
@Map.SelectLayer ID20000
@ExecuteMenu ToolsCliPByPolygon
@MAp.DeselectAll
@Map.SelectLayer ID50000
@Map.Copy
@CloseMap
@MAp.DeselectAll
@Map.SelectLayer ID50000
@Map.Selected.Delete
@Map.Paste
@ExecuteMenu MapCheckPurgeDeleted
@CloseLog D:/log.txt

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 31 июл 2016 19:32 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
1)Не виходить функцією @Map.Object[N].SetXMLTag ParamNumber Query Value вносити відомості про другого і наступних співвласників.

2)Не працюють функції @Map.Parameters.FindByID та @Map.Parameters.FindByName

3)Десь зустрічав на форумі, що можна DMT-шаблони підтягувати з папки скриптом. І не знаходжу, де це було. Власне, цікавить, чи можна з будь-якої папки (щось не виходить), чи тільки з якоїсь конкретно

4)Після останнього оновлення (вірніше перевстановлення програми заново із файлу Setup, що на сайті) вікно скрипту, яке викликається функцією @Dialog.Message стало нечитабальним, кнопка ОК налазить на текст. Віндовс XP


Вложения:
2016-08-01_140523.jpg
2016-08-01_140523.jpg [ 51.72 Кб | Просмотров: 8042 ]

_________________
додатково про скрипти Digitals на www.digitals.at.ua
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 10 авг 2016 12:39 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
fendak писал(а):
...4)Після останнього оновлення (вірніше перевстановлення програми заново із файлу Setup, що на сайті) вікно скрипту, яке викликається функцією @Dialog.Message стало нечитабальним, кнопка ОК налазить на текст. Віндовс XP
Меню Сервіс > Властивості на вкладці Головна поле зі списком Основний шрифт - виберіть той шрифт, який був вибраний у налаштуваннях Digitals, при яких текст в діалозі відображався нормально. Використовуйте опцію В усіх діалогах. Зміна шрифта може допомогти: наприклад на Wndows 7-10 - "Arial Kyr".

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


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

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Підкажіть як скриптово встановити рамку по ширині видимого вікна?

Вложение:
.jpg [382.85 Кб]
Скачиваний: 0


червоним виділено необхідну рамку


Або чи можна одразу видиму область зберегти в растрове зображення?


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

Зарегистрирован:
02 апр 2013 15:28
Сообщения: 177
sergykydr писал(а):
Підкажіть як скриптово встановити рамку по ширині видимого вікна?

Вложение:
.jpg


червоним виділено необхідну рамку


Або чи можна одразу видиму область зберегти в растрове зображення?




$SO=@Map.SelectedObject
@if $SO=0 then @Break Пометьте объект
$X=@Map.Object[$SO].Parameter[-4]
$Y=@Map.Object[$SO].Parameter[-3]
$PP=@ProgramPath
$FN=$PP\Pictures\selected.bmp
;Высота и ширина - 297 210 мм, разрешение - 600 dpi, формат пикселя - 24-bit grayscale
@Map.CreateLayout $X $Y 297 210 0 600 24 $FN
;открываем просмотрщик по умолчанию
@Run $FN


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Добрый день!
Чи можна додати можливість функцією @ExecuteDocument DMTTemplateName, генерувати ДМТ-шаблон, який знаходиться за межами папки Digitals?.
А також, щоб можна було звертатися до конкретного шаблону в папці з розширенням DMT.

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 24 сен 2016 21:12 
Специалист
Специалист

Зарегистрирован:
31 май 2016 21:03
Сообщения: 19
Доброго вечора!
Чи є якась можливість при скриптовому редагуванні XML-тегів вказати сьогоднішню дату у розділі технічної документації?
$N=@Map.SelectedObject
@Map.Object[$N].ParameterTag[ID7000522] <DraftingDate>Today
Що потрібно в даному випадку вставити у код замість Today ?


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Є функція @Date
$Data=@Date
$chyslo=@StringPart 1.$Data
$misyac=@StringPart 2.$Data
$rik=@StringPart 3.$Data
$Data="$rik-$misyac-$chyslo"
$Data=@DequoteText $Data
@Map.Object[$N].ParameterTag[ID7000522] <DraftingDate>$Data

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Все про скрипти
СообщениеДобавлено: 25 сен 2016 00:58 
Специалист
Специалист

Зарегистрирован:
31 май 2016 21:03
Сообщения: 19
Дякую, усе працює :)


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

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
Як вивести в діалогове вікно сумарну площу декількох угідь(обєктів). Можливо функція @Map.CalculateForestArea дозволяє це зробити.

Виділяючи необхідні обєкти на панелі "Инфо" параметр 0 показує необхідну сумарну площу, але коли я її вивожу через функцію @Dialog.WaitBox показується площа одного з обєктів.

@Map.SelectByParameters 1|31=35.1
$2=@Map.Selected.GetParameter 0
@Dialog.WaitBox Будівлі - $2га


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
$MapCount=@MapCount
@if $MapCount=0 then @Break
$N=@Map.SelCount
@if $N=0 then @Break Виділіть об'єкти для яких треба розрахувати загальну площу
$SumArea=0
$N=0
%Start
$N=@Map.NextSelected $N
@if $N=0 then @Break Площа виділених об'єктів $SumArea га
$Area=@Map.Object[$N].Parameter[0]
$Area=@Calc replace("$Area",",",".")
$Area=@DequoteText $Area
$SumArea=@Calc $SumArea+$Area
@Goto %Start

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 1235 ]  На страницу Пред.  1 ... 47, 48, 49, 50, 51, 52, 53 ... 83  След.

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


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

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


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

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