Тема: AcDbPolyline
у меня есть массив обектов(AcGeLineSeg3d, AcGeCircArc3d).
как из них последовательным добавлением построить AcDbPolyline?
Спасибо.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → AcDbPolyline
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
у меня есть массив обектов(AcGeLineSeg3d, AcGeCircArc3d).
как из них последовательным добавлением построить AcDbPolyline?
Спасибо.
> rastiapa
Вообще-то AcGeLineSeg3d и AcGeCircArc3d не достаточно чтобы сформировать AcDbPolyline:
1) Они все должны лежать в одной плоскости.
2) Нужно знать как минимум вектор нормали этой плоскости.
> rastiapa
Ну так в чем же проблема? Создаешь AcDbPolyline и добавляешь в нее вершины с учетом кривизны (bulge) участка на основе своих AcGeLineSeg3d и AcGeCircArc3d спроецированных на плоскость нормали.
спасибо.
еше один вопрос создаю полилинию добавляю в базу
а она не отображается, почему? может не правильно добавляю в базу?
bool cAddEntityToDatabase(AcDbObjectId& id, AcDbEntity* en){
AcAxDocLock dlock(cCurDatabase);
AcDbBlockTable* pBT = 0;
AcDbBlockTableRecord* pBTR = 0;
if(!en || acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBT, AcDb::kForRead) != Acad::eOk)
return false;
if(pBT->getAt(ACDB_MODEL_SPACE, pBTR, AcDb::kForWrite) != Acad::eOk){
pBT->close();
return false;
}
if(pBTR->appendAcDbEntity(id, en) != Acad::eOk){
pBTR->close();
pBT->close();
return false;
}
pBTR->close();
pBT->close();
return true;
}
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → AcDbPolyline
Форум работает на PunBB, при поддержке Informer Technologies, Inc