明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1910|回复: 4

在二维中以实体的中心自动旋转180度

[复制链接]
发表于 2008-10-13 15:29:00 | 显示全部楼层 |阅读模式

哪位朋友能编一个在二维中以实体的正中心自动旋转180度的lisp程序?谢谢了。

发表于 2008-10-13 22:26:00 | 显示全部楼层

实体的正中心是否指实体外包围方框的中心?

 楼主| 发表于 2008-10-14 07:41:00 | 显示全部楼层

一般我主要是用于旋转文字的。谢谢

 楼主| 发表于 2008-10-15 00:18:00 | 显示全部楼层
本帖最后由 作者 于 2008-10-15 8:28:55 编辑

我自已编的,哪个地方不对,请版主指点下。谢谢了。

(defun C:zz()
  (setq oldosmode (getvar "osmode"))
  (setvar "osmode" 0)
  (princ "\n请选择要旋转的单行文字!!!")
  (setq en (car (entsel)))
  (setvar "cmdecho" 0)
  (setq en1 (entget en))
  (setq tym (cdr (assoc 0 en1)))
  (if ( = tym "TEXT")
    (progn
      (setq dd (cdr (assoc 10 en1)))
      (setq jd (cdr (assoc 50 en1)))
      (setq ysjd1 (cdr (textbox en1)))
      (setq ysjd (car ysjd1))
      (setq x (car ysjd))
      (setq y (cadr ysjd))
      (setq a (atan (/ y x)))
      (setq jd1 (+ jd a))
      (setq jl (/ (sqrt (+ (* x x) (* y y))) 2))
      (setq xy (polar dd jd1 jl))
      (command "rotate" en "" xy "180"  );   180  即需要旋转的角度,可以进行修改。
     )
    )
  (if (/= tym "TEXT")
    (progn
      (princ "\n选择的不是单行文字!!!")
      (setvar "osmode" oldosmode)
      (setvar "cmdecho" 1)
      (princ)
      (exit)
    ) 
  ) 
  (setvar "osmode" oldosmode)
  (setvar "cmdecho" 1) 
  (princ)
)
 


发表于 2008-11-1 23:51:00 | 显示全部楼层
帮助别人,提高自己!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 21:05 , Processed in 0.149251 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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