работа с кривыми

Доброго всем времени суток! Есть изображение, нужно найти в нём все кривые короче 2 см. вручную проверять каждую кривую очень долго, подскажите пожалуйста, может есть что нибудь такое, что может это сделать???

Написать цикл по объектам, внутри цикл по путям кривой, а в нём цикл по сегментам. Готового макроса я не видел.

это как?

ну вот так :)
Возможно кто то, у кого есть время и знание VBA, поможет. А мне некогда...

Sub minusType() ' ubrat' vse objekty odnogo tipa
Dim i As Long, iE As Long

ActiveDocument.Unit = cdrMillimeter

iE = ActiveLayer.Shapes.Count
For i = iE To 1 Step -1
If ActiveLayer.Shapes(i).Type < 20 Then
ActiveLayer.Shapes(i).Delete
End If
Next i

End Sub

ekali, сами то поняли что написали? Человек просил как удалить кривые короче 2см. К тому же код удаляет объекты не одного типа как написано в комментарии, а все у которых тип меньше 20, а это считай почти 90% объектов.

П.С. и насколько я помню, в кореле обратную последовательность в цикле можно в таких случаях не использовать, к тому же удобнее пользоваться циклом for each.

А, вылетел кусок при правке-вставке. Вот так надо

Вместо: ActiveLayer.Shapes(i).Type < 20 Then

Надо: If ActiveLayer.Shapes(i).Type = 3 Then
If ActiveLayer.Shapes(i).Curve.Length < 20 Then

в кореле обратную последовательность в цикле можно в таких случаях не использовать

- Почему? Я массивы на выкидыш всегда только в обратном порядке перебираю. С корелом пока мало знакома, но успела заметить, что порядковые номера при удалении / создании объектов меняются очень даже.

ekali, открою секрет — здесь, как и на большинстве других форумов, нужно пользоваться специальными тегами для кода и цитат. :) только внутри кода не делайте пустых абзацев!