(defun C:MM()
(setq a (getdist “n Second Point : “)) 설명 : 거리측정을 하여 기억해둡니다.
(setq b (ssget)) 설명: array 하기위한 객체를 기억해둡니다
(setq c (? )) 어떻게 처리해야하나요? 설명: a 값을 몇등분을할 값을 입력. 입력합수
(setq d (/ a c) 설명: array 할때 길이값 기억해둡니다. 사칙연산
(setq e (+c 1) 설명: array 할때 길이값 기억해둡니다. 사칙연산
(Command “-array” “b” “r” “1” “e” “d” ) 설명
(princ)
)
도면을 제일 많이 하는 것인데 반복적으로 작업을 합니다.
(setq c (? )) 어떻게 처리해야하나요?
사칙연산에서 정확도가 떨어지는거 같아요
실수 / 실수 = 실수
실수 / 정수 = 실수
정수 / 정수 = 정수
(/ 3 2) = 1
(/ 3 2.0) = 1.5
(/ 3 (float 2)) = 1.5
그래서 저는 “/” (나누기) 를 잘사용 않합니다 (* 0.5 3) =1.5
더좋은 방법이 있나요? 어떻게 해야돼죠?
이상한데요?
(setq d (/ a (float c))) 로 하라는 얘깁니다 그런데 c 에서 Getreal로 받기 때문에 예를 들면 사용자가 3을 입력하면 3.0으로 받아 들이기 때문에 굳이 안사용해도 되는 구문입니다
위와 같이 하게되면
네 fix함수는 소수점을 끊어냅니다 예를 들어 13.333을 fix 하면 13이 됩니다
감사합니다.
warfire114@naver.com
원하시는 작업방법 캐드파일로 정리해서 메일 주세요.
해결해드리겠습니다.