- UID
- 306377
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-8-10
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2005-9-22 11:00:55
|
显示全部楼层
void CAttribute::Scircle(const double num)
{
for(int n=0;n<NodeNumCount;n++)
{
AcGeVector3d normal(0.0, 0.0, 1.0);
AcGePoint3d startPt(xco[n],yco[n],0.0);//定义直线点
AcDbCircle *pCirc1 = new AcDbCircle(startPt, normal, num);
AcDbBlockTable *pBlockTablee;
acdbCurDwg()->getBlockTable(pBlockTablee,AcDb::kForRead);
// acdbHostApplicationServices()->workingDatabase()
// ->getSymbolTable(pBlockTablee, AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecorde;
pBlockTablee->getAt(ACDB_MODEL_SPACE, pBlockTableRecorde,AcDb::kForWrite);
pBlockTablee->close();
////////////////////////////////////////////////////////////////////////// 文字标注代码
// AcGePoint3d textPosition(xco[n], yco[n], 0.0);//*
// AcGePoint3d atextPosition(xco[n], yco[n], 0.0);
char s1[64];
sprintf(s1, "%d", n); //int型向const char *s 的类型转换
double textHeight = 10;
double textWidthFactor = 0.8000;
double textRotation = 0.0;
//AcDb::kTextLeft
AcDbText* pText=new AcDbText(startPt,s1, AcDbObjectId::kNull,textHeight,textRotation);
pText->setHorizontalMode(AcDb::kTextMid);
pText->setAlignmentPoint(startPt);//atextPosition textPosition
pText->setColorIndex(1);
AcDbObjectId textId;
pBlockTableRecorde->appendAcDbEntity(textId, pText);
////////////////////////////////////////////////////////////////////////// 文字标注代码
AcDbObjectId circleId;
pBlockTableRecorde->appendAcDbEntity(circleId, pCirc1);
pBlockTableRecorde->close();
pCirc1->close();
pText->close();
}acutPrintf("\n 点标注完毕!");
}
C++中编译无错,cad中运行到这里回非正常退出,甚至无法保存
出错如下:我把错误提示写下来好了:
AutoCAD错误中断
致命错误:Unhandle Access Violaion Reading 0x0000 Exception at 7800b742h
AutoCAD Error-abort
Error handler re-entered Exiting now
(看不到图片的朋友请右击显示图片) |
|