replacetxtcommands.cpp

来自「替换dwg中的特定字符的objectarx源代码」· C++ 代码 · 共 50 行

CPP
50
字号
// ObjectARX defined commands

#include "StdAfx.h"
#include "StdArx.h"

void BLUEARXrp()
{
	struct resbuf rb_txt ; 
	struct resbuf * rb , * head ;
	char          filter_need[10] ;
	ads_name      Select_Need,ent ;
	long          count ;

	rb_txt.restype = 0 ;
	strcpy(filter_need,"TEXT") ;
	rb_txt.resval.rstring = filter_need ;
	rb_txt.rbnext = NULL ;

	if(ads_ssget("X", NULL, NULL, & rb_txt,Select_Need)!=RTNORM)
	{
		ads_alert("系统不能正确创建出图选择集,请改用逐页出图方式") ;
		return ;
	}

	ads_sslength(Select_Need,&count) ;

	AcDbObjectId txtID ;
	AcDbText *entTxt ;
	char tmpStr[255] ;
	long len ;

	for(int i=0;i<count;i++)
	{
		ads_ssname(Select_Need,i,ent);
		acdbGetObjectId(txtID,ent);

		Acad::ErrorStatus es = acdbOpenObject(entTxt,txtID,AcDb::kForWrite);

		strcpy(tmpStr,entTxt->textString()) ;
		len = strlen(tmpStr) ;
		for (int j=0;j<len;j++)
		{
			if(tmpStr[j]>=97 && tmpStr[j]<=122) tmpStr[j] -= 32 ; 
		}
		entTxt->setTextString(_T(tmpStr)) ;
		entTxt->close() ;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?