Намалювати середню лінію

Є дорога. Ширина дороги в різних місцях є різною. Потрібно намалювати вісь дороги.
В кого які ідеї, як це можна реалізувати? (Може в АвтоКаді є якась функція?)

Цей скрипт, поправить координати точок осьової лінії.$CountSelObg=@Map.SelCount @If $CountSelObg<>2 then @Break Позначте полігон (дорогу) і осьову лінію $SpysokSel=@Map.Selected.List @Text.Text=$SpysokSel $Obg1=@Text.Line[1] $Obg2=@Text.Line[2] @Map.DeselectAll $CountToch1=@Map.Object[$Obg1].Count $CountToch2=@Map.Object[$Obg2].Count @If $CountToch2>$CountToch1 then $NomPolig=$Obg2 else $NomPolig=$Obg1 @If $NomPolig=$Obg2 then $NomOsi=$Obg1 else $NomOsi=$Obg2 $CountTochPolig=@Map.Object[$NomPolig].Count $CountTochOsi=@Map.Object[$NomOsi].Count @Map.SelectObject $NomPolig Вибрати | Усередині позначеного $CountSelObg=@Map.SelCount @If $CountSelObg<2 then @Break В межах полігону (дороги) відсутня осьова лінія, або|осьова лінія виходить за межі полігону (дороги) @If $CountSelObg<>2 then @Break В межах полігону (дороги) присутні інші об'єкти $Vis=@Map.NextSelected $NomPolig @If $Vis<>$NomOsi then @Break Серед позначених немає осьової лінії $KstTochPolig=@calc $CountTochPolig-1 $Para=@calc $KstTochPolig/2 $Ostach=@calc Trunc($Para) $Rizn=$Para-$Ostach @if $Rizn<>0 then @Break Кількість точок полігону (дороги) не дозволяє провести осьову лінію @If $Para<>$CountTochOsi then @Break Кількість точок полігону (дороги) та осі не відповідають умові трилінії $StarSharZboru=@Map.GetCollectionLayer $Numer=1 %Obrobka $StartToch=$Numer+1 $KoordStartToch=@Map.Object[$NomPolig].Point[$StartToch] $StopToch=@calc ($CountTochPolig+1)-$Numer $KoordStopToch=@Map.Object[$NomPolig].Point[$StopToch] @Text.Line[1]=0 $KoordStartToch @Text.Line[2]=0 $KoordStopToch $Koord=@Text.Text $Linija=@Map.AddObject 0|1|1|2|$Koord $XNov=@Map.Object[$Linija].Parameter[-4] $YNov=@Map.Object[$Linija].Parameter[-3] $ZNov=@Map.Object[$Linija].Parameter[-2] $KoordNov=$XNov $YNov $ZNov @Map.Object[$NomOsi].Point[$Numer]=$KoordNov @Map.DeleteObject $Linija $Numer=$Numer+1 @If $Numer<=$CountTochOsi then @Goto %Obrobka1. Заведіть дорогу з осьовою лінією при шаблоні трилінія по одній з обочин дороги.
2. Поправте полігон дороги по іншій обочині дороги (осьова лінія має лишитись в кінцевому результаті всередині полігона дороги).
3. Позначте полігон дороги і осьову лінію та виконайте скрипт.
Для коректної роботи скрипта, необхідно дотриматись умов:
-дорога (зібрана в полігональному шарі при шаблоні збору трилінія) не має містити в середині полігона інших об’єктів, окрім як осьову лінію;
-осьова лінія, перед запуском скрипта, не повинна виходити за межі полігону дороги;
-правити можна як осьову лінію, так і полігон дороги, але кількість точок як полігона так і осьової має бути не змінною (вставка чи видалення точок при правці після заведення як трилінія не дасть результату роботи скрипта)
Всі можливі недотримання цих умов виловлюються скриптом. Пробуйте, в мене получилось на ура :exclamation:

Шаблон трилінія передбачає що, до кожної точки на одній лінії полігона є відповідна точка на іншій лінії полігона і точка на осьовій лінії. Таким чином, полігон дороги умовно розбивається на трапеції, серединна лінія яких є осьовою.

Дякую.