找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 685|回复: 9

[求助]:再次求助:帮忙看一下这段生成文字的代码!

[复制链接]
发表于 2003-2-18 19:42:50 | 显示全部楼层 |阅读模式

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

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

×
//创建文字的子程序
AcDbObjectId createText(AcGePoint3d insertionPoint, char *text)
{
        AcDbText *pText = new AcDbText();
    //初始化文字对象
        pText->setTextString(text);
        pText->setAlignmentPoint(insertionPoint);
    AcDbBlockTable *pBlockTable;
    acdbHostApplicationServices()->workingDatabase()
        ->getSymbolTable(pBlockTable, AcDb::kForRead);
    //打开块表段
    AcDbBlockTableRecord *pBlockTableRecord;
    pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
        AcDb::kForWrite);
        //打开模型空间块表段,获得块表段当前记录
    pBlockTable->close();
    AcDbObjectId TextId;
    pBlockTableRecord->appendAcDbEntity(TextId, pText);
        //将文字对象实例加入到块表记录中
    pBlockTableRecord->close();
        //关闭块表记录
    pText->close();
        //关闭文字对象
    return TextId;
        //返回文字对象 ID



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

使用道具 举报

发表于 2003-2-19 08:00:47 | 显示全部楼层
不知道说的对不对,你好像只是设置了文字的对齐点,但没有设置position,而这是ACDBTEXT的基本构成要素
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-2-19 10:07:14 | 显示全部楼层
我把pText->setAlignmentPoint(insertionPoint);
改成pText->setPosition(insertionPoint);后;
当我用以下代码调用:
double addtxt=15;
char textdat=(char)addtxt;
createText(ptText, &textdat);
为什么生成的text内容是一段乱码?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2003-2-19 10:36:16 | 显示全部楼层
数据转换为字符的代码不对,可改为
char textdat[64];
sprintf(textdat,"%lf",addtxt);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-2-19 15:58:16 | 显示全部楼层
把数据转换改成楼上的那样还是不对:15变成可“h旉a迿`@福 痧竅@”请各位大哥帮忙测试一下!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 192个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2003-2-21 17:01:36 | 显示全部楼层
下列代码调用是成功的,是否是当前字型设置问题?
AcGePoint3d ptText(0,0,0);
double addtxt=15;
char textdat[64];
sprintf(textdat,"%lf",addtxt);
createText(ptText, textdat);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-2-24 19:13:32 | 显示全部楼层
我的当前字型为标准字型呀!底下的小字体为txt.shx,就是autocad2002启动后默认的哪个呀!请问大哥你的是什么呀?你调用的是createText(ptText, textdat)?,不是createText(ptText, &textdat)?吗,那样能编译成功吗?;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-2-24 20:31:49 | 显示全部楼层
调用的当然是createText(ptText, textdat,老兄,我真的有点搞不懂,你贴的代码没有问题,你在生成文字对象前,先将textdat输出看看吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 06:21 , Processed in 0.452558 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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