cad.net 文字宽度获取

从Acad2010开始,
在Autodesk.AutoCAD.Internal.Utils测试库中有一个新函数:GetTextExtents,
利用它可以获取文字宽度.

只不过事情往往没有那么简单,
如果文字带有符号,比如U+00B2在cad代表平方上标,
这个是不会转换为上标再测量的...

比如:
20U+00B2 就是20²
GetTextExtents这个函数不会转换为20²再测量,而是直接测量20U+00B2这个文本的边界...

所以最好也是最通用的方法是低版本的方法:
创建一个文字实体:文本,文字样式,高度,宽度因子.
或者带样式的要有:基点,对齐点.
设好之后,使用Entity.GeometricExtents()函数获取包围盒,就可以获取文字宽度了.
不要放入块表内,获取包围盒之后,用Dispose()将它用完即弃.

还有一个比较麻烦的方法:
解析文字文件,但是要知道解析的方式,还要和cad一样,因为难度太高,所以就不详述了.

(完)

原文地址:https://www.cnblogs.com/JJBox/p/14471271.html