A-A+
AutoLISP获取TEXT/MTEXT文字的字符串坐标文字高度等属性信息
在AutoLISP中获取单行文字TEXT和多行文字MTEXT的字符串、文字位置坐标和文字高度等属性信息,可以通过读取文字图元的图元组码来实现。
例如:从选择集ss1中获取文字的字符串文本、文字插入点的x、y坐标和文字的文本高度,代码如下:
(setq strent (entget (ssname ss1 1)))
(setq strtxt (cdr (assoc 1 strent)))
(setq px (car (cdr (assoc 10 strent))))
(setq py (cadr (cdr (assoc 10 strent))))
(setq str_height (cdr (assoc 40 strent)))
单行文字TEXT常用的图元组码如下:
1 默认值(字符串本身)
7 文字样式名(可选;默认值 = 标准)
10 插入点。
40 文字高度。
多行文字MTEXT常用的图元组码如下:
1 字符串。如果字符串长度小于250个字符,所有字符均出现在组1中。如果字符串长度大于250个字符,该字符串将分成长度为250个字符的数据块,并显示在一个或多个组3代码中。如果使用组3代码,最后一个组将是组1并且字符数少于250个。
7 文字样式名(如果未提供,则为“标准”)(可选)。
10 插入点。
40 标称(初始)文字高度。
42 成多行文字图元的字符的水平宽度。该值始终等于或小于组码41的值(只读,如果提供则忽略)。
43 多行文字图元的垂直高度(只读,如果提供则忽略)。