zhongys 发表于 2008-4-13 18:39:00

输入数字或选择角度线改变光标角度

<p>(DEFUN C:sa();/ old_os en1 bd ang ps1 pe1)<br/>&nbsp;&nbsp;&nbsp; (setvar "cmdecho" 0)<br/>&nbsp;&nbsp;&nbsp; (setq old_os (getvar "osmode"))<br/>&nbsp;&nbsp;&nbsp; (setvar "osmode" 0)<br/>&nbsp;&nbsp;&nbsp; ;(setq en1 NIL bd 0)<br/>&nbsp;&nbsp;&nbsp; (setq ang (getreal "\n请输入角度&lt;0&gt;/回车选择角度线:"))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (if (= ang nil)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq en1 (CAR(entsel "\n请选择线: ")))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (while (= en1 nil)&nbsp;&nbsp; (setq en1 (CAR(entsel "\n请选择线: "))))<br/>&nbsp;&nbsp;&nbsp; (if (/= en1 nil)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq bd (cdr (assoc 0 (entget en1))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= bd "LINE")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ps1 (vlax-curve-getstartpoint en1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq pe1 (vlax-curve-getendpoint en1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq ang (read (ANGTOS (ANGLE ps1 pe1))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );end progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );end if<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );end progn<br/>&nbsp;&nbsp; );end if<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; ))<br/>&nbsp;&nbsp;&nbsp; (command "SNAPANG" ANG)<br/>&nbsp;&nbsp;&nbsp; (setvar "osmode" old_os)<br/>&nbsp;&nbsp;&nbsp; (princ)<br/>)</p><p>小程式,希望如对大家有用处,有更好的方式,大家也可以改善</p><p></p><p></p>

eversky 发表于 2008-4-13 23:40:00

<p>CAD理不是直接用SNAOANG 就行了吗????</p>

zhongys 发表于 2008-4-14 07:57:00

snapang这个命令是可以,我这个程式本意是选择角度线的

yhkk0317 发表于 2011-6-9 10:59:48

本帖最后由 yhkk0317 于 2011-6-9 11:02 编辑

;由两点定角度
(DEFUN C:SAd (/ pt1 pt2)
(setq os (getvar "osmode"))
(setvar "OSMODE" 512)
   (setq pt1 (getpoint "\npoint1:"))
   (setq pt2 (getpoint "\npoint2:"))
(COMMAND "SNAPANG" pt1 pt2)
(setvar "osmode" OS)
(PRINC)
)
;
;角度还原为0
(defun c:saf ()
(setvar "snapang" 0)
)
页: [1]
查看完整版本: 输入数字或选择角度线改变光标角度