天气与日历 切换到窄版

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

[每日一码] 创建文字样式,写文字,修改样式的代码

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-3-14 20:16:48 | 显示全部楼层 |阅读模式
    1. static void ChangeStyle() {
    2.         AcDbObjectId styleId;
    3.         // Create a text style
    4.         {
    5.                 AcDbObjectPointer<AcDbTextStyleTable>
    6.                         pTextStyleTable(acdbCurDwg()->textStyleTableId(), AcDb::kForWrite);
    7.                 AcDbObjectPointer<AcDbTextStyleTableRecord> pStyle;
    8.                 pStyle.create();
    9.                 pStyle->setName(L"MyStyle");
    10.                 pStyle->setFileName(L"romans.shx");
    11.                 if (pTextStyleTable->add(styleId, pStyle.object()) != Acad::eOk)
    12.                 {
    13.                         pTextStyleTable->getAt(L"MyStyle", styleId);
    14.                 }
    15.         }
    16.         acedAlert(L"created text style");
    17.         AcDbObjectId idtext;
    18.         // Create some text
    19.         {
    20.                 AcDbObjectPointer<AcDbText> pText;
    21.                 pText.create();
    22.                 pText->setDatabaseDefaults();
    23.                 pText->setTextStyle(styleId);
    24.                 pText->setTextString(L"Some text");
    25.                 pText->setHeight(10);
    26.                 AcDbObjectPointer<AcDbBlockTableRecord>
    27.                         pSpace(acdbCurDwg()->currentSpaceId(), AcDb::kForWrite);
    28.                 pSpace->appendAcDbEntity(idtext, pText);
    29.         }
    30.         acTransactionManagerPtr()->flushGraphics();
    31.         acedUpdateDisplay();
    32.         acedAlert(L"created text");
    33.         {
    34.                 // Change the font file for the text style
    35.                 AcDbObjectPointer<AcDbTextStyleTableRecord>
    36.                         pStyle(styleId, AcDb::kForWrite);
    37.                 pStyle->setFileName(L"romand.shx");
    38.         }
    39.         {
    40.                 AcDbObjectPointer<AcDbBlockTableRecord>
    41.                         pSpace(acdbCurDwg()->currentSpaceId(), AcDb::kForRead);
    42.                 AcDbBlockTableRecordIterator *pIter = NULL;
    43.                 pSpace->newIterator(pIter);
    44.                 AcDbObjectId id;
    45.                 for (; !pIter->done(); pIter->step())
    46.                 {
    47.                         id.setNull();
    48.                         pIter->getEntityId(id);
    49.                         if (id.objectClass()->isDerivedFrom(AcDbText::desc()) ||
    50.                                 id.objectClass()->isDerivedFrom(AcDbMText::desc()) ||
    51.                                 id.objectClass()->isDerivedFrom(AcDbDimension::desc()) ||
    52.                                 id.objectClass()->isDerivedFrom(AcDbBlockReference::desc()))
    53.                         {
    54.                                 AcDbEntityPointer pEnt(id, AcDb::kForWrite);
    55.                                 if (pEnt.openStatus() == Acad::eOk)
    56.                                         pEnt->recordGraphicsModified();
    57.                         }
    58.                 }
    59.                 delete pIter;
    60.         }
    61.         acTransactionManagerPtr()->flushGraphics();
    62.         acedUpdateDisplay();
    63.         acedAlert(L"Custom Regen Current Space");
    64. }
    复制代码

     

     

     

     

    [每日一码] 创建文字样式,写文字,修改样式的代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-11-1 13:35 , Processed in 0.149035 second(s), 29 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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