OBJECT ARX 获取标注样式信息

    CString str = _T("标注样式");
    CString strTmp(_T(""));
    ////获得当前图形的标注样式表  
    AcDbDimStyleTable* pDimStyleTbl;
    acdbHostApplicationServices()->workingDatabase()->getDimStyleTable(pDimStyleTbl, AcDb::kForWrite);

    ////是否已包含  
    if (pDimStyleTbl->has(str)){
        AcDbDimStyleTableRecord* pDims;
        pDimStyleTbl->getAt(ACDB_MODEL_SPACE, pDims, AcDb::kForWrite);
        double dTxtHeight = pDims->dimtxt();////标注文字的高度
        strTmp.Format(_T(".1f"), dTxtHeight);
        m_strTextHigh = strTmp;              ////标注文字的高度
        int i = pDims->dimadec();             //获取主单位精度
        AcDbObjectId idTextStyle = pDims->dimtxsty(); //文字样式
        AcDbTextStyleTable *pTextTable;
        if (acdbOpenObject(pTextTable, idTextStyle, AcDb::kForRead) == Acad::eOk)
        {
            pTextTable->getAt(m_strTextStyle,idTextStyle);//获取文字样式字符串
        }
        pDimStyleTbl->close();
        return;
    }

 

posted @ 2016-01-11 17:07  dozeoo  阅读(1027)  评论(0编辑  收藏  举报