明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1915|回复: 7

[已解答] 如何读取文字角度

[复制链接]
发表于 2013-8-30 15:16:10 | 显示全部楼层 |阅读模式
本帖最后由 朽木大师 于 2013-8-30 15:29 编辑

(setq ObjName0 (car (entsel "\n 选择目标: ")))
(setq Data0 (entget ObjName0))
(setq AngT (cdr(assoc 50 Data0)))

(SETQ ang (* (/ AngT PI)180))

总是不对
发表于 2013-8-30 15:37:35 | 显示全部楼层
你发现到底哪儿不对劲?
 楼主| 发表于 2013-8-30 15:45:24 | 显示全部楼层
自贡黄明儒 发表于 2013-8-30 15:37
你发现到底哪儿不对劲?

(defun c:tt()
(setq ObjName0 (car (entsel "\n 选择目标: ")))
(setq Data0 (entget ObjName0))
(setq AngT (cdr(assoc 50 Data0)))
(SETQ ang (* (/ AngT PI)180))
(princ "ang=")(princ ang)
  (princ "选择要修改的文字,可多选")
  (setq ss (ssget '((-4 . "<OR")(0 . "TEXT")(0 . "MTEXT")(-4 . "OR>"))))
  (setq k 0)
  (repeat (sslength ss)
    (progn
      (setq ent (ssname ss k))
      (setq ents (entget ent))
      (setq ents (subst (cons 50 ang) (assoc 50 ents) ents))
      (entmod ents)
      (entupd ent)
      (setq k (1+ k))
    )
  )
  (princ)
)

我试了一下,有些文字可以把角度刷过来,有些就出错
发表于 2013-8-30 16:12:48 | 显示全部楼层
都要以弧度进行
 楼主| 发表于 2013-8-30 16:17:31 | 显示全部楼层
自贡黄明儒 发表于 2013-8-30 16:12
都要以弧度进行

(setq ents (subst (cons 50 ang) (assoc 50 ents) ents)) 我测试过,ang是直接输入角度就可以
发表于 2013-8-30 16:32:04 | 显示全部楼层
朽木大师 发表于 2013-8-30 16:17
(setq ents (subst (cons 50 ang) (assoc 50 ents) ents)) 我测试过,ang是直接输入角度就可以

角度输入输出是有这点绕人的地方,输入是与当前图形的角度单位(units)有关的,一般是使用度或度分秒,所以输入角或度分秒是直接输入,而输入弧度要带r(比如3.14r),如果设置角度单位为弧度,则输入弧度为直接输入。
不管怎样输入,angle(或getangle)输出的单位都是弧度,组码中的角度值也是弧度。
 楼主| 发表于 2013-8-30 16:47:14 | 显示全部楼层
非常感谢上面两位兄弟的帮助
发表于 2021-9-5 10:54:45 | 显示全部楼层
学习到不少!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-16 12:53 , Processed in 0.172074 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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