明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1185|回复: 10

[提问] 点选一个标注,如何获得其标注字高?

[复制链接]
发表于 2018-8-9 10:43 | 显示全部楼层 |阅读模式
各位大师早上好,请教一个问题:
点选一个标注,如何获得其标注字高?



file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\669423907\QQ\WinTemp\RichOle\56O3($NETN]1B357NEV(}8Y.png
(princ"\n请点选一个标注:")
(setq ss (ssget":e:s"))
?????
(princ(strcat"\n此标注字高为"  ))

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-8-9 11:26 | 显示全部楼层
本帖最后由 Gu_xl 于 2018-8-9 11:29 编辑

(cdr (assoc 40 (entget (car (nentsel "\n选择标注文字:")))))
or
(vla-get-textheight (vlax-ename->vla-object (car(entsel "\n选择标注:"))))

 楼主| 发表于 2018-8-9 11:39 | 显示全部楼层
Gu_xl 发表于 2018-8-9 11:26
(cdr (assoc 40 (entget (car (nentsel "\n选择标注文字:")))))
or
(vla-get-textheight (vlax-ename->vl ...

首先非常感谢G版的回复,我要的不是 40 ,因为已经改过全局比例
发表于 2018-8-9 11:45 | 显示全部楼层
需要遍历标注*D的图块内容找到里面的MTEXT提取其高度
或者临时炸开标注提取MTEXT高度后撤销
 楼主| 发表于 2018-8-9 12:04 | 显示全部楼层
kozmosovia 发表于 2018-8-9 11:45
需要遍历标注*D的图块内容找到里面的MTEXT提取其高度
或者临时炸开标注提取MTEXT高度后撤销

呃,那么麻烦啊,方便帮忙写一个么?
发表于 2018-8-9 12:33 | 显示全部楼层
呃,那么懒啊,还是放弃吧
 楼主| 发表于 2018-8-9 14:14 | 显示全部楼层
kozmosovia 发表于 2018-8-9 12:33
呃,那么懒啊,还是放弃吧

(defun c:13(/ s1 s2 en h)
(princ"\n请点选一个标注:")
(if (setq s1 (ssget ":e:s" '((0 . "dimension")))) (progn
(command "undo" "be" "_explode" s1 "" "undo" "e")

(setq s2 (ssget ":e:s"  '((0 . "*text"))))
(setq en (entget (ssname s2 0)))
(setq h (cdr (assoc 40 en)))
(command "u" 1)
(princ (strcat"\n此标注字高为 "(rtos h) ) )
) )
(princ) )

我分开写还可以,但是要连起来不会。如何让程序自动选择中炸开标注后的文字呢?还望kozmosovia大师多多指教
发表于 2018-8-9 16:54 | 显示全部楼层
 楼主| 发表于 2018-8-9 17:44 | 显示全部楼层
yoyoho 发表于 2018-8-9 16:54
http://bbs.mjtd.com/thread-65615-1-1.html

非常感谢yoyoho长老
 楼主| 发表于 2018-8-9 17:57 | 显示全部楼层
yoyoho 发表于 2018-8-9 16:54
http://bbs.mjtd.com/thread-65615-1-1.html

请教一个问题:如何改为 ssget 选择模式 谢谢

;获取标注字高 楚留香 2008-1-27 http://bbs.mjtd.com/thread-65615-1-1.html
(defun c:1w (/ ss en dim wzgd bl wzh)
(if (setq ss (ssget ":e:s" '((0 . "dimension")))) (progn

;  (setq dim (vlax-ename->vla-object (car (entsel))))
( setq wzgd (vla-get-textheight dim));得到标注样式的文字高度
  (setq  bl  (vla-get-scalefactor dim));得到标注的调整比例
  (setq wzh (* wzgd bl))                ;得到真正的文字高度
(princ (strcat"\n此标注字高为 "(rtos wzh) ) )
) )
(princ) )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 01:44 , Processed in 0.350412 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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