Аналитика

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

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




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 16 ноя 2020 09:24 
Специалист
Специалист

Зарегистрирован:
02 ноя 2020 15:55
Сообщения: 22
Доброго дня! Хто може допомогти або підказати що потрібно ще дописати щоб вставляло проміри без нажимання кнопки ок та без діалогового вікна Вставка проміри схема!

@Map.DeselectAll
@Map.SelectLayer ID11330000
@Map.SelectLayer ID20000
Вставка | Промеры и схема...


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 16 ноя 2020 10:18 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
matskows писал(а):
Доброго дня! Хто може допомогти або підказати що потрібно ще дописати щоб вставляло проміри без нажимання кнопки ок та без діалогового вікна Вставка проміри схема!

@Map.DeselectAll
@Map.SelectLayer ID11330000
@Map.SelectLayer ID20000
Вставка | Промеры и схема...


Використайте команду @SendChars у своєму скриптi

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 17 ноя 2020 13:15 
Эксперт
Эксперт

Зарегистрирован:
30 июн 2017 20:52
Сообщения: 63
Откуда: Херсон
@Map.DeselectAll
@Map.SelectLayer ID11330000
@Map.SelectLayer ID20000
@SendChars <CR>
Вставка | Промеры и схема...
@Map.DeselectAll


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 17 ноя 2020 16:53 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Важливо щоб усі потрібні "галочки" вже були обрані в цьому діалозі до виклику скрипта

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 18 ноя 2020 00:59 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
Скрипт для виставлення потрiбних параметрiв вiкна "Промiри та схема" перед викликом вiкна
$CBMode=[Режим (0 - промiри, 1 - схема)]
$CBVisible=[Промiри тiльки до видимих (1 - так, 0 - нi)]
$CBRight=[Круг право (для Режиму $CBMode=1) 1 - так, 0 - нi]
Код:
; Режим (0 - промiри, 1 - схема)
$CBMode=0
; Промiри тiльки до видимих (1 - так, 0 - нi)
$CBVisible=0
; Круг право (для Режиму $CBMode=1)
$CBRight=0
;
$PPath=@ProgramPath
$IniFile=$PPath\Ged.ini
$Ex=@FileExists $IniFile
@If $Ex=0 Then @Break Помилка читання файлу налаштувань!
@Text[1].Load $IniFile
; -------------------------------------------------------------------------
; замiна FormID.grbMode
; -------------------------------------------------------------------------
$Pos=@Text[1].IndexOf [FormID.grbMode]
@If $Pos=0 Then @Break Помилка читання файлу налаштувань!|Вiдсутнiй тег [FormID.grbMode]
$Pos=$Pos+1
$Line=@Text[1].Line[$Pos]
$Param=@StringPart 1=$Line
@If "$Param"<>"ItemIndex" Then @Break Помилка читання файлу налаштувань!|Помилковий параметр тегу [FormID.grbMode]|Очiкується "ItemIndex", отримано "$Param"
; ставимо значення 0 ('Промiри')
$Line=$Param=$CBMode
@Text[1].Line[$Pos]=$Line
; -------------------------------------------------------------------------
; замiна FormID.chbVisible
; -------------------------------------------------------------------------
$Pos=@Text[1].IndexOf [FormID.chbVisible]
@If $Pos=0 Then @Break Помилка читання файлу налаштувань!|Вiдсутнiй тег [FormID.chbVisible]
$Pos=$Pos+1
$Line=@Text[1].Line[$Pos]
$Param=@StringPart 1=$Line
@If "$Param"<>"Checked" Then @Break Помилка читання файлу налаштувань!|Помилковий параметр тегу [FormID.chbVisible]|Очiкується "Checked", отримано "$Param"
; ставимо значення 0 (вiдключаємо)
$Line=$Param=$CBVisible
@Text[1].Line[$Pos]=$Line
; -------------------------------------------------------------------------
; замiна FormID.chbRight
; -------------------------------------------------------------------------
$Pos=@Text[1].IndexOf [FormID.chbRight]
@If $Pos=0 Then @Break Помилка читання файлу налаштувань!|Вiдсутнiй тег [FormID.chbRight]
$Pos=$Pos+1
$Line=@Text[1].Line[$Pos]
$Param=@StringPart 1=$Line
@If "$Param"<>"Checked" Then @Break Помилка читання файлу налаштувань!|Помилковий параметр тегу [FormID.chbRight]|Очiкується "Checked", отримано "$Param"
; ставимо значення 0 (вiдключаємо)
$Line=$Param=$CBRight
@Text[1].Line[$Pos]=$Line
; -------------------------------------------------------------------------
; записуємо змiнений файл
@Text[1].Save $IniFile
;@SendChars <CR>
@ExecuteMenu InsertDistances
;

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 18 ноя 2020 11:57 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Руслан Пархуць писал(а):
Скрипт для виставлення потрiбних параметрiв вiкна "Промiри та схема" перед викликом вiкна...
Доброго дня.
Руслан гарно виклав - розписав детально :D .
Можна ще скористатися функцією dll, тоді перевіряти наявність ключів та секцій не треба: якщо таких немає - будуть створені.
Код:
; Режим (0 - промiри, 1 - схема)
$CBMode=0
; Промiри тiльки до видимих (1 - так, 0 - нi)
$CBVisible=0
; Круг право (для Режиму $CBMode=1)
$CBRight=0
;
$PPath=@ProgramPath
$IniFile=$PPath\Ged.ini
$Ex=@FileExists $IniFile
@If $Ex=0 Then @Break Відсутній файл $PPath\Ged.ini!
;
;Параметр - рядок, в якому 4 значення, розділених символом "/": повний
; шлях до ini-файла; назва секції; назва ключа; нове значення ключа.
@DLLExec Functions.ChangeValueIniFile $IniFile/FormID.grbMode/ItemIndex/$CBMode
@DLLExec Functions.ChangeValueIniFile $IniFile/FormID.chbVisible/Checked/$CBVisible
@DLLExec Functions.ChangeValueIniFile $IniFile/FormID.chbRight/Checked/$CBRight
;
;@SendChars <CR>
@ExecuteMenu InsertDistances

Тут-же в мене виникло питання. А що, тепер усі форми, по аналогії з вікном "Промiри та схема", при ініціалізації отримують значення з файла Ged.ini :?:
Раніше ж, вроді - лише при старті Digitals?


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 18 ноя 2020 17:37 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
voha писал(а):
А що, тепер усі форми, по аналогії з вікном "Промiри та схема", при ініціалізації отримують значення з файла Ged.ini

Одна точно не працює ще так - це кнопка "Лінію в смугу", галочка "Створити буферну зону"

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 19 ноя 2020 10:26 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
fendak писал(а):
voha писал(а):
А що, тепер усі форми, по аналогії з вікном "Промiри та схема", при ініціалізації отримують значення з файла Ged.ini

Одна точно не працює ще так - це кнопка "Лінію в смугу", галочка "Створити буферну зону"

Код:
; ширина смуги
$CMWidth=1
; створити буферну зону (1 - так, 0 - нi)
$CMBuffer=0
; -------------------------------------------
$CMLine=@Assign $CMWidth<TAB><$CMBuffer><CR>
@SendChars $CMLine
@ExecuteMenu spbStrip
;

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Последний раз редактировалось Руслан Пархуць 19 ноя 2020 11:39, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 19 ноя 2020 10:43 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Руслан Пархуць писал(а):
Код:
$CMLine=@Concat $CMWidth<TAB><$CMBuffer><CR>
@SendChars $CMLine
Дик, получається, що надсилання "1" в CheckBox його включить, а "0" - його виключить :!:. Точно, це ж його властивість на замовчування.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 19 ноя 2020 11:45 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 382
Откуда: м.Львiв
voha писал(а):
Руслан Пархуць писал(а):
Код:
$CMLine=@Concat $CMWidth<TAB><$CMBuffer><CR>
@SendChars $CMLine
Дик, получається, що надсилання "1" в CheckBox його включить, а "0" - його виключить :!:. Точно, це ж його властивість на замовчування.

Але все це є в скриптовiй ф-цiї @Map.Selected.ToStrip, тобто можна все робити i без виклику вiкна
Код:
; ширина смуги
$CMWidth=6
; створити буферну зону (1 - так, 0 - нi)
$CMBuffer=1
@Map.Selected.ToStrip $CMWidth $CMBuffer

_________________
Більшість хороших програмістів виконують свою роботу не тому, що очікують оплати або визнання, а тому, що отримують задоволення від програмування.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 21 ноя 2020 00:22 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Ще б якось була можливість відновлювати початкову позицію табуляції у вікні. Бо коли користувач перед тим натисне не ОК, а Відмінити - то при запуску скрипту потім не працює.
Наприклад, щоб запустити команту Вставка - Сітка із рамкою 5000х5000, включеною галочкою Додати підписи і знятою галочкою Малий масштаб виставив ось так:
Код:
$CMLine=@Assign <TAB><TAB><TAB><TAB><TAB><TAB>5000<TAB>5000<TAB><TAB><TAB><1><TAB><0><TAB><TAB><CR>
@SendChars $CMLine
Вставка | Сітка...

Але якщо перед тим в ручному режимі поставити курсор на будь-який інший блок, крім ОК, то не працює потім, бо починає рахувати знаки табуляції від активного блоку в попередньому сеансі запуску.

Доповнено: В принципі, оптимальним варіантом є
$CMLine=@Assign 5000<TAB>5000<TAB><TAB><TAB><1><TAB><0><TAB><TAB><TAB><TAB><TAB><TAB><TAB><TAB><CR>
Тому, що після перезапуску програми дане вікно відновлює своє значення за замовчуванням, а саме: активним стає поле, де вводиться розмір рамки.


Вложения:
2020-11-21_004459.png
2020-11-21_004459.png [ 7.38 Кб | Просмотров: 6206 ]

_________________
додатково про скрипти Digitals на www.digitals.at.ua
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 26 ноя 2020 15:49 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
В нову версію програми додали скриптову функцію для вставки сітки, аналогічну меню Вставка-Сітка
@Map.InsertGrid Layer X0 Y0 DX DY ObjIndex CreateCaption SmallScale Solid
Аргументи функції:
Layer - шар для об'єктів сітки
X0 Y0 - початкові координати
DX DY - кроки сітки по двом координатам
ObjIndex - номер об'єкта, в який вставляється сітка, якщо 0, то в рамку карти.
CreateCaption - додавати підписи, 0 - ні, інше значення - так
SmallScale - малий масштаб, 0 - ні, інше значення - так
Solid - 0 - хрести, інше значення - суцільна сітка

виклик
@Map.InsertGrid 1 5000000 1000000 5000 5000 0 1 0 1
аналогічний такому
Вложение:
InsertGrid.png
InsertGrid.png [ 7.3 Кб | Просмотров: 6159 ]

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 26 ноя 2020 16:23 
Гуру
Гуру

Зарегистрирован:
06 июн 2010 06:35
Сообщения: 823
Откуда: Ліспроект Володимир Вовчанський
Dmitry_Zolotar писал(а):
В нову версію програми додали скриптову функцію для вставки сітки, аналогічну меню Вставка-Сітка
@Map.InsertGrid Layer X0 Y0 DX DY ObjIndex CreateCaption SmallScale Solid...
Доброго дня розробникам. Дякую за вдосконалення. Користуючись нагодою - питання: чи можна додати по аналогії InsertSheetLayout :?: Бо наче пропустили, якось ненароком.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 27 ноя 2020 11:34 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 2298
Откуда: Vinnytsia
Додано скриптову функцію
@Map.InsertSheetLayout Layer X0 Y0 DX DY Overlap ObjIndex
Layer - шар розбивки аркушів
X0 Y0 - початкові координати
DX DY - розміри аркуша в мм
Overlap - розмір в мм перетину аркушів
ObjIndex - номер об'єкта, в який вставляється розбивка, 0 - рамка карти

До ged.lng додати строки:
Код:
Insert grid into object or map frame   Додає сітку у об'єкт чи рамку карти
Insert sheet layout intoobject or map frame   Додає розбивку на аркуші у об'єкт чи рамку карти


Цитата:
Бо наче пропустили, якось ненароком.

Саме так

_________________
Команда разработчиков Digitals
(наш e-mail и ICQ находятся в меню Помощь|О программе)
Новичкам сюда | Новые возможности программы | Купить Digitals


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Скрипти Допоможіть будь ласка.)
СообщениеДобавлено: 02 дек 2020 16:51 
Эксперт
Эксперт

Зарегистрирован:
29 окт 2012 12:15
Сообщения: 99
Откуда: Запорізька область, м. Кам'янка-Дніпровська
Як викликати скриптом вікно властивості лінії, таке як через Ctrl+D? Або підкажіть як маркованому відрізку змінити довжину.


Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.

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


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

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


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

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