明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2149|回复: 9

求助文字问题,请版主及各位高手帮忙

[复制链接]
发表于 2009-2-28 20:52:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-3-4 0:02:10 编辑

应经常套用图纸不可避免需要修改文字,但图面上都有这些文字,纯粹修改文字输入也很麻烦,不知道有没有这样的工具,可以直接框选文字提取文字过后再进行框选插入,替换或者将提取的文字单独插入到指定位置上?这样可以大大减轻由于CAD文字编辑功能弱项带来的繁琐工作
 楼主| 发表于 2009-3-4 00:02:00 | 显示全部楼层

版主帮忙写一下吧,也许有些难度吧,在论坛上好像没有看到这种程序啊

就是想用鼠标完成大部分文字编辑,提高速度

发表于 2009-3-4 21:04:00 | 显示全部楼层

是不是首先选择一个文字,然后提取文字内容,

然后用这个内容替换所有其它选中的文字内容啊.

如果是这样我可以帮你写

发表于 2009-3-4 21:06:00 | 显示全部楼层

对了,我的QQ是31642938

直接发这个,我比较少来这里

免费帮忙

发表于 2009-3-4 21:34:00 | 显示全部楼层

简单写一个替换AcdbText的.ARX是在VC6.0下编译的,只能2000/2002加载

加载了ARX,然后命令是CT.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2009-3-4 21:36:00 | 显示全部楼层

简单代码

void ChangeText()
{
 ads_name entText;
 ads_point ptSel;
 if(ads_entsel(_T("\n请选择文字内容样本:"),entText,ptSel) != RTNORM)
  return;

 AcDbObjectId idText;
 Acad::ErrorStatus es = acdbGetObjectId(idText,entText);
 if (es != Acad::eOk)
  return;

 AcDbEntity * pEnt = NULL;
 acdbOpenAcDbEntity(pEnt,idText,AcDb::kForWrite);
 if (!pEnt)
  return;

 if (!pEnt->isKindOf(AcDbText::desc()))
 {
  pEnt->close();
  return;
 }

 AcDbText * pText = (AcDbText*)pEnt;
 CString strTextCon = pText->textString();

 pEnt->close();

 ads_name entChange;
 //只要acdbText
 struct resbuf * out = ads_buildlist(RTDXF0,"TEXT",0);
 ads_printf(_T("\n选择要替换内容的文字"));
 if(ads_ssget(NULL,NULL,NULL,out,entChange)!=RTNORM)
 {
  ads_relrb(out);
  return;
 }

 //遍历选择集,替换内容
 long nNums = 0;
 ads_sslength(entChange,&nNums);
 int i = 0;
 for (;i < nNums;i++)
 {
  ads_name curEnt;
  ads_ssname(entChange,i,curEnt);
  AcDbObjectId curID;
  es = acdbGetObjectId(curID,curEnt);
  if (es != Acad::eOk)
   continue;

  AcDbText * pCurText = NULL;
  acdbOpenAcDbEntity((AcDbEntity*&)pText,curID,AcDb::kForWrite);
  if (!pText)
   continue;

  pText->setTextString(strTextCon);

  pText->close();
 }

 ads_relrb(out);
 ads_ssfree(entChange);
}

 楼主| 发表于 2009-3-7 22:11:00 | 显示全部楼层
感谢cfu18,真的很热心,现在我把它写的东西给大家看看,大家有什麽意见可以提,文件见下
 楼主| 发表于 2009-3-7 22:12:00 | 显示全部楼层
怎么没有传上来啊
 楼主| 发表于 2009-3-7 22:13:00 | 显示全部楼层
晕,还是打包吧
发表于 2009-3-9 23:29:00 | 显示全部楼层
框选插入:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 19:50 , Processed in 0.208262 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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