Все про скрипти

$S=52 $V=@Dialog.Ask Значення V Default= @If $V<> then $S=@Concat $S,+,$V @Dialog.Message $S

І ще. Як задати маску, щоб замість 94 виводило 94.0
Дякую.

Див. функцію @Calc. По-іншому, як тільки:$S=52 $V=@Dialog.Ask Значення V Default= $Separator=@Calc Char(46) $Separator=@DequoteText $Separator @If $V= @Goto %Print $PresentSeparator=@Calc Pos("$Separator","$V") @If $PresentSeparator=0 then $V=@Concat $V,$Separator,0 @If $V<> then $S=@Concat $S,+,$V %Print @Dialog.Message $Sне получається. Немає типів даних у скриптах, відповідно - немає формату. Краще написати один функціональний скрипт в Digitals\Library - приведення десяткового числа до формату.

В мене вийшло так:

$D=25
$s=@Calc Length($D)
@Dialog.Message Кількість знаків $s
$f=@Calc Copy($D,$s-1,1)
$f=@DequoteText $f
@If $f=. then $D=$D else $D=@Concat $D,.0
@Dialog.Message Знак $f число $D

Дякую.

Подскажите как скриптом поменять в полигоне (обьект) номер принадлежности слоя,
в правке это просто вибираеш полигон и в выпадающем списке слоев вибираеш нужный и все полигон (обьект) на новом слое, а как это реализвать с помощью скрипта

;ID20000 - ID слоя In4_Ділянка
@Map.Selected.Layer ID20000
@Window.Refresh

ЦМР | Створити ЦМР… При створенні скрипту просить ввести крок. Яу зробити, щоб не просило, а автоматом?
Дякую.

@FileNew Name [/Template=Templatename.dmf]

ЦМР | Створити ЦМР… При створенні скрипту просить ввести крок. Яу зробити, щоб не просило, а автоматом? Також ЦМР | Інтерполювати горизонталі…
Дякую.

$A=@Dialog.Ask Вкажіть крок, м Default=1 @SendChars $A<CR> @ExecuteMenu ToolsDEMGridFromContours

Підсів я на ваші скрипти. Може підкажете, написав скрипт з побудови горизонталів. А вибиває помилку, хоча цикл від 0 до n-1 або від 1 до n. а тут лишній круг.
Будь-ласка. Дякую.
І ще один глюк

123.rar (17 KB)

Як зробити скрип шоб рахував суму площ помічених угідь

Все, не треба. Якщо їх виділити площа в “инфо” показує

Как при помощи скрипта ОТКРЫТЬ-ЗАКРЫТЬ пользовательскою панель инструментов ???

Подбор нужного значения площади участка

В язык скриптов добавлена функция @Map.AdjustObjectArea, автоматически подбирающая такое положение точек участка, при котором его площадь точно равняется заданной. Длины линий (округленные до сантиметров) при этом не изменяются.

Маркированные точки исключаются из подбора и всегда сохраняют свое исходное положение.

Пример скрипта для подбора площади помеченного участка.

$N=@Map.NextSelected
$A=@Map.Object[$N].Parameter[0]
$A=@Dialog.Ask Новая площадь Default=$A
$S=@Map.AdjustObjectArea $N $A 0.005

знайшов цей скрипт, але при спробі його запустити виникає помилка “Ошибка скрипта в площа0” Чому підскажіть?

Unknown command - я би переклав як “невідома команда”. Функція добавлена 01 ноя 2013, оновіться.

Десь так і думав :smiley: …потрібно оновить… :wink:

$N=@Map.SelCount
@Dialog.Message $N
Функція видає 10, а виділених об’єктів 9. Що не так? Дякую.

А скільки позначених об’єктів в рядку стану (лівий нижній куток вікна Digitals)?

  1. А копіюю на чистий листок 9. Якщо зняти виділення, то якийсь один об’єкт залишається виділеним. Може рамка? Ось скрипт. Скрипт створює горизонталі з точок.
    111.txt (647 Bytes)