找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 450|回复: 2

[ARX程序]:关于AcDbFcf怎么没人提提意见呢?

[复制链接]
发表于 2004-7-12 09:31:12 | 显示全部楼层 |阅读模式

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

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

×
程序要提取图纸中的公差信息,,,假设有两个公差标注,其数据分别为0.001,和0.02


我根据联机帮助使用了函数
double
dimtxt() const;
未能实现。

显示的结果为4.358634   4.358634
而不是0.001   0.02


我不知道为什么会出现这种情况.
是不是因为上面的函数用错了,还是别的什么原因,。
哪位知道的请求帮助!!void fitol()
{
// TODO: Implement the command
AcDbBlockTable *pBT;
if( acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pBT, AcDb::kForRead) != Acad::eOk)// 得到块表对象
return;

AcDbBlockTableRecord *pRec;
if(pBT->getAt(ACDB_MODEL_SPACE, pRec,AcDb::kForRead) !=Acad::eOk) //获得模型空间块表记录
return;
pBT->close();
Acad::ErrorStatus es;
AcDbBlockTableRecordIterator *pIter;
es=pRec->newIterator(pIter); //得到块表容器的迭代指针
AcDbEntity *pEnt;
AcDbFcf *pFcf;
// AcDbDimStyleTableRecord *pRecord;
int i=0;

for (;!pIter->done();pIter->step()) //开始遍历
{
es=pIter->getEntity(pEnt,AcDb::kForRead);//得到实体
if (es!=Acad::eOk)
continue;
//判断是否是指定层和指定实体LINE
if ((!stricmp(pEnt->layer(),"0"))&&(pFcf=AcDbFcf::cast(pEnt)))
{
i++;
acutPrintf("\n第%d个公差标注的值为:%f\n",i, pFcf->dimtxt());///这里出错了
}
pEnt->close();
}
acutPrintf("\n **********共有%d个公差标注**********",i);

delete pIter; //释放叠代指针
pRec->close(); //关闭块表记录
return;
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-12 21:49:39 | 显示全部楼层
use AcDbFcf::text(...), pls:
==============================

AcDbFcf::text[/COLOR] Function virtual char *

text(

const int lineNo = kAll) const;

lineNo Input line number (zero based) of line of text desired. If the lineNo parameter is not present, then all lines are returned (with carriage returns between each line)

Each tolerance frame is one line of text, so, for example, a stack of two tolerance frames:

  ----------------
| // | 0.001 |      <-- frame 1
|----------------
| O  | 0.005 | M |  <-- frame 2
  ----------------
would have a line 0 (frame 1) and a line 1 (frame 2).

Warning The caller of this function is responsible for deallocating the string returned by this function (acdbFree() should be used).
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-7-14 09:40:01 | 显示全部楼层
这个提示是帮助里面的,我看过了。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 22:44 , Processed in 0.392550 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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