Описание работы с кривыми

Форум: 

я работаю в corel desiner x5, разница с draw - дополнительные чертежные прибамбасы - скорее всего технически не отличается - потому вопрос : подскажите - можно ли кривую нн-ой длины - равномерно разделить на нной количество сегментов одинаковой длины - если да то как ?
я когда то видел макрос для draw, он стоил 500 рублей - я даже купил его - но он не подошел для disigner - и если нет - то было бы здорово добавить в лист пожеланий к X6 ) а то там тема уже закрылась - к тому моменту как я нашел этот сайт )

Не знаю как в дезигнере, но в кореле легко:

Sub Test()
     Dim sp As SubPath, t#, l#
     For Each sp In ActiveShape.Curve.SubPaths
         l = sp.Length
         For t = 1 To 2
             sp.AddNodeAt l / 3 * t, cdrAbsoluteSegmentOffset
         Next t
     Next sp
End Sub

не совсем понял как этим пользоваться - через добавление точек все ясно - ну если кривая имеет на своем пути несколько точек не равноудаленных друг от друга - а делить мне ее надо всю на равные части.... - причем я должен сам задать количество частей или длину отрезков. вот примерно так )

LeoPolunin, я лишь показал как в DRAW разделить путь на 3 ровных отрезка (точнее макрос добавляет 2 узла), дальше сами, или просите кого-то кто умеет писать макросы, не ленив и обладает свободным временем )))

LeoPolunin, Вы бы чуть подробнее, для чего это, куда это дальше. Может быть какие-то иные решения найдутся.
Программный код, который любезно предоставил Sancho, попробовал, работает.
Но для кривых с большим количеством точек будет неудобен тем, что вновь добавленные точки (которые как раз делят кривую на нужные вам отрезки) добавяся к тем, которые были, и придётся с ними разбираться.
На приведённом ниже рисунке произвольная кривая была разбита на 25 отрезков. Но после всех действий между отрезками появляются зазоры (на фрагменте с сильным увеличением показан стык отрезков толщиной 0,25 мм; зазор составляет 0,05 мм).
Если такое качество устраивает, тогда может быть написать урок на данную тему?
Впрочем, можно в зазорах точки соединить.