- UID
- 236231
- 积分
- 86
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-4-1
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2005-6-22 10:49:20
|
显示全部楼层
谢谢binbin,问题搞定了。
没头文件及入口函数,自己定义。
功能:实现在后台数据库中正确添加文字,并且设置文字属性。关键是把后台数据库设置当前,最后设置回去。
AcDbDatabase *pOldDb = acdbHostApplicationServices()->workingDatabase();[/COLOR]
AcDbDatabase *pDb = new AcDbDatabase;
acdbHostApplicationServices()->setWorkingDatabase(pDb);[/COLOR]
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable, AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb::kForWrite);
pBlockTable->close();
AcGePoint3d textPosition(120.0, 80.0, 0.0);
AcGePoint3d atextPosition(130.0, 80.0, 0.0);
char textString[512] = "Auto Create Drawing";
double textHeight = 5.5296;
double textWidthFactor = 0.8000;
double textRotation = 0.0;
AcDbText *pText=new AcDbText(textPosition, textString, AcDbObjectId::kNull, textHeight, textRotation);
pText->setHorizontalMode(AcDb::kTextMid);//
pText->setAlignmentPoint(atextPosition); //
AcDbObjectId textId;
pBlockTableRecord->appendAcDbEntity(textId, pText);
pBlockTableRecord->close();
pText->close();
pDb->saveAs("测试文件.dwg");
acdbHostApplicationServices()->setWorkingDatabase(pOldDb); [/COLOR]
delete pDb; |
|