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

来源:互联网 发布:阿里云服务器流量攻击 编辑:程序博客网 时间:2024/04/30 11:15

AcDbArc(    const AcGePoint3d& center,     double radius,     double startAngle,     double endAngle);
Parameters
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
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() ;
0 0
原创粉丝点击