02/08/2013
Как преобразовать AcGeCircArc3d в AcDbArc и наоборот?
Следующий код показывает как это сделать:
Код - C++: [Выделить]
- void convertArc2Arc( AcGeCircArc3d*pGeArc, AcDbArc*&pDbArc )
- {
- AcGePoint3d center = pGeArc->center();
- AcGeVector3d normal = pGeArc->normal();
- AcGeVector3d refVec = pGeArc->refVec();
- AcGePlane plane = AcGePlane(center, normal);
- double ang = refVec.angleOnPlane(plane);
- pDbArc = new AcDbArc(center, normal,
- pGeArc->radius(),pGeArc->startAng() + ang,
- pGeArc->endAng() + ang );
- }
- void convertArc2Arc( AcDbArc*pDbArc, AcGeCircArc3d*&pGeArc)
- {
- pGeArc = new AcGeCircArc3d(
- pDbArc->center(),
- pDbArc->normal(),
- pDbArc->normal().perpVector(),
- pDbArc->radius(),
- pDbArc->startAngle(),
- pDbArc->endAngle());
- }
Обсуждение: http://adn-cis.org/forum/index.php?topic=142.0
Опубликовано 02.08.2013
Отредактировано 04.08.2013 в 17:28:17
Отредактировано 04.08.2013 в 17:28:17