天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 69|回复: 0

arx 函数 字体

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
[code]AcDbObjectId CTextStyleUtil::GetAt( const TCHAR* name )
{
        AcDbObjectId textStyleId;

        if (_tcslen(name) > 0)
        {
                AcDbTextStyleTable* pTextStyleTable = NULL;
                acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pTextStyleTable, AcDb::kForRead);
                pTextStyleTable->getAt(name, textStyleId);        // 如果不存在,textStyleId不会被赋值
                pTextStyleTable->close();
        }

        return textStyleId;
}

void CTextStyleUtil::GetAll( std::vector<CString> &textStyles )
{
        textStyles.clear();
       
        AcDbTextStyleTable *pTextStyleTbl = NULL;
        acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pTextStyleTbl, AcDb::kForRead);
        AcDbTextStyleTableIterator *pIt = NULL;
        pTextStyleTbl->newIterator(pIt);
       
        for (; !pIt->done(); pIt->step())
        {
                AcDbTextStyleTableRecord *pRcd = NULL;
                if (pIt->getRecord(pRcd, AcDb::kForRead) == Acad::eOk)
                {
                        TCHAR *szName = NULL;
                        pRcd->getName(szName);
                        if (_tcslen(szName) > 0)                // 过滤掉名称为空的文字样式
                        {
                                textStyles.push_back(szName);
                        }
                        acutDelString(szName);
                       
                        pRcd->close();
                }
        }
        delete pIt;
        pTextStyleTbl->close();
}

AcDbObjectId CTextStyleUtil::Add( const TCHAR* name, const TCHAR* fontFileName, const TCHAR* bigFontFileName )
{
        Acad::ErrorStatus es;
    AcDbTextStyleTable* pTextStyleTable = NULL;
    es = acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pTextStyleTable, AcDb::kForWrite);   
       
    AcDbTextStyleTableRecord* pTextStyleRecord = new AcDbTextStyleTableRecord();       
        es = pTextStyleRecord->setName(name);
        es = pTextStyleRecord->setBigFontFileName(bigFontFileName);                // 大字体文件
        es = pTextStyleRecord->setFileName(fontFileName);        // 字体文件
        es = pTextStyleRecord->setXScale(1.0);                // 文字高宽比(一般这里都设置为1,在文字属性中决定高宽比)
    es = pTextStyleTable->add(pTextStyleRecord);
        AcDbObjectId styleId = pTextStyleRecord->objectId();       
    pTextStyleTable->close();
    pTextStyleRecord->close();
       
    return styleId;
}[/code]

 

 

 

 

arx 函数 字体
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 10:31 , Processed in 0.124063 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表