zhenwangxue 发表于 2008-10-12 19:53:00

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

本帖最后由 作者 于 2008-10-12 19:56:00 编辑 <br /><br /> <p>任意调整光标角度,很好用!!!!</p><p>(defun c:gbjd()</p><p>&nbsp;&nbsp; (setq&nbsp; en (entsel "\n选取线,文字或图块&lt;输入角度&gt;:"))</p><p>&nbsp;(if (/= en nil)</p><p>&nbsp;&nbsp; (progn </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq endata (entget (car en)))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq entyp (cdr (assoc 0 endata)))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (cond ((= entyp "LINE")&nbsp;&nbsp; (line-ang))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= entyp "TEXT")&nbsp;&nbsp; (text-ang))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= entyp "MTEXT")&nbsp;&nbsp; (text-ang))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= entyp "INSERT")&nbsp; (text-ang))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2p-ang))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2p-ang)</p><p>&nbsp; )</p><p>&nbsp;&nbsp; (setvar "snapang" ang)</p><p>)</p><p>(defun line-ang()</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq pt10 (cdr (assoc 10 endata)))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq pt11 (cdr (assoc 11 endata)))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ang (angle pt10 pt11))</p><p>)</p><p>(defun text-ang()</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ang (cdr (assoc 50 endata)))</p><p>)</p><p>(defun 2p-ang()</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ang (getangle "\n输入角度值:"))</p><p>)</p><p>(princ "\n-------------c:gbjd-----------")</p><p>(prin1)</p>

taoyi0727 发表于 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)
)

alexmai 发表于 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线?

最好能对块内的“线”点选,因为块的“角度”是不可靠的

alexmai 发表于 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)
)



zhenwangxue 发表于 2008-10-12 19:55:00

本帖最后由 作者 于 2008-10-12 19:58:45 编辑 <br /><br /> <p>业余爱好,如有需要一起切磋的常联系!<a href="mailto:zhenwangxue@163.com">zhenwangxue@163.com</a></p><p></p>

szxgsh 发表于 2013-6-21 22:07:33

可以加入另外一种模式吗:就是点击2个点,取得角度再执行。

自贡黄明儒 发表于 2013-6-21 22:21:50

还不错哈!!!

yoyoho 发表于 2013-6-22 10:58:31

感谢zhenwangxue 分享程序
不错喔!

恕放之生命 发表于 2014-8-22 13:30:10

谢谢分享。

sicky111 发表于 2014-9-9 00:14:38

魔法书中的一个例子。

BUBUBA918 发表于 2014-9-9 08:12:51

好像不支持多义性PLINE,改进下更好

qq277274448 发表于 2014-9-16 21:22:15

谢谢分享
页: [1] 2
查看完整版本: 任意调整十字光标角度!!!(好用)