找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 651|回复: 6

[求助]:到底什么是XDATA扩展数据呢?如何设定图形参数????

[复制链接]
发表于 2004-4-21 22:11:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
我翻了好多书籍,想知道什么是扩展数据,结果不行,
什么是扩展数据,为什么还要有应用程序创建呢?

另外,我想问,以前记得好象在打开一个图形时可以输入参数,
比如高程,尺寸等,以得到改换数据的目的,这是怎么设定的,
使用什么方法,是不是扩展数据呢?

请帮忙解释把,好困惑!!!!!!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2004-4-21 22:24:10 | 显示全部楼层

Re: [求助]:到底什么是XDATA扩展数据呢?如何设定图形参数????

最初由 boust 发布
[B]我翻了好多书籍,想知道什么是扩展数据,结果不行,
什么是扩展数据,为什么还要有应用程序创建呢?

另外,我想问,以前记得好象在打开一个图形时可以输入参数,
比如高程,尺寸等,以得到改换数据的目的,这是... [/B]


扩展数据就是附着在实体上的非图形数据,比如实体句柄、字符串、实数等等,一个实体可以赋着的扩展数据最多是16KB,至于要附着什么,你的程序定,当然这些数据是和这个实体相关的,以后图形关闭在打开的时候,你可以查询到实体上的这些你需要的信息。供你的程序查询调用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-4-20 18:29:19 | 显示全部楼层
怎么用呢?!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 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);
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-4-29 22:57:19 | 显示全部楼层
appName这个变量是什么呢,要付什么值给它呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-4-30 21:23:01 | 显示全部楼层
appName事实上就是你存的一条数据的表示名称,以便你下次查数据时你能能知道自己要查哪一条数据。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-5-2 01:09:52 | 显示全部楼层
图形参数与单个实体关系不大,一般保存在字典里,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 02:33 , Processed in 0.428388 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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