输入数字或选择角度线改变光标角度
<p>(DEFUN C:sa();/ old_os en1 bd ang ps1 pe1)<br/> (setvar "cmdecho" 0)<br/> (setq old_os (getvar "osmode"))<br/> (setvar "osmode" 0)<br/> ;(setq en1 NIL bd 0)<br/> (setq ang (getreal "\n请输入角度<0>/回车选择角度线:"))<br/> (if (= ang nil)<br/> (progn<br/> (setq en1 (CAR(entsel "\n请选择线: ")))<br/> (while (= en1 nil) (setq en1 (CAR(entsel "\n请选择线: "))))<br/> (if (/= en1 nil)<br/> (progn<br/> (setq bd (cdr (assoc 0 (entget en1))))<br/> (if (= bd "LINE")<br/> (progn<br/> (setq ps1 (vlax-curve-getstartpoint en1))<br/> (setq pe1 (vlax-curve-getendpoint en1))<br/> (setq ang (read (ANGTOS (ANGLE ps1 pe1))))<br/> );end progn<br/> );end if<br/> );end progn<br/> );end if<br/> <br/> ))<br/> (command "SNAPANG" ANG)<br/> (setvar "osmode" old_os)<br/> (princ)<br/>)</p><p>小程式,希望如对大家有用处,有更好的方式,大家也可以改善</p><p></p><p></p> <p>CAD理不是直接用SNAOANG 就行了吗????</p> snapang这个命令是可以,我这个程式本意是选择角度线的 本帖最后由 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]