cad.net 文字宽度获取
说明
从Acad2010开始,
在Autodesk.AutoCAD.Internal.Utils测试库中有一个新函数:GetTextExtents,
利用它可以获取文字宽度.
只不过事情往往没有那么简单,
如果文字带有符号,比如\U+00B2在cad代表平方上标,
这个是不会转换为上标再测量的...
比如:
20\U+00B2 就是20²
GetTextExtents这个函数不会转换为20²再测量,而是直接测量20\U+00B2这个文本的边界...
所以最好也是最通用的方法是低版本的方法:
创建一个文字实体:文本,文字样式,高度,宽度因子.
或者带样式的要有:基点,对齐点.
设好之后,使用Entity.GeometricExtents函数获取包围盒,就可以获取文字宽度了.
不要放入块表内,获取包围盒之后,用Dispose()将它用完即弃.
还有一个比较麻烦的方法:
解析文字文件,但是要知道解析的方式,还要和cad一样,因为难度太高,所以就不详述了.
相关阅读
cad.net 解析多行文字
(完)