rotate 할때 각도가 아닌 %로 회전하기
rotate명령은 기준점을 중심으로 객체를 회전합니다.
선택한 객체를 기준점을 중심으로 절대 각도로 회전할 수 있습니다.
다음과 같은 프롬프트가 표시됩니다.
객체 선택객체 선택 방법을 사용하고, 작업을 마치면 Enter 키를 누릅니다.기준점 지정점을 지정합니다.회전 각도 지정각도를 입력하거나, 점을 지정하거나, c 또는 r을 입력합니다.
그런데 최근 작업할때
기울기가 2% 선을 그리고 싶은데 수평선을 그리고 2%회전 시키고 싶었습니다.
그래서 lisp로 작성해봤어요.
객체 선택:
base point: 선택
Rotate Slop(%) <0.0000%> 기울기 %로 입력
(defun c:RS ( / osm ss bp ang sl tmp)
(defun dtr (a) (* pi (/ a 180.0)))
(defun rtd (a) (* 180.0 (/ a pi))) ;(defun rtd (a) (/ (* a 180.0) pi))
(defun tan (a) (/ (sin a) (cos a)))
; (command "undo" "group")
(setvar "cmdecho" 0)
(setq osm (getvar "osmode"))
(prompt "\nRotate slop(%)")
(setq ss (ssget)
bp (getpoint "\nbase point: ")
tmp 0.0
)
(setq sl (getreal (strcat "\nRotate Slop(%) <" (rtos tmp) "%>")))
(setq ang (atan (/ sl 100.0)))
(setq ang (rtd ang))
(setq ang (if ang ang tmp))
(if (/= 0 ang)
(progn
(setvar "osmode" 0)
(command "rotate" ss "" bp ang)
; (setq tmp ang)
(setvar "osmode" osm)
)
)
(command "redraw")
(setvar "cmdecho" 1)
; (command "undo" "end")
(princ)
)
*경고* 소유한 객체, 핸들 "5DBD"을(를) 증가시키십시오 (0) | 2020.11.07 |
---|---|
(Autocad) BLOCKREPLACE(Express Tool) 지정된 블록의 모든 복제를 다른 블록으로 대치 (0) | 2020.11.07 |
배치탭에서 선이 두껍게 보이는 이유와 해결방법 (0) | 2020.11.04 |
LEE MAC PROGRAMMING (0) | 2020.10.16 |
theswamp.org (0) | 2020.10.15 |