Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 24 ноя 2017 03:43

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




Начать новую тему Ответить на тему  [ Сообщений: 254 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17
Автор Сообщение
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 02 окт 2017 13:05 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 51
Добрый день. Подскажите пожалуйста.
Есть несколько меж.знаків. Скажем 70 штук. Они привязані к трем пунктам ДГМ. Как с помощью скрипта прописать в каждом меж.знаке расстояния от каждого пункта ДГМ в отдельный параметр.
Спасибо.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 03 окт 2017 00:40 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 182
Откуда: м.Львiв
Виталий писал(а):
Добрый день. Подскажите пожалуйста.
Есть несколько меж.знаків. Скажем 70 штук. Они привязані к трем пунктам ДГМ. Как с помощью скрипта прописать в каждом меж.знаке расстояния от каждого пункта ДГМ в отдельный параметр.
Спасибо.

В даному прикладi вiдстанi записуються в лiнiйний об'єкт 1 в параметр 2 та в параметер 2 шару межового знаку (вiдстань1,вiдстань2,вiдстань3).

Код:
; Лiнiйний шар для промалювання промiрiв 
$Layer=1
; Параметр, в який записується довжина лiнiї
$Param=2
;
@Map.DeselectAll
%PointSel
$PointSel=@Dialog.WaitBox Виберiть межовi знаки
$PntCount=@Map.SelCount
@If $PntCount=0 Then @Goto %PointSel
$PointSel=@Map.Selected.List
; заносим список МЗ в масив 1
@Text[1].Text=$PointSel
@Map.DeselectAll
%DGMSel
$DGMSel=@Dialog.WaitBox Виберiть пункти ДГМ
$DGMCount=@Map.SelCount
@If $DGMCount=0 Then @Goto %DGMSel
$DGMSel=@Map.Selected.List
; заносим список пунктiв ДГМ в масив 2
@Text[2].Text=$DGMSel
;
;
; Цикл по межових знаках
%CyclePoint
$PntObj=@Text[1].Line[$PntCount]
$Pnt=@Map.Object[$PntObj].Point[1]
$PP=%Library.ReplaceComma $Pnt
$Pnt2X=@StringPart 1 $PP
$Pnt2Y=@StringPart 2 $PP
;
$Count=$DGMCount
$Text=
; Цикл по пунктах ДГМ
%CycleDGM
$DGMObj=@Text[2].Line[$Count]
$DGMPt=@Map.Object[$DGMObj].Point[1]
$PP=%Library.ReplaceComma $DGMPt
$Pnt1X=@StringPart 1 $PP
$Pnt1Y=@StringPart 2 $PP
;
$Dist=@Calc sqrt(($Pnt1X-$Pnt2X)^2+($Pnt1Y-$Pnt2Y)^2)
$N=@Map.AddObject 0|1|$Layer|2|0 $DGMPt|0 $Pnt|1|$Layer|1|$Param $Dist
$Dist=@RoundTo $Dist 4
@If $Text= Then $Text=$Dist Else $Text=$Text,$Dist
;
$Count=$Count-1
@If $Count>0 Then @Goto %CycleDGM
; Запис в параметер МЗ
@Map.Object[$PntObj].Parameter[$Param]=$Text
;
$PntCount=$PntCount-1
@If $PntCount>0 Then @Goto %CyclePoint
;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 03 окт 2017 07:58 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 51
Руслан Пархуць писал(а):
Виталий писал(а):
Добрый день. Подскажите пожалуйста.
Есть несколько меж.знаків. Скажем 70 штук. Они привязані к трем пунктам ДГМ. Как с помощью скрипта прописать в каждом меж.знаке расстояния от каждого пункта ДГМ в отдельный параметр.
Спасибо.

В даному прикладi вiдстанi записуються в лiнiйний об'єкт 1 в параметр 2 та в параметер 2 шару межового знаку (вiдстань1,вiдстань2,вiдстань3).

Код:
; Лiнiйний шар для промалювання промiрiв 
$Layer=1
; Параметр, в який записується довжина лiнiї
$Param=2
;
@Map.DeselectAll
%PointSel
$PointSel=@Dialog.WaitBox Виберiть межовi знаки
$PntCount=@Map.SelCount
@If $PntCount=0 Then @Goto %PointSel
$PointSel=@Map.Selected.List
; заносим список МЗ в масив 1
@Text[1].Text=$PointSel
@Map.DeselectAll
%DGMSel
$DGMSel=@Dialog.WaitBox Виберiть пункти ДГМ
$DGMCount=@Map.SelCount
@If $DGMCount=0 Then @Goto %DGMSel
$DGMSel=@Map.Selected.List
; заносим список пунктiв ДГМ в масив 2
@Text[2].Text=$DGMSel
;
;
; Цикл по межових знаках
%CyclePoint
$PntObj=@Text[1].Line[$PntCount]
$Pnt=@Map.Object[$PntObj].Point[1]
$PP=%Library.ReplaceComma $Pnt
$Pnt2X=@StringPart 1 $PP
$Pnt2Y=@StringPart 2 $PP
;
$Count=$DGMCount
$Text=
; Цикл по пунктах ДГМ
%CycleDGM
$DGMObj=@Text[2].Line[$Count]
$DGMPt=@Map.Object[$DGMObj].Point[1]
$PP=%Library.ReplaceComma $DGMPt
$Pnt1X=@StringPart 1 $PP
$Pnt1Y=@StringPart 2 $PP
;
$Dist=@Calc sqrt(($Pnt1X-$Pnt2X)^2+($Pnt1Y-$Pnt2Y)^2)
$N=@Map.AddObject 0|1|$Layer|2|0 $DGMPt|0 $Pnt|1|$Layer|1|$Param $Dist
$Dist=@RoundTo $Dist 4
@If $Text= Then $Text=$Dist Else $Text=$Text,$Dist
;
$Count=$Count-1
@If $Count>0 Then @Goto %CycleDGM
; Запис в параметер МЗ
@Map.Object[$PntObj].Parameter[$Param]=$Text
;
$PntCount=$PntCount-1
@If $PntCount>0 Then @Goto %CyclePoint
;


Огоромное спасибо!!!!!!!!!!


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 15 окт 2017 20:29 
Участник
Участник

Зарегистрирован:
09 дек 2015 12:30
Сообщения: 9
В меню Группа яка може бути максимальна кількість груп?
при відкритті карти в меню Группа відображається 9 груп об'єктів, а має бути 20. Решта групп відображаються після команди Группа|Создать...
І чому програма зберігає перші 9 груп з назвою, а наступні показує з назвою: Group 10, Group 11, ...


Вложения:
.jpg
.jpg [ 101.98 Кб | Просмотров: 445 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 17 окт 2017 18:38 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 470
petrogeo писал(а):
В меню Группа яка може бути максимальна кількість груп?
при відкритті карти в меню Группа відображається 9 груп об'єктів, а має бути 20. Решта групп відображаються після команди Группа|Создать...
І чому програма зберігає перші 9 груп з назвою, а наступні показує з назвою: Group 10, Group 11, ...


це у вас, мабуть, якийсь глюк програми. Я створюю і 30 груп (більше просто не пробував), зберігаю карту, відкриваю і назви груп зберігаються. Правда, в мене назви груп не такі довгі, як у вас. Можливо, в цьому справа.

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 30 окт 2017 11:02 
Участник
Участник

Зарегистрирован:
01 дек 2011 14:14
Сообщения: 9
Приветствую всех! Может кто-то сталкивался с такой проблемой (шрифт на ярлыках) и знает решение? Буду благодарен. (обнуление GED.ini не увенчалось успехом)


Вложения:
.JPG
.JPG [ 42.83 Кб | Просмотров: 346 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 31 окт 2017 00:38 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 182
Откуда: м.Львiв
Anton13 писал(а):
Приветствую всех! Может кто-то сталкивался с такой проблемой (шрифт на ярлыках) и знает решение? Буду благодарен. (обнуление GED.ini не увенчалось успехом)
Яка операцiйна система стоїть? Попробуйте цей варiант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 31 окт 2017 10:31 
Участник
Участник

Зарегистрирован:
01 дек 2011 14:14
Сообщения: 9
Руслан Пархуць писал(а):
Anton13 писал(а):
Приветствую всех! Может кто-то сталкивался с такой проблемой (шрифт на ярлыках) и знает решение? Буду благодарен. (обнуление GED.ini не увенчалось успехом)
Яка операцiйна система стоїть? Попробуйте цей варiант.

Спасибо за отклик! Стоит Win 7 32bit. Помогло следующее - "переименовать файлы «c_1252.nls….. c_1255.nls». добавьте к ним в самый конец «bak» Должно выглядеть так c_1252.nls.bak"


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 02 ноя 2017 08:43 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 51
Доброго дня. Як можно цей скритп застосуватидля всіх горизонталей. а нае тільки для одної.
Скрипт, який створює підписи для горизонталей

;параметр для якого виносяться підписи
$Param=-2
;крок підписів вздовж контура об'єкта в метрах
$Step=25
;зміщення підписів по вертикалі
$CaptionShift=0
$MapCount=@MapCount
@if $MapCount=0 then @Break
$N=@Map.SelCount
@If $N<1 @Break Виділіть об'єкт для створення підпису
$N=@Map.SelectedObject
;периметр об'єкта
$Len=@Map.Object[$N].Parameter[-1]
;виділяємо першу частину, якщо включено "Показывать длины с углами"
$Len=@StringPart 1 $Len
$Pos=0
;початок циклу
%Start
;виносимо підпис на відстань $Pos від початку об'єкта
;NoUpsideDown - уникаємо перевернутих підписів
@Map.Object[$N].CreateCaptionAlongContour $Param $Pos $CaptionShift NoUpsideDown
$Pos=$Pos+$Step
@if $Pos<$Len then @Goto %Start
@Map.Parameters.SetAttributes -2 0 5 0 10 0 16777215 0 Arial 60 0 -16777208
@Map.RefreshObject $N
@Window.Refresh
Дякую


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 02 ноя 2017 11:43 
Гуру
Гуру
Аватара пользователя

Зарегистрирован:
22 сен 2007 16:09
Сообщения: 182
Откуда: м.Львiв
Виталий писал(а):
Доброго дня. Як можно цей скритп застосуватидля всіх горизонталей. а нае тільки для одної.
Скрипт, який створює підписи для горизонталей
Код:
;параметр для якого виносяться підписи
$Param=-2
;крок підписів вздовж контура об'єкта в метрах
$Step=25
;зміщення підписів по вертикалі
$CaptionShift=0
$MapCount=@MapCount
@if $MapCount=0 then @Break
$N=@Map.SelCount
@If $N<1 @Break Виділіть об'єкт для створення підпису
$N=0
%Cycle
$N=@Map.NextSelected $N
@If $N=0 Then @Goto %End
;периметр об'єкта
$Len=@Map.Object[$N].Parameter[-1]
;виділяємо першу частину, якщо включено "Показывать длины с углами"
$Len=@StringPart 1 $Len
$Pos=0
;початок циклу
%Start
;виносимо підпис на відстань $Pos від початку об'єкта
;NoUpsideDown - уникаємо перевернутих підписів
@Map.Object[$N].CreateCaptionAlongContour $Param $Pos $CaptionShift NoUpsideDown
$Pos=$Pos+$Step
@if $Pos<$Len then @Goto %Start
@Map.Parameters.SetAttributes -2 0 5 0 10 0 16777215 0 Arial 60 0 -16777208
@Map.RefreshObject $N
@Goto %Cycle
%End
@Window.Refresh


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 02 ноя 2017 12:38 
Гуру
Гуру

Зарегистрирован:
18 апр 2007 11:55
Сообщения: 1865
Откуда: Vinnitsa
Виталий писал(а):
Доброго дня. Як можно цей скритп застосуватидля всіх горизонталей. а нае тільки для одної.
Скрипт, який створює підписи для горизонталей

Нова версія ged.exe вміє створювати такі підписи за допомогою менеджера підписів. Оберіть шаблон підпису "Горизонталь" та задайте крок в мм.

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


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 02 ноя 2017 14:29 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 51
Dmitry_Zolotar писал(а):
Виталий писал(а):
Доброго дня. Як можно цей скритп застосуватидля всіх горизонталей. а нае тільки для одної.
Скрипт, який створює підписи для горизонталей

Нова версія ged.exe вміє створювати такі підписи за допомогою менеджера підписів. Оберіть шаблон підпису "Горизонталь" та задайте крок в мм.


Дякую
только получаються перевернутые надписи.


Вложения:
.jpg
.jpg [ 39.5 Кб | Просмотров: 268 ]
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 02 ноя 2017 16:33 
Специалист
Специалист

Зарегистрирован:
30 июн 2017 20:52
Сообщения: 15
Откуда: Херсон
"Виталий"
Так и должно быть. Подписи должны быть читабельными а потому слева на право а не наоборот) на черчении учили)


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нужна помощь
СообщениеДобавлено: 06 ноя 2017 10:05 
Эксперт
Эксперт

Зарегистрирован:
11 сен 2012 09:11
Сообщения: 51
VictorR писал(а):
"Виталий"
Так и должно быть. Подписи должны быть читабельными а потому слева на право а не наоборот) на черчении учили)


согласноно литературе:
"УСЛОВНЫЕ ЗНАКИ
ДЛЯ ТОПОГРАФИЧЕСКИХ ПЛАНОВ МАСШТАБОВ
1:5000 1:2000 1:1000 1:500 "
456 (329). Надписи горизонталей следует ориентировать основанием цифр вниз по скату, причем по
возможности к южной или восточной рамкам плана.

Можно ли адаптировать подписи а данным требованиям?


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

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


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

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


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

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