ObjectARX学习笔记(十一)----创建圆弧AcDbArc

AcDbArc(
    const AcGePoint3d& center, 
    double radius, 
    double startAngle, 
    double endAngle
);
Parameters
Description
const AcGePoint3d& center
Input center point of the arc
double radius
Input radius of the arc
double startAngle
Input starting angle of the arc
double endAngle
Input ending angle of the arc 
AcDbArc(
    const AcGePoint3d& center, 
    const AcGeVector3d& normal, 
    double radius, 
    double startAngle, 
    double endAngle
);
Parameters
Description
const AcGePoint3d& center
Input center point of the arc
const AcGeVector3d& normal
Input normal vector of the plane containing the arc
double radius
Input radius of the arc
double startAngle
Input starting angle of the arc
double endAngle
Input ending angle of the arc 


#define PI 3.1415926535897932384626433832795L

//创建圆弧
AcGePoint3d ptSart(0,0,0);
//输入的角度是弧度

AcDbArc *pArc= new AcDbArc(ptSart,200,0 , 90* PI / 180.0);

if (pArc == NULL)
       return;


  //将实体添加到模型空间是固定的代码,
AcDbDatabase* pDb = NULL;
pDb = acdbHostApplicationServices()->workingDatabase();
if (pDb == NULL)
return ;


AcDbBlockTable * pBlkTable ; 
if(pDb->getBlockTable(pBlkTable , AcDb::kForRead) != Acad::eOk ) 
return ;


AcDbBlockTableRecord * pRec ;
if(pBlkTable->getAt(ACDB_MODEL_SPACE , pRec , AcDb::kForWrite) != Acad::eOk) 
return ;
pBlkTable->close();


AcDbObjectId objId = AcDbObjectId::kNull;


if(pRec->appendAcDbEntity(objId, pArc) != Acad::eOk)  //将线添加到dwg中
return ;


pArc->close() ;
pRec->close() ;

版权声明:本文为jangdong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。