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

Библиотека полезных скриптов
http://www.geosystema.net/forum/viewtopic.php?f=1&t=2539
Страница 11 из 11

Автор:  Dmitry_Zolotar [ 02 авг 2017 15:34 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Надішліть посилання на один з проблемних растрів нам на help@vingeo.com

Автор:  thom yorke [ 10 авг 2017 13:21 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Написав тиждень тому, але ніхто ніяк не відповів.

Автор:  Ryvol [ 12 авг 2017 02:05 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

thom yorke писал(а):
Написав тиждень тому, але ніхто ніяк не відповів.

Печалька... :(
Я двічі звертався електронкою 24 та 31 липня, - до цього дня поки немає повідомлення від розробників.
Можливо у віпустці :D
А можливо у них немає можливості переглянути пошту... Печалька... :(
Тоді потрібно іншими способами виходити на зв'язок.
Особисто мені вже не потрібно відповідати, питання вирішене але, як про це повідомить роробників ще не зняю.
Гадаю Вони поставляться з розумінням до моїх питань.

Автор:  Dmitry_Zolotar [ 13 авг 2017 23:05 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

thom yorke писал(а):
Написав тиждень тому, але ніхто ніяк не відповів.

Вибачьте, з ситуацією розібрались і я забув відповісти.

Для проблемних растрів створіть World-файли за допомогою Models.exe-Архив-Экспорт(попередньо обрати діректорію з растрами та виділіти файли в середньому стовпчику). Перевірьте наявність World-файлів для усіх растрів. Видаліть елементи орієнтування з заголовків tif-файлів (кнопка Удалить в середньому стовпчику Models.exe-Архив). Все, можна запускати скрипт.

Автор:  Rutar [ 24 сен 2017 21:18 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Скрипт для повороту усіх підписів виділених об'єктів вздовж виділеної лінії.
Можливо комусь знадобиться :)

Цитата:
$mapCount=@MapCount
@if ($mapCount=0) then @break Немає відкритих карт
;
; Set variables
;/////////////////////////////////////////////////////////////////////
;
$nextSelect=0
$cycleIndex=0
$directionObject=0
$selectCount=@Map.SelCount
;
@if ($selectCount<1) @break Необхідно виділити один або декілька об'єктів
;
; Run cycle 1
;/////////////////////////////////////////////////////////////////////
;
%RunCycle1
;
$cycleIndex=$cycleIndex+1
$nextSelect=@Map.NextSelected $nextSelect
$markedPoints=@Map.Object[$nextSelect].GetMarkedPointsCount
@if ($markedPoints>0) and ($directionObject>0) then @break Необхідно виділити лише одну лінію
@if ($markedPoints>0) and ($directionObject=0) then $directionObject=$nextSelect
@if ($cycleIndex<$selectCount) then @goto %RunCycle1
;
; Get direction object ot break
;/////////////////////////////////////////////////////////////////////
@if ($directionObject=0) then @break Необхідно виділити лінію, яка слугуватиме напрямком повороту підписів
;
; Get direction angle from object
;/////////////////////////////////////////////////////////////////////
;
$marked=0
$lineIndex=0
$cycleIndex=0
$pointCount=@Map.Object[$directionObject].Count
$pointCount=$pointCount-1
;
; Run cycle 2
;/////////////////////////////////////////////////////////////////////
%RunCycle2
;
$cycleIndex=$cycleIndex+1
$cycleIndexNext=$cycleIndex+1
;
$isMarked=@Map.Object[$directionObject].GetPointMarked $cycleIndex
$isNextMarked=@Map.Object[$directionObject].GetPointMarked $cycleIndexNext
;
@if ($isMarked=1) and ($isNextMarked=1) then $marked=$marked+1
@if ($isMarked=1) and ($isNextMarked=1) and ($lineIndex=0) then $lineIndex=$cycleIndex
;
@if ($cycleIndex<$pointCount) @goto %RunCycle2
;
; Check direction line for errors
;/////////////////////////////////////////////////////////////////////
;
@if ($marked<>1) then @break Необхідно виділити лише одну лінію
;
; Get direction angle
;/////////////////////////////////////////////////////////////////////
;
$angle=@Map.Object[$directionObject].LineAngle[$lineIndex]
$angle=@Calc Replace($angle,",",".")
$angle=-$angle*10+900
;
; Rotate labels
;/////////////////////////////////////////////////////////////////////
;
$nextSelect=0
$paramsCount=@Map.Parameters.Count
;
@if ($paramsCount=0) then @break
;
%Start:
;
$nextSelect=@Map.NextSelected $nextSelect
@If $nextSelect<=0 @Goto %Finish
;
$loopIndex=1
;
%NextParam
;
$caption=@Map.Object[$nextSelect].Caption[$loopIndex]
@if $caption= @Goto %NextCap
;
@Map.Object[$nextSelect].Caption[$loopIndex] * * * $angle
;
%NextCap:
;
$loopIndex=$loopIndex+1
@If $loopIndex<=$paramsCount @Goto %NextParam
@Goto %Start
;
%Finish:
@Window.Refresh

Автор:  quickvox [ 26 окт 2017 15:58 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Помогите пожалуйста. очень нужен скрипт для проверки несоответствия высот на пересечениях объектов. Нужно что бы точки разных объектов которые пересекаются между собой имели одинаковую высоту, но искать их в ручную нереально сложно. было бы не плохо их в отдельный список выводить для легкого нахождения на карте. Совмещение соседних тут не поможет. иногда одна высота имеет приоритет и нужно указывать ее как высоту для второго объекта пересекающий первый. а функция совместить с соседними делает это автоматом.

Автор:  Руслан Пархуць [ 26 окт 2017 18:00 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

quickvox писал(а):
Помогите пожалуйста. очень нужен скрипт для проверки несоответствия высот на пересечениях объектов. Нужно что бы точки разных объектов которые пересекаются между собой имели одинаковую высоту, но искать их в ручную нереально сложно. было бы не плохо их в отдельный список выводить для легкого нахождения на карте. Совмещение соседних тут не поможет. иногда одна высота имеет приоритет и нужно указывать ее как высоту для второго объекта пересекающий первый. а функция совместить с соседними делает это автоматом.

1. Можливо Вам допоможе кнопка "Показ центрiв" iз включеною опцiєю "Значення висот".
2. Скрипт робить пошук точок з рiзними висотами i формує в кiнцевому результатi масив з координатами точок перетину, висоти в яких рiзнi. Запис формується у форматi X Y Z ID. (Правда у скриптi застосована ф-цiя EditAlign, яка добавляє точки перетину мiж об'єктами. При потребi закоментуйте рядок з вказаною ф-цiєю )
Код:
$MapCount=@MapCount
@If $MapCount=0 Then @Break Не вiдкрито жодної карти
$SelCount=@Map.SelCount
@If $SelCount=0 Then @Break Не помiчено жодного об'єкту
$Count=$SelCount
$Buf=@Map.Selected.List
@ExecuteMenu EditAlign
@Map.DeselectAll
; масив помiчених об'єктiв
@Text.Text=$Buf
; масив точок перетину
@Text[1].Clear
; масив точок з рiзними висотами
@Text[2].Clear
; основний цикл
%CycleMain
$Obj=@Text.Line[$Count]
$PntCount=@Map.Object[$Obj].Count
$I=1
%CyclePoint
$Point=@Map.Object[$Obj].Point[$I]
@Text[1].Add $Point $Obj
$I=$I+1
@If $I<=$PntCount Then @Goto %CyclePoint
;
$Count=$Count-1
@If $Count>0 Then @Goto %CycleMain
; сортуємо список точок для перевiрки
@Text[1].Sort
$PntCount=@Text[1].Count
$I=1
%CycleList
$MPoint=@Text[1].Line[$I]
;$MPoint=%Library.ReplaceComma $MPoint
$MX=@StringPart 1 $MPoint
$MY=@StringPart 2 $MPoint
$MZ=@StringPart 3 $MPoint
$J=$I+1
%CycleIns
@If $J>$PntCount Then @Goto %NextPoint
$IPoint=@Text[1].Line[$J]
;$IPoint=%Library.ReplaceComma $IPoint
$IX=@StringPart 1 $IPoint
$IY=@StringPart 2 $IPoint
$IZ=@StringPart 3 $IPoint
@If ($MX=$IX) And ($MY=$IY) And ($MZ<>$IZ) Then @Goto %AddPoint
;
%NextPoint
$I=$I+1
@If $I<=$PntCount Then @Goto %CycleList
@Goto %PrintResult
%AddPoint
$EX=@Text[2].IndexOf $MPoint
@If $EX>0 Then @Goto %AddSecPoint
@Text[2].Add $MPoint
%AddSecPoint
$EX=@Text[2].IndexOf $IPoint
@If $EX>0 Then @Goto %ExitAddPoint
@Text[2].Add $IPoint
%ExitAddPoint
$J=$J+1
@Goto %CycleIns
;
%PrintResult
$Count=@Text[2].Count
$Buf=@Text[2].Text
@If $Count>0 Then @Dialog.Message $Buf
; очищення масиву
@Text[2].Clear
@Text[1].Clear
@Text.Clear
;
@Break

Автор:  thom yorke [ 06 ноя 2017 16:17 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Dmitry_Zolotar писал(а):
thom yorke писал(а):
Написав тиждень тому, але ніхто ніяк не відповів.

Вибачьте, з ситуацією розібрались і я забув відповісти.

Для проблемних растрів створіть World-файли за допомогою Models.exe-Архив-Экспорт(попередньо обрати діректорію з растрами та виділіти файли в середньому стовпчику). Перевірьте наявність World-файлів для усіх растрів. Видаліть елементи орієнтування з заголовків tif-файлів (кнопка Удалить в середньому стовпчику Models.exe-Архив). Все, можна запускати скрипт.


Знову застряг уже на першому кроці. Models на етапі експорту елементів орієнтування в .txt видає помилку "export error".

Автор:  Dmitry_Zolotar [ 07 ноя 2017 11:33 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

thom yorke писал(а):
Знову застряг уже на першому кроці. Models на етапі експорту елементів орієнтування в .txt видає помилку "export error".

Відкрийте цей растр в Ged.exe та надішліть інформацію(меню Растр-Свойства) про растр на help@vingeo.com.

Автор:  Dix [ 15 ноя 2017 19:14 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Здравствуйте!! Никто не подскажет каким образом средствами скрипта можно открыть определенный документ word и вставить туда переменные которые заранее определены в документе (DocVariable)???

Такая функция когда-то была в программке TCPScript, очень бы хотелось такого функционала и в наших родных скриптах.

Автор:  Dmitry_Zolotar [ 16 ноя 2017 11:00 ]
Заголовок сообщения:  Re: Библиотека полезных скриптов

Dix писал(а):
Здравствуйте!! Никто не подскажет каким образом средствами скрипта можно открыть определенный документ word и вставить туда переменные которые заранее определены в документе (DocVariable)???

Такая функция когда-то была в программке TCPScript, очень бы хотелось такого функционала и в наших родных скриптах.

Скрипт готовит некие данные и запускает Word с созданием документа на основе шаблона Digitals\Templates\TemplateName.dot
Код:
;путь к программе
$PP=@ProgramPath
;заполняем строками
@Text[1].Add DocVar1=Value1
@Text[1].Add DocVar2=Value2
@Text[1].Add DocVar3=Value3
@Text[1].Add DocVar4=Value4
;Копируем в буфер
@Text[1].Copy
;или сохраняем во временный файл
@Text[1].Save $PP\tempdata.txt
;запускаем Ворд с шаблоном
@Run "c:\Program Files (x86)\Microsoft Office\OFFICE11\WINWORD.EXE" /t"$PP\Templates\TemplateName.dot"

В шаблоне TemplateName.dot необходимо добавить обработчик события создания документа

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