天气与日历 切换到窄版

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

ObjectARX2015 + vs2012创建字体样式

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
说明

        AutoCAD 中可以使用 STYLE 命令创建新的字体样式,包括
                设置样式名、
                选择字体文件、
                确定字体效果、
        三个步骤。本篇将演示创建字体样式的方法。
2. 思路
        使用 ObjectARX 创建字体样式,需要执行下面的步骤:
                (1)获得当前图形的字体样式表;
                (2)创建新的字体样式表记录对象;
                (3)用 setName 函数设置字体样式表记录的名称;
                (4)用 setFileName 函数设置字体样式表记录的字体;
                (5)用 setXScale 函数设置字体样式的高宽比;
                (6)将新的字体样式表记录添加到字体样式表中。
3. 步骤
(1) 新建一个 CTextStyle 类, 添加 AddTextStyle() 函数
        上面的代码中使用的是 TrueType 字体,如果 AutoCAD 自身的 SHX 字体,就无需指定字体文件的扩展名,例如:
        pTextStyleTblRcd->setFileName("romans");
        此外,字体的名称不一定与字体文件的名称相同。打开控制面板,进入“字体”文件夹,右键单击“仿宋体”图标,从弹出的快捷菜单中选择【属性】菜单项,系统会弹出如图 所示的对话框,显示了字体文件的名称。



    // 添加文字样式
    static void AddTextStyle(); // 添加文字样式
// 添加文字样式
void CTextStyle::AddTextStyle()
{
    // 获得字体样式表
    AcDbTextStyleTable *pTextStyleTbl;
    acdbHostApplicationServices()->workingDatabase()->getTextStyleTable(pTextStyleTbl, AcDb::kForWrite);
   
    // 创建新的字体样式表记录
    AcDbTextStyleTableRecord *pTextStyleTblRcd;
    pTextStyleTblRcd = new AcDbTextStyleTableRecord();
   
    // 设置字体样式表记录的名称
    pTextStyleTblRcd->setName(_T("仿宋体"));
   
    // 设置字体文件名称
    pTextStyleTblRcd->setFileName(_T("simfang.ttf"));
   
    // 设置高宽比例
    pTextStyleTblRcd->setXScale(0.7);
   
    // 将新的记录添加到字体样式表
    pTextStyleTbl->add(pTextStyleTblRcd);
    pTextStyleTblRcd->close();
    pTextStyleTbl->close();
}

(2) 在acrxEntryPoint.cpp中

ACED_ARXCOMMAND_ENTRY_AUTO(CArxConfigApp, MidasMyGroup, MyAddTextStyle, MyAddTextStyle, ACRX_CMD_MODAL, NULL) //字体样式
    //当前项目中注册命令 AddTextStyle
    static void MidasMyGroupMyAddTextStyle()
    {
        CTextStyle::AddTextStyle();
    }

 

 

 

 

ObjectARX2015 + vs2012创建字体样式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-1 11:32 , Processed in 0.137399 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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