Тема: AcDbPolyline

у меня есть массив обектов(AcGeLineSeg3d, AcGeCircArc3d).
как из них последовательным добавлением построить AcDbPolyline?
Спасибо.

Re: AcDbPolyline

> rastiapa
Вообще-то AcGeLineSeg3d и AcGeCircArc3d  не достаточно чтобы сформировать AcDbPolyline:
1) Они все должны лежать в одной плоскости.
2) Нужно знать как минимум вектор нормали этой плоскости.

Re: AcDbPolyline

вектор нормали известен

Re: AcDbPolyline

> rastiapa
Ну так в чем же проблема? Создаешь AcDbPolyline и добавляешь в нее вершины с учетом кривизны (bulge) участка на основе своих AcGeLineSeg3d и AcGeCircArc3d спроецированных на плоскость нормали.

Re: AcDbPolyline

спасибо
а как спроецировать на плоскость нормали?

Re: AcDbPolyline

> rastiapa
AcGeCurve3d::orthoProject()

Re: AcDbPolyline

спасибо.
еше один вопрос создаю полилинию добавляю в базу
а она не отображается, почему? может не правильно добавляю в базу?
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;
}

Re: AcDbPolyline

> rastiapa
Не вижу строки en->close();

Re: AcDbPolyline

спасибо...
усек.