Аналитика https://geosystema.net/forum/ |
|
Скрипт для поворота отметок https://geosystema.net/forum/viewtopic.php?f=1&t=19806 |
Страница 1 из 1 |
Автор: | 7www7www7 [ 26 сен 2020 14:54 ] |
Заголовок сообщения: | Скрипт для поворота отметок |
Здравствуйте. Подскажите пожалуйста, есть ли скрипт для поворота отметок не на один определенный угол, а для автоматического разворота подписи отметки относительно направления склона (сторону увеличения отметок). Спасибо |
Автор: | fendak [ 27 сен 2020 19:45 ] |
Заголовок сообщения: | Re: Скрипт для поворота отметок |
можете пробувати цей скрипт - Створення підписів точок вздовж лінії але направлення склону доведеться перед тим нанести вручну лініями |
Автор: | 7www7www7 [ 28 сен 2020 07:28 ] |
Заголовок сообщения: | Re: Скрипт для поворота отметок |
Спасибо, но это чуть не то...представьте горные выработки (или карьер), отметки должны быть ориентрованы по увеличению абсолютной отметки. |
Автор: | fendak [ 28 сен 2020 14:37 ] |
Заголовок сообщения: | Re: Скрипт для поворота отметок |
Не дуже розумію, що саме треба. Тобто, є певна похила поверхність і вам треба, щоб підпис був вздовж (чи впоперек) нахилу? Чи я не вірно розумію? Тобто, програма має бачити, де нижча/вища по 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 Тобто, вам треба спершу створити ЦМР - горизонталі і потім можна відносно них зробити винесення підписів. А самі горизонталі, якщо вони не потрібні, можна перевести у білий колір. |
Автор: | 7www7www7 [ 30 сен 2020 22:26 ] |
Заголовок сообщения: | Re: Скрипт для поворота отметок |
Спасибо, буду пробовать |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |