안녕하세요 리습수정을 하고 싶은데 실력이 없어서 긴히 부탁드립니다
move명령 반복을 자주 사용하게 되는데요.
move명령 반복시 이전값 기억리습을 검색하다보니 상큼메론90님이 올려주신 리습을 사용하니 오른쪽방향으로는 잘되는데 다른방향으로는 오류가 납니다
1.명령어 입력
2.객체선택 후 방향 선택
3.거리(예:1000) 키보드로 입력
4.엔터
명령어 재실행시에는 1→2→4 만 반복으로 사용 하고 싶습니다
상큼메론90 님이 올려주신 리습입니다
(defun m:MM (/ _ORTHO _OSM P1 P2 P3 SS LST)
(setvar “cmdecho” 0)
(setq _ORTHO (getvar “orthomode”)
_OSM (getvar “osmode”)
)
(setvar “orthomode” 1)
(setvar “osmode” 0)
(if (= MM_A nil)(setq MM_A 0))
(if (= MM_DS nil)(setq MM_DS 0))
(setq SS (ssget))
(setq P1 (getpoint (strcat
“n>> 기준점을 아무곳에나 클릭, 또는 기준값 입력<“(rtos MM_A)”>:”)))
(if (/= P1 nil)
(setq P2 (getpoint P1 “n>> 작업방향으로 클릭 :”))
)
(setvar “osmode” _OSM)
(menucmd “s=number”)
(setq MM_DSS (getdist (strcat “n>> 거리입력<“(rtos MM_DS)”>: “)))
(if (numberp MM_DSS)(setq MM_DS MM_DSS))
(if (/= P2 nil)
(setq ANG (angle P1 P2)
MM_A (rtd ANG)
)
)
(setq LST (strcat “@” (rtos MM_DS) “<” (rtos MM_A)))
(command “MOVE” SS “” “0,0” LST)
(menucmd “s=s”)
(setvar “orthomode” _ORTHO)
(princ)
)
(defun C:MM () (m:MM))
(princ “nt enhanced move loaded. Command: MM”)
(princ)
수정좀 부탁 드립니다 ”^^”
공유