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 GeometricExtents出错了

(完)

posted @ 2021-03-02 21:04  惊惊  阅读(1056)  评论(0编辑  收藏  举报