DimVer,Да, вы правы.
Почему c<pLine->numVerts()-1 ? Последняя вершина тебя не интересует?
Ещё тогда вопрос - как то можно определить начало и конец полилинии?Координаты?
Проектировщик чертит схему. От блока А делает полилинией до блока Б кабельную трассу. Можно программно получить эти данные, что он вершина у блока А - это было начало, а вершина у блока Б - это конец?Это не ответ на мой вопрос.
Да, координаты, чтобы по этим координатам получить пересечение с блоком, из блока получить атрибуты.Проектировщик чертит схему. От блока А делает полилинией до блока Б кабельную трассу. Можно программно получить эти данные, что он вершина у блока А - это было начало, а вершина у блока Б - это конец?Это не ответ на мой вопрос.
Последний тогда вопрос из этой темы - как по вершине получить блок, к которому эта линия доведена?Код - C++ [Выбрать]
AcGePoint3d ptStart, ptEnd; pLine->getPointAt(0,ptStart); pLine->getPointAt(pLine->numVerts()-1,ptEnd);
Последний тогда вопрос из этой темы - как по вершине получить блок, к которому эта линия доведена?Короткий ответ: никак.
Это точка, где вершина полилинии стоит на одной из линий, входящих в блок. Точнее ссылки на блок, если пытаться писать в терминологии Автокад)Последний тогда вопрос из этой темы - как по вершине получить блок, к которому эта линия доведена?Короткий ответ: никак.
Длинный ответ: перебрать все блоки, и найти тот, который находится возле вершины. Правда что такое "блок к которому доведена линия" в терминах AutoCAD тебе придется определить самому. Это точка вставки блока? Или это точка на одном из объектов внутри блока? Или это еще что-то???
Это точка, где вершина полилинии стоит на одной из линий, входящих в блок.В общем случае задача очень нетривиальная.