vovkas писал(а):
Есть карта, в которой высоты смещены на условное значение. Возможно ли всю карту пересчитать на определенную константу, как, допустим, пересчитываются координаты по опорным точкам?
Т.е. просто к каждой точке на карте прибавляется или отнимается необходимое значение, без интерполяции.
Функция "переприсвоить высоты" не подходит.
Швиденько написав для Вас скрипт, пробуйте на здоров'я
Код:
$SelCount=@Map.SelCount
@if $SelCount=0 then @Break Позначте об'єкти, для яких перераховуватимуться висоти точок
$NObg=0
$KstObg=1
$Rizn=@Dialog.Ask Міняємо висоти на (-15.32, або 15.32) Default=0.00
%StartObg
$NObg=@Map.NextSelected $NObg
$PointCount=@Map.Object[$NObg].Count
$NPoint=1
%StartPoint
$StarKoord=@Map.Object[$NObg].Point[$NPoint]
$ZStar=@StringPart 3 $StarKoord
@If $Rizn<0 then @goto %menshe
$ZNov=$ZStar+$Rizn
@goto %kin
%menshe
$Rizn1=@Calc Abs($Rizn)
$ZNov=$ZStar-$Rizn1
%kin
$X=@StringPart 1 $StarKoord
$Y=@StringPart 2 $StarKoord
$NovKoord=$X $Y $ZNov
@Map.Object[$NObg].Point[$NPoint]=$NovKoord
$NPoint=$NPoint+1
@if $NPoint<=$PointCount then @goto %StartPoint
$KstObg=$KstObg+1
@If $KstObg<=$SelCount then @goto %StartObg
@Dialog.Message Зроблено
PS: Вказувати в діалозі число з розділювачем цілої та дробової частини - крапка. В налаштуваннях системи: регіональні стандарти розділювач цілої та дробової частини - крапка.