[ARX]怎样消除样式替代???求救!!
在我的程序代码中我新建的tes.dwg文件中新建了一个标注样式"mydimsty",并把它置为当前标注样式,当程序运行完毕,我再去打开tes.dwg,打开其标注样式表查看的时候,发现当前标注样式不是mydimsty,而是它的一个样式替代,请问这是什么问题啊?怎么样解决这个问题!!请高手帮忙!!!!!我的程序请下载!!多谢了 我怎么上传不了我的程序啊???? void chushihua(AcDbDatabase *pdb){
//Ôö¼ÓÒ»¸ö×ÖÌåÑùʽ
AcDbTextStyleTable *ptst;
pdb->getTextStyleTable(ptst, AcDb::kForWrite);
AcDbTextStyleTableRecord *ptstr=new AcDbTextStyleTableRecord;
AcDbObjectId txtstyleid;
ptst->getAt(ACDB_MODEL_SPACE,ptstr,AcDb::kForWrite);
ptstr->setName("myhz");
ptstr->setFileName("宋体");
ptstr->setTextSize(3);
ptstr->setXScale(0.7);
ptst->add(txtstyleid,ptstr);
pdb->setTextstyle(txtstyleid);
ptst->close();
ptstr->close(); /////Ôö¼ÓÒ»¸ö±ê×¢Ñùʽ
AcDbDimStyleTable *pdst;
pdb->getDimStyleTable(pdst,AcDb::kForWrite);
AcDbDimStyleTableRecord *pdstr=new AcDbDimStyleTableRecord;
AcDbObjectId dimstyleid;
pdst->getAt(ACDB_MODEL_SPACE,pdstr,AcDb::kForWrite);
pdstr->setName("mydimsty");
pdst->add(dimstyleid,pdstr);
pdb->setDimstyle(dimstyleid);
pdb->setDimstyleData(pdstr);
pdstr->setDimadec(3);
AcCmColor suiceng;
suiceng.setColorIndex(256);
pdstr->setDimclrd(suiceng);
pdstr->setDimclre(suiceng);
pdstr->setDimclrt(suiceng);
pdstr->setDimtxsty(txtstyleid);
pdstr->setDimtxt(3);
pdstr->setDimexo(0);
pdstr->setDimgap(0.625);
pdstr->setDimtih(0);
pdstr->setDimasz(3);
pdstr->setDimtad(1);
pdstr->close();
pdst->close();
}
////////////////////////////////////////
void shishi()
{
AcDbDatabase *pDb = new AcDbDatabase();
AcDbBlockTable *pBtbl;
pDb->getSymbolTable(pBtbl, AcDb::kForRead);
chushihua(pDb);
AcDbBlockTableRecord *pBtblRcd;
pBtbl->getAt(ACDB_MODEL_SPACE, pBtblRcd,
AcDb::kForWrite);
pBtbl->close();
pBtblRcd->close();
pDb->saveAs("D:\\tes.dwg");
delete pDb;
} OK,已解决!此程序无错,只要改变几行代码的顺序位置就可以了!有问题可以加我QQ,共同学习!!
页:
[1]