[已解决]求助,如何取得未加入数据库DBText的外框?
本帖最后由 badboy518 于 2011-11-24 12:00 编辑在学习JIG时发现,当文字没有加入到数据库中时,Bounds的maxpoint 与minpoint
以及GeometricExtents.MaxPoint
GeometricExtents.MinPoint
都是与插入点相同的。
我想做到:在文字下方加一条下划线,与文本同宽。
请问一下,如何才能得到文字的宽度?
为什么不考虑加入数据库呢,这样的效果又如何
public void Test7()
{
DBText testText = new DBText();
testText.TextString = "WeltionTools";
testText.Position = new Point3d(0, 0, 0);
Transaction tr = Application.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction();
using (tr)
{
BlockTableRecord space = tr.GetObject(HostApplicationServices.WorkingDatabase.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord;
space.AppendEntity(testText);
tr.AddNewlyCreatedDBObject(testText, false);
Extents3d textExtents = testText.GeometricExtents;
Line line = new Line();
line.StartPoint = textExtents.MinPoint;
line.EndPoint = textExtents.MaxPoint;
space.AppendEntity(line);
tr.AddNewlyCreatedDBObject(line, true);
tr.Commit();
}
} 有劳,我看了一下,是加入到图形数据库中后再调用 。这样确实可以做到。
但是Jig中运行效率太差了些。不知能否有更好的办法 你的jig到底是想达到什么效果,或者把你的代码发上来大家帮你优化一下 已解决。将基本属性参数写齐全就可以了。
页:
[1]