明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3873|回复: 12

任意调整十字光标角度!!!(好用)

[复制链接]
发表于 2008-10-12 19:53:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-10-12 19:56:00 编辑

任意调整光标角度,很好用!!!!

(defun c:gbjd()

   (setq  en (entsel "\n选取线,文字或图块<[Enter]输入角度>:"))

 (if (/= en nil)

   (progn

             (setq endata (entget (car en)))

             (setq entyp (cdr (assoc 0 endata)))

            (cond ((= entyp "LINE")   (line-ang))
                      ((= entyp "TEXT")   (text-ang))

                      ((= entyp "MTEXT")   (text-ang))

                      ((= entyp "INSERT")  (text-ang))

                       (t                               (2p-ang))

            )

       )

        (2p-ang)

  )

   (setvar "snapang" ang)

)

(defun line-ang()

         (setq pt10 (cdr (assoc 10 endata)))

         (setq pt11 (cdr (assoc 11 endata)))

         (setq ang (angle pt10 pt11))

)

(defun text-ang()

        (setq ang (cdr (assoc 50 endata)))

)

(defun 2p-ang()

       (setq ang (getangle "\n输入角度值:"))

)

(princ "\n-------------c:gbjd-----------")

(prin1)

发表于 2019-5-19 22:01:40 | 显示全部楼层
alexmai 发表于 2019-5-19 19:12
;;;UCS
(defun c:y(/ ent)
  (command "ucs" "")

不用那么复杂  这就行
;调整光标角度
(defun c:tt (/ 2p-ang ang en endata entyp line-ang text-ang)
        (defun line-ang (/ ang pt10 pt11)
                (setq pt10 (cdr (assoc 10 endata)))
                (setq pt11 (cdr (assoc 11 endata)))
                (setq ang (angle pt10 pt11))
        )
        (defun text-ang (/ ang)
                (setq ang (cdr (assoc 50 endata)))
        )
        (defun 2p-ang (/ ang)
                (setq ang (getangle "\n输入角度值<0>:"))
        )
        (setq en (nentselp "\n选取线文字或图块<输入角度>:"))
        (if (/= en nil)
                (progn
                        (setq endata (entget (car en)))
                        (setq entyp (cdr (assoc 0 endata)))
                        (cond
                                ((= entyp "LINE") (setq ang (line-ang)))
                                ((= entyp "TEXT") (setq ang (text-ang)))
                                ((= entyp "MTEXT") (setq ang (text-ang)))
                                (t (setq ang (2p-ang)))
                        )
                )
                (setq ang (2p-ang))
  )
        (if ang
                (setvar "snapang" ang)
                (setvar "snapang" 0)
        )
        (princ)
)
发表于 2019-5-20 09:31:08 | 显示全部楼层
taoyi0727 发表于 2019-5-19 22:01
不用那么复杂  这就行
;调整光标角度
(defun c:tt (/ 2p-ang ang en endata entyp line-ang text-ang)
...

使用我的方法更便捷

输入角度更本就是鸡肋,很少会输入的,两点定角度还是可以的
你测试过,pline线?

最好能对块内的“线”点选,因为块的“角度”是不可靠的
发表于 2019-5-19 19:12:51 | 显示全部楼层
本帖最后由 alexmai 于 2019-5-19 19:16 编辑

;;;UCS
(defun c:y(/ ent)
  (command "ucs" "")
  (command "ucs" "_ob")
  (princ)
)复原就不需要选择,1个命令就搞定

遇到要选块内的线,用这个命令把线copy出来,再处理
(defun c:nc(/ ent)
  (C:ncopy)
(princ)
)



 楼主| 发表于 2008-10-12 19:55:00 | 显示全部楼层
本帖最后由 作者 于 2008-10-12 19:58:45 编辑

业余爱好,如有需要一起切磋的常联系!zhenwangxue@163.com

发表于 2013-6-21 22:07:33 | 显示全部楼层
可以加入另外一种模式吗:就是点击2个点,取得角度再执行。
发表于 2013-6-21 22:21:50 来自手机 | 显示全部楼层
还不错哈!!!
发表于 2013-6-22 10:58:31 | 显示全部楼层
感谢zhenwangxue 分享程序
不错喔!
发表于 2014-8-22 13:30:10 | 显示全部楼层
谢谢分享。
发表于 2014-9-9 00:14:38 | 显示全部楼层
魔法书中的一个例子。
发表于 2014-9-9 08:12:51 | 显示全部楼层
好像不支持多义性PLINE,改进下更好
发表于 2014-9-16 21:22:15 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 20:02 , Processed in 0.277579 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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