找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3178|回复: 25

[必看]:AcDbText的奇怪表现

[复制链接]
发表于 2005-3-14 23:27:31 | 显示全部楼层 |阅读模式

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

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

×
/*测试函数A
  创建一个AcDbText,对其方式为水平居中,垂直居中.
  将其直接添加到当前数据库的模型空间,表现正常.
*/  
void textFun_A()
{
        AcDbDatabase *pDb;
        AcDbBlockTable *pBT;
        AcDbBlockTableRecord *pBTR;
        AcDbText *pText;

        pDb=acdbCurDwg();
        pDb->getBlockTable(pBT,AcDb::kForRead);
        pBT->getAt(ACDB_MODEL_SPACE,pBTR,AcDb::kForWrite);
        pBT->close();

        pText=new AcDbText(AcGePoint3d(0,0,0),"AcDbText",AcDbObjectId::kNull,3.0,0.0);
        pText->setVerticalMode(AcDb::kTextVertMid);
        pText->setHorizontalMode(AcDb::kTextCenter);       
        pText->setAlignmentPoint(AcGePoint3d(0,0,0));
        pText->setWidthFactor(0.8);

        pBTR->appendAcDbEntity(pText);
        pText->close();
        pBTR->close();
}

/*测试函数B
  创建一个AcDbText,对其方式为水平居中,垂直居中.
  将其添加到一个新建的后台数据库的模型空间,并将此
  数据库写入文件.若手工将文件打开,会发现文字的对其
  方式并不是程序所设置的,为何?? 若对文字进行简单编
  辑后,对其方式自动就恢复程序所设,奇怪不?
*/  
void textFun_B()
{
        AcDbDatabase *pDb;
        AcDbBlockTable *pBT;
        AcDbBlockTableRecord *pBTR;
        AcDbText *pText;

        pDb=new AcDbDatabase(true,true);
        pDb->getBlockTable(pBT,AcDb::kForRead);
        pBT->getAt(ACDB_MODEL_SPACE,pBTR,AcDb::kForWrite);
        pBT->close();

        pText=new AcDbText(AcGePoint3d(0,0,0),"AcDbText",AcDbObjectId::kNull,3.0,0.0);
        pText->setVerticalMode(AcDb::kTextVertMid);
        pText->setHorizontalMode(AcDb::kTextCenter);       
        pText->setAlignmentPoint(AcGePoint3d(0,0,0));
        pText->setWidthFactor(0.8);

        pBTR->appendAcDbEntity(pText);
        pText->close();
        pBTR->close();

        pDb->saveAs("d:\\test.dwg");
        delete pDb;
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-3-15 15:39:38 | 显示全部楼层
是很奇怪!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-15 20:14:06 | 显示全部楼层
这是我找到的第一个后台数据库与前台数据库的区别。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-3-19 09:35:17 | 显示全部楼层
学了一招,原来没切换数据库,不过楼上的少传了dsp文件啊,不厚道哦,还要我自己创建了一个工程。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2005-3-19 11:34:34 | 显示全部楼层
最初由 binbin 发布
[B]这个问题已经解决,高手就是不一样:)
需要交点学费 [/B]

这个问题好象并没有解决好。它绕了一个湾,把textFun_B()  转换成textFun_A()来解决。

我想这有违楼主的原意,无法解决在textFun_B()的环境下存在的问题。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-3-19 11:46:50 | 显示全部楼层
不知大家有没有写段代码去读取保存之后而没有修改的图中的AcDbText实体,会得到一些启发的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-20 19:32:15 | 显示全部楼层
实现是实现了,非常感谢!!!但,我的意思是在纯后台数据库的环境下,如何解决此问题,比如如何触发AcDbText的自动重算对齐点坐标的机制。因为此问题本身在前台数据库情况下结果是正确的.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2007-6-1 14:53:29 | 显示全部楼层
这是我找到的第一个后台数据库与前台数据库的区别。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-6-7 13:52:00 | 显示全部楼层
希望高手能够解决,我在自定义实体中一直无法解决此问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-6-7 16:16:39 | 显示全部楼层
我遇到过此问题,你新件数据库时要设定好字体样式,并把写的字体指定使用该字体样式. 因为后台数据库好象没有默认的字体样式id.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-6-13 01:17:30 | 显示全部楼层
最初由 Hellow 发布
[B]实现是实现了,非常感谢!!!但,我的意思是在纯后台数据库的环境下,如何解决此问题,比如如何触发AcDbText的自动重算对齐点坐标的机制。因为此问题本身在前台数据库情况下结果是正确的. [/B]

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 17:46 , Processed in 0.472795 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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