明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3483|回复: 11

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

[复制链接]
发表于 2012-1-5 12:26:45 | 显示全部楼层 |阅读模式
本帖最后由 zctao1966 于 2012-1-6 13:15 编辑

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


以下是附件:

该贴已经同步到 zctao1966的微博

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 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 | 显示全部楼层
好东西,谢谢各位分享!
发表于 2012-1-5 13:52:28 | 显示全部楼层

  1. (defun dimtextsize(ename / ell xl size dimstyle)
  2. (setq ell (entget ename '("ACAD")))
  3. (if (and (setq xl (assoc -3 ell)) (setq xl (member '(1070 . 140) (cdadr xl))))
  4.   (setq size (cdr (assoc 1040 xl)));setq
  5.   (setq dimstyle (cdr (assoc 3 ell))
  6.         ell  (entget (tblobjname "DIMSTYLE" dimstyle))
  7.         size (cdr (assoc 140 ell))
  8.   );setq
  9. );if
  10. )

  11. ;;;应用
  12. (dimtextsize (car(entsel)))

评分

参与人数 1明经币 +1 收起 理由
zctao1966 + 1 谢谢你的解答,还有一点小问题!请下载附件.

查看全部评分

发表于 2012-1-5 19:20:01 | 显示全部楼层
vormittag 发表于 2012-1-5 13:52

为什么这个字高不能用dimtxt控制呢?
发表于 2012-1-5 19:45:02 | 显示全部楼层
(vla-get-TextHeight DimObj)
发表于 2012-1-5 19:51:28 | 显示全部楼层
(vla-get-textheight(vlax-ename->vla-object(car(entsel"请选择标注:"))))

评分

参与人数 1明经币 +1 收起 理由
zctao1966 + 1 谢谢你的解答,还有一点小问题!请下载附件.

查看全部评分

发表于 2012-1-6 16:24:16 | 显示全部楼层
修改一下,应该可以符合要求了。但是代码可能不健壮。
  1. (defun dimtextsize(ename / ell xl size dimstyle text factor)
  2.         (setq ell         (entget ename '("ACAD"))
  3.                   text         (cdr (assoc 1 ell))
  4.         );setq
  5.         (if (wcmatch text "*`\\H*x;*")
  6.                 (setq factor (read (substr text (+ (vl-string-search "\\H" text) 3) (- (vl-string-search "x;" text) (vl-string-search "\\H" text) 2))))
  7.                 (setq factor 1.0)
  8.         );if
  9.         (if (and (setq xl (assoc -3 ell)) (setq xl (member '(1070 . 140) (cdadr xl))))
  10.                 (setq size (cdr (assoc 1040 xl)));setq
  11.                 (setq dimstyle (cdr (assoc 3 ell))
  12.                       ell  (entget (tblobjname "DIMSTYLE" dimstyle))
  13.                       size (cdr (assoc 140 ell))
  14.                 );setq
  15.         );if
  16.         (setq size (* factor size));setq
  17. );defun
发表于 2012-1-7 23:58:57 | 显示全部楼层
5楼的代码简练,好使!
发表于 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 | 显示全部楼层
论坛里高人还是比较多啊。
发表于 2015-10-22 10:31:01 | 显示全部楼层
好东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-16 12:47 , Processed in 0.240784 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表