Здравствуйте. Подскажите пожалуйста, есть ли скрипт для поворота отметок не на один определенный угол, а для автоматического разворота подписи отметки относительно направления склона (сторону увеличения отметок). Спасибо
можете пробувати цей скрипт - Створення підписів точок вздовж лінії
але направлення склону доведеться перед тим нанести вручну лініями
Спасибо, но это чуть не то…представьте горные выработки (или карьер), отметки должны быть ориентрованы по увеличению абсолютной отметки.
Не дуже розумію, що саме треба. Тобто, є певна похила поверхність і вам треба, щоб підпис був вздовж (чи впоперек) нахилу? Чи я не вірно розумію?
Тобто, програма має бачити, де нижча/вища по Z сторона і туди орієнтувати підпис?
Є ще варіант автоматичного винесення підписів горизонталей
;параметр для якого виносяться підписи
$Param=-2
;крок підписів вздовж контура об’єкта в метрах
$Step=70
;зміщення підписів по вертикалі
$CaptionShift=0
;шар горизонталей
$layer=21200000
;
$MapCount=@MapCount
@if $MapCount=0 then @Break
$MC=@Map.Count
@if $MC=0 then @Break На карті нема жодного об’єкту
$N1=0
@Map.DeselectAll
%Pochatok
$N1=$N1+1
$LID=@Map.Object[$N1].LayerID
@If $LID<>$layer then @Goto %Next
@Map.SelectObject $N1
$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
;
%Next
@if $N1<$MC then @Goto %Pochatok
Тобто, вам треба спершу створити ЦМР - горизонталі і потім можна відносно них зробити винесення підписів. А самі горизонталі, якщо вони не потрібні, можна перевести у білий колір.
Спасибо, буду пробовать