sergykydr писал(а):
fendak писал(а):
як за допомогою скрипту дізнатися, що об'єкт має форму петлі?
Також приєднуюсь до запитання.
Якщо Вам потрібно, то функцію, яка визначає, чи є об'єкт у формі петлі чи ні, я вже придумав, але вона знаходить тільки ті петлі, які починаються з першої точки об'єкту (для мого випадку підходять ідеально, бо якщо петля починається не з першої точки, то вона не може бути неправильною, тобто починатися не назовні, а всередину):
Перевірка | Очистить удаленные объекты
$MC=@Map.Count
$N=0
%Pochatok
$R=0
$N=$N+1
$KoordP1=@Map.Object[$N].Point[1]
@Map.SelectObject $N
@Map.Selected.MarkPoints ALL
$PC=@Map.Object[$N].GetMarkedPointsCount
@Map.Selected.MarkPoints CLEAR
$NP=0
%StartPoint
$NP=$NP+1
$KoordP=@Map.Object[$N].Point[$NP]
@If $KoordP<>$KoordP1 then @Goto %Next
$R=$R+1
%Next
@if $NP<$PC then @Goto %StartPoint
@if $R=3 then @Dialog.Message Виділений об'єкт має форму петлі
@Map.DeselectAll
@if $N<$MC then @Goto %PochatokАле, як тепер перерисувати цей об'єкт заново уже з правильною формою ще не знаю.
До речі, питання до розробників, чому немає у скриптах функції
@Map.Object[N].Points.Count?