zctao1966 发表于 2012-1-5 12:26:45

标注文字高度如何用lisp提取?

本帖最后由 zctao1966 于 2012-1-6 13:15 编辑

标注文字高度如何用lisp提取?
有变量控制吗?求高人解答
变量不是:dimtxt
因为此图中的dimtxt的值是不变的,只是两个标注的字高改变了
如图:


以下是附件:

http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 zctao1966的微博

qazxswk 发表于 2023-3-20 18:09:06

另外还有一个办法,
(vl-cmdf "-dimstyle" "r" (cdr(assoc 3 (entget(ssname (ssget) 0))))) ;;将被选标注,置为当前标注样式
(getvar "dimtxt");;获取当前标注样式文字高度

趣意人生 发表于 2022-3-27 13:40:53

好东西,谢谢各位分享!

vormittag 发表于 2012-1-5 13:52:28


(defun dimtextsize(ename / ell xl size dimstyle)
(setq ell (entget ename '("ACAD")))
(if (and (setq xl (assoc -3 ell)) (setq xl (member '(1070 . 140) (cdadr xl))))
(setq size (cdr (assoc 1040 xl)));setq
(setq dimstyle (cdr (assoc 3 ell))
      ell(entget (tblobjname "DIMSTYLE" dimstyle))
      size (cdr (assoc 140 ell))
);setq
);if
)

;;;应用
(dimtextsize (car(entsel)))

谢谢 发表于 2012-1-5 19:20:01

vormittag 发表于 2012-1-5 13:52 static/image/common/back.gif


为什么这个字高不能用dimtxt控制呢?

Andyhon 发表于 2012-1-5 19:45:02

(vla-get-TextHeight DimObj)

lenlenq 发表于 2012-1-5 19:51:28

(vla-get-textheight(vlax-ename->vla-object(car(entsel"请选择标注:"))))

vormittag 发表于 2012-1-6 16:24:16

修改一下,应该可以符合要求了。但是代码可能不健壮。(defun dimtextsize(ename / ell xl size dimstyle text factor)
        (setq ell         (entget ename '("ACAD"))
                  text         (cdr (assoc 1 ell))
        );setq
        (if (wcmatch text "*`\\H*x;*")
                (setq factor (read (substr text (+ (vl-string-search "\\H" text) 3) (- (vl-string-search "x;" text) (vl-string-search "\\H" text) 2))))
                (setq factor 1.0)
        );if
        (if (and (setq xl (assoc -3 ell)) (setq xl (member '(1070 . 140) (cdadr xl))))
                (setq size (cdr (assoc 1040 xl)));setq
                (setq dimstyle (cdr (assoc 3 ell))
                      ell(entget (tblobjname "DIMSTYLE" dimstyle))
                      size (cdr (assoc 140 ell))
                );setq
        );if
        (setq size (* factor size));setq
);defun

hnfsf 发表于 2012-1-7 23:58:57

5楼的代码简练,好使!

lenlenq 发表于 2012-1-9 19:02:24

(defun changetextheight        (en height);;;en--标注的图原名 height--文字高度
(vl-load-com)
(vla-put-textheight (vlax-ename->vla-object en) height)
)

★飞飛★ 发表于 2012-8-10 16:20:53

论坛里高人还是比较多啊。

winerfjy 发表于 2015-10-22 10:31:01

好东西
页: [1] 2
查看完整版本: 标注文字高度如何用lisp提取?