Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: RevitTormentor от 10-12-2017, 10:59:14
-
(https://s7.postimg.org/xrbrkou13/111.png) (https://postimg.org/image/xrbrkou13/)
Добрый день
Красную линию я задавал последовательно с приданием кривизны углам.
Вопрос 1 В коде это будут полилинии или Arc? Например получить длину второго по порядку сегмента это получить длину дуги или длину полилинии, которая будет вычисляться с учётом кривизны. В автокаде в свойствах есть длина всей полилинии. Что просуммирует автокад из второго сегмента. Длину дуги или длину полилинии?
Вопрос 2 Может ли возникнуть такая ситуация (может кто то как то склеивал линию по другому) при которой (синим цветом) например у всей VertexAt(0) будет 0 а у 1-го сегмента эта же точка будет концом 1-го сегмента?
Вопрос 3 Если 2-й вопрос возможен, можно ли перенумеровать точки полилинии хотя бы первого и последнего сегмента, чтобы они стали по направлению совпадать со всей линией. Или надо рисовать правильно полилинию новую взамен этой.
Спасибо
-
1. Что будет в коде - решать вам)) Если вам нужна полилиния, то Arc не будет. Там другой механизм - создаете сегмент (точнее вершину) и задаете значение кривизны (bulge). Поищите по форуму - есть темы. А в разделе "статьи" даже есть статья от Дмитрия Загорулькина про Bulge. В любом случае - обсуждалось уже много раз
Длина сегментов высчитывается, на сколько мне известно, через апроксимированные прямые - т.е. кривые делятся на множество маленьких прямых и берется их сумма. Но тут могу ошибаться. Возможно считается и через уравнение длины дуги (http://simple-math.ru/geometry/arc-length.php).
В автокаде в свойствах есть длина всей полилинии. Что просуммирует автокад из второго сегмента. Длину дуги или длину полилинии?
Что??? Уточните вопрос - ничего не понятно. Если это полилиния - то и длина полилинии
2. У полилинии есть направление. Вершины могут идти либо только от начала к концу, либо от конца к началу и никак иначе
3. Перенумеровывать вершины полилинии нельзя