bai_cai101 发表于 2005-4-26 09:13:00

[ARX]怎样消除样式替代???求救!!

在我的程序代码中我新建的tes.dwg文件中新建了一个标注样式"mydimsty",并把它置为当前标注样式,当程序运行完毕,我再去打开tes.dwg,打开其标注样式表查看的时候,发现当前标注样式不是mydimsty,而是它的一个样式替代,请问这是什么问题啊?怎么样解决这个问题!!请高手帮忙!!!!!我的程序请下载!!多谢了

bai_cai101 发表于 2005-4-26 09:15:00

我怎么上传不了我的程序啊????

bai_cai101 发表于 2005-4-26 09:15:00

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;
}

bai_cai101 发表于 2005-4-26 11:55:00

OK,已解决!此程序无错,只要改变几行代码的顺序位置就可以了!有问题可以加我QQ,共同学习!!
页: [1]
查看完整版本: [ARX]怎样消除样式替代???求救!!