ObjectARX学习笔记(九)----如何创建圆AcDbCircle

AcDbCircle(
    const AcGePoint3d& cntr, 
    const AcGeVector3d& nrm, 
    double radius
);
Parameters
Description
const AcGePoint3d& cntr
Input center point for the circle
const AcGeVector3d& nrm
Input normal vector for circle
double radius
Input radius for circle

Initializes the circle with the arguments cntr, nrm, and radius.

Both center and normal must be in WCS coordinates. normal must be nonzero length and radius must be greater than zero. 



//创建圆

AcGePoint3d ptSart(0,0,0);
   AcDbCircle *pCircle = new AcDbCircle(ptSart,AcGeVector3d(0,0,1),200);
  if (pCircle == NULL)
  {
  return;

  }


  //如果想设置圆的颜色 添加这一样代码就可以
  pCircle->setColorIndex(1); //这里暂订设置为红色,根据需要自行修改

  //将实体添加到模型空间是固定的代码,
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, pCircle) != Acad::eOk)  //将线添加到dwg中
return ;


pCircle->close() ;
pRec->close() ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值