yzq535 发表于 2015-10-20 19:40:51

如何获得cad文字的长度

请问如何用lisp获得cda文字的长度,不是获得字符数,而是获得受字高和宽度因子影响的宽度,如图中的w值

Andyhon 发表于 2015-10-21 09:13:47

Ref:

TextBox

acet-geom-mtxtbox
acet-geom-textbox
acet-geom-txtbox

mikewolf2k 发表于 2015-10-21 15:00:50

vba中有个getboundingbox吧,获取图形的最外边界。lisp肯定也有同类功能的函数。

yzq535 发表于 2015-10-21 20:09:05

好的,我再查查,谢谢

yzq535 发表于 2015-10-21 20:10:28

Andyhon 发表于 2015-10-21 09:13 static/image/common/back.gif
Ref:

TextBox


这是vba的代码么,因为刚刚接触auto lisp,不熟

Andyhon 发表于 2015-10-21 22:35:20

是内建的函数 类如 polar inters ssget ...

czcxxx 发表于 2015-10-23 09:25:07

谢谢分享!!!!!!!!!!!!!

yzq535 发表于 2015-10-28 23:52:13

Andyhon 发表于 2015-10-21 22:35 static/image/common/back.gif
是内建的函数 类如 polar inters ssget ...

好的,谢谢

wzg356 发表于 2015-12-12 04:15:12

本帖最后由 wzg356 于 2015-12-12 04:17 编辑

(defun xl-texthw(ename / edata key box dx dy)
(setq edata (entget ename))
(setq key (cdr (assoc 0 edata)))
(cond ((= key "TEXT")
         (setq box (textbox edata)
            dx (abs (- (car(car box)) (car(cadr box))))
            ;dy (abs (- (cadr(car box)) (cadr(cadr box))))
            dy (cdr (assoc 40 edata))               
         )
      )
      ((= key "MTEXT")
         (setq dx (cdr (assoc 42 edata))
               dy (cdr (assoc 43 edata))
         )
      )
      (t (princ (strcat "\n错误的对象类型! 对象类型: " key)))
)
(list dx dy)
)

;(xl-texthw (car (nentsel "\nSelect text: ")))

ymcui 发表于 2015-12-12 14:03:15

谢谢分享!!!!!!!!!!!!!
页: [1]
查看完整版本: 如何获得cad文字的长度