Хотя вот в этой теме всё работаетКод из этой темы у тебя работает нормально с Polyline2d?
https://forums.autodesk.com/t5/net/curve-extend/td-p/6589653
Раз написано, что метод не реализован, значит он не реализован Возможно вы используете старый Автокад, а в новом уже реализован. Но я думаю, методы Polyline2d уже никто никогда не будет реализовывать, так как это старье сохраняется только для совместимости. Соответственно возникает вопрос, а почему собственно не нормальный Polyline ?Я тестирую на 2020. Polyline2d идёт из того, что первый вариант моего САПРа был написан на LISPe, и LISP строит вот такие полилинии. Новая версия версия САПРа строит уже Polyline, но она только разрабатывается и полных чертежей, сделанных в новой версии, нет, поэтому отрабатываю на старой.
Код из этой темы у тебя работает нормально с Polyline2d?Сейчас сделаю тестовый проект и скажу результаты.
и LISP строит вот такие полилинии.Lisp строит и работает с Polyline2d/Polyline3d и с Polyline. Так что это не причина.
Lisp строит и работает с Polyline2d/Polyline3d и с Polyline. Так что это не причина.Ну, у меня строил в Polyline2d :)
Только сейчас сообразил, что ты пытаешься изменить curve.EndPoint. Далеко не для всех наследников Curve это допустимая операция. В твоём же случае нужно найти последнюю вершину Polyline2d и изменить её координату.Интересная фича :)
В твоём же случае нужно найти последнюю вершину Polyline2d и изменить её координату.Я так и думал, но надеялся, что можно сделать более изящно.
Интересная фичаЭто не фича. Это основной способ для изменения положения последней вершины для Polyline2d/Polyline3d.
Что интересно "-" с линиями работает.А с Polyline2d после "-" вершина остаётся в пределах между последней и предпоследней вершиной? В противном случае AutoCAD не сможет понять что ему делать. Не убирать же вершину (или несколько вершин) - это отдельный примитив...
А с Polyline2d после "-" вершина остаётся в пределах между последней и предпоследней вершиной? В противном случае AutoCAD не сможет понять что ему делать. Не убирать же вершину (или несколько вершин) - это отдельный примитив...Неа, какое бы число после "-" не стояло, не работает. Но это не работает и с Polyline, а не только с Polyline2d.
Но это не работает и с Polyline, а не только с Polyline2d.Тут можешь попробовать Curve.GetSplitCurves.
Кто-то может подсказать, почему мне выдаёт исключение "The method or operation is not implemented", когда я пытаюсь провернуть вот такую операцию с Polyline2d?Потому что AutoCAD API разрабатывалось с грубейшими нарушениями одного из SOLID-принципов (https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%91%D0%B0%D1%80%D0%B1%D0%B0%D1%80%D1%8B_%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2).
Когда разрабатывались примитивы AutoCAD - тогда про наследование в программировании только начинали задумываться и про абстрактный класс, производными от которого будут линии/полилинии/окружности/эллипсы/дуги и т.д. никто не думал. Тогда еще С/C++ использовались без классов (ADS/ARX), а про появление .NET никто и думать не мог...Кто-то может подсказать, почему мне выдаёт исключение "The method or operation is not implemented", когда я пытаюсь провернуть вот такую операцию с Polyline2d?Потому что AutoCAD API разрабатывалось с грубейшими нарушениями одного из SOLID-принципов (https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8_%D0%91%D0%B0%D1%80%D0%B1%D0%B0%D1%80%D1%8B_%D0%9B%D0%B8%D1%81%D0%BA%D0%BE%D0%B2).
Сейчас уже некогда-затратно-неохота что-то изменять в устоявшемся API.Не столько "неохота", сколько "чревато" последствиями и несовместимостью с предыдущими версиями.
Когда разрабатывались примитивы AutoCAD - тогда про наследование в программировании только начинали задумываться и про абстрактный класс, производными от которого будут линии/полилинии/окружности/эллипсы/дуги и т.д. никто не думал. Тогда еще С/C++ использовались без классов (ADS/ARX), а про появление .NET никто и думать не мог...
И С вроде наследование тоже не поддерживал?Не поддерживал и не поддерживает. Поддерживает только C++. Но для компиляции AutoCAD и для создания его приложений он стал использоваться только начиная с AutoCAD R13C4.
Очень интересная история развития AutoCAD.Да, действительно, очень интересно!
https://mikhailov-andrey-s.blogspot.com/2017/05/istoriya-autocad.html