- UID
- 281509
- 积分
- 1054
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-6-21
- 最后登录
- 1970-1-1
|
发表于 2006-4-20 22:29:07
|
显示全部楼层
好好琢磨吧
void CGenericFun::addXdata(AcDbEntity* pEnt,CString lineLen,CString xLineLen,CString yLineLen,int mStyle)
{
char appName[132];
struct resbuf *pRb,*pTemp;
char DlenStr[200];
char XlenStr[200];
char YlenStr[200];
strcpy(DlenStr,lineLen);
strcpy(XlenStr,xLineLen);
strcpy(YlenStr,yLineLen);
appName[0]='\0';
switch(mStyle)
{
case 0://中间的长度公式
strcpy(appName,"DXYLEN_EXPRESSION");
break;
case 1://起点相对公式
strcpy(appName,"STRDXYLEN_EXPRESSION");
break;
case 2://终点相对公式
strcpy(appName,"ENDDXYLEN_EXPRESSION");
}
//注册扩展数据的应用程序名
acdbRegApp(appName);
pRb=acutNewRb(AcDb::kDxfRegAppName);
pTemp=pRb;
pTemp->resval.rstring=(char*)malloc(strlen(appName)+1);
strcpy(pTemp->resval.rstring,appName);
//将数据添加到扩展数据中
pTemp->rbnext=acutNewRb(AcDb::kDxfXdAsciiString);
pTemp=pTemp->rbnext;
pTemp->resval.rstring=(char*)malloc(strlen(DlenStr)+1);
strcpy(pTemp->resval.rstring,DlenStr);
pTemp->rbnext=acutNewRb(AcDb::kDxfXdAsciiString);
pTemp=pTemp->rbnext;
pTemp->resval.rstring=(char*)malloc(strlen(XlenStr)+1);
strcpy(pTemp->resval.rstring,XlenStr);
pTemp->rbnext=acutNewRb(AcDb::kDxfXdAsciiString);
pTemp=pTemp->rbnext;
pTemp->resval.rstring=(char*)malloc(strlen(YlenStr)+1);
strcpy(pTemp->resval.rstring,YlenStr);
pEnt->setXData(pRb);
acutRelRb(pRb);
} |
|