明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2733|回复: 3

[已解决]还是关于DBtext的问题,不解

[复制链接]
发表于 2011-11-26 13:05:42 | 显示全部楼层 |阅读模式
本帖最后由 badboy518 于 2011-11-26 13:13 编辑

代码如下:

  1. Transaction tr = Tools.Database.TransactionManager.StartTransaction();
  2.     Polyline curLine = tr.GetObject(polyid, OpenMode.ForRead) as Polyline;
  3.    
  4.     DBText mText = new DBText();
  5.     mText.SetDatabaseDefaults();
  6.     mText.TextString = "面积:"+Math.Round(curLine.Area, 3).ToString();
  7.     mText.Position = curLine.GeometricExtents.MaxPoint;
  8.     ObjectId mid = Tools.AddToCurrentSpace(mText);
  9.     mText = tr.GetObject(mid, OpenMode.ForWrite) as DBText;
  10.     mText.VerticalMode = TextVerticalMode.TextVerticalMid;  //问题就出在这两句
  11.     mText.HorizontalMode = TextHorizontalMode.TextCenter;
  12.     mText.Height = 5.0;
  13.    
  14.     mText.Position = curLine.GeometricExtents.MaxPoint;
  15.    
  16.    
  17.     tr.Commit();


当指定text的对齐方式,加入数据库后,文字的position总是在原点,试了好多办法都行不通。
请高手指点一下
自己找到解决办法了。。晕,刚发的贴。
  1. mText.VerticalMode = TextVerticalMode.TextVerticalMid;
  2.         mText.HorizontalMode = TextHorizontalMode.TextCenter;
  3.         mText.AlignmentPoint = curLine.GeometricExtents.MaxPoint;  //这句是关键


 楼主| 发表于 2011-11-26 13:19:36 | 显示全部楼层
经多次测试,得出如下结论,供大家参考:
DBText对象当设置VerticalMode   HorizontalMode后,文本的Position属性已无用。重新赋值也没有用,此时需指定AlignmentPoint来决定文本的位置!
发表于 2011-11-26 22:50:23 | 显示全部楼层
你的理解有问题。

If vertical mode is set to any value other than .TextBase, then the text object's alignment point is used to determine the text's position. The position point is recalculated based on the text string and the alignment point's value. If vertical mode is .TextBase, then the position point is used to determine the text's position. The alignment point is recalculated based on the text string and the position point's value.

 楼主| 发表于 2011-11-27 20:00:57 | 显示全部楼层
楼上能否写明白点,我的英语确实太差了些,看不太明白。只明白前面几句:
如果垂直方式被设置值,文本对象的对齐点被用来确定文本的位置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 18:40 , Processed in 0.194365 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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