明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1819|回复: 1

如何修改标注内文字颜色及填充颜色

  [复制链接]
发表于 2013-11-11 19:08:47 | 显示全部楼层 |阅读模式
     试着用objectarx编了一个检查标注值的代码,没成想在修改标注内文字颜色及填充颜色处卡住了!放上来,求教一下!
static void zdqMyGroup_jcbz () {
  ads_name result ;
  struct resbuf *rb;//结果缓冲区链表;
  rb = acutBuildList(RTDXF0, ACRX_T("DIMENSION"),RTNONE);
  acedPrompt(ACRX_T("\n选择需要检查是否修改过的标注:"));
  int iRet =acedSSGet (NULL, NULL, NULL, rb, result) ;
  if ( iRet == RTNORM )
  {
   // 对选择集进行处理
   long len; long i=0;
   acedSSLength(result,&len);
   acutPrintf(ACRX_T("\n已选择%d个标注。"), len);
   for(i=0; i<len; i++)
   {
    // 获得指定元素的ObjectId;
    ads_name ent;
    acedSSName(result, i, ent);
    AcDbObjectId objId;
    acdbGetObjectId(objId, ent);
    // 获得指向当前元素的指针;
    AcDbEntity *pEnt;
    acdbOpenAcDbEntity(pEnt, objId, AcDb::kForWrite);
    if(pEnt->isKindOf(AcDbDimension::desc()))//如果是标注;
    {
     ACHAR * dimText;
     AcCmColor fillcolor, textcolor;
     fillcolor.setColorIndex(1);
     textcolor.setColorIndex(2);
     AcDbDimension *pDim = AcDbDimension::cast(pEnt);
     dimText=pDim->dimensionText();
     if((acutWcMatch(dimText, _T("*<>*,")))==-5001)//如果标注值被修改过
     {
      //打开已修改过创建的标注,对文字的颜色及填充进行修改
      (...);//文字颜色TextColor
      (...);//使用填充颜色
      (...);//填充颜色TextFillColor
     }
    }
    pEnt->close();//关闭当前元素
   }
  }
}
发表于 2013-11-11 19:12:13 | 显示全部楼层
关注ing  从来没接触过标注类,顶起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 07:33 , Processed in 0.143402 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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