lisp 관련 질문입니다
좌표 리습인데
현재 (Y:값 X:값) 이렇게 나오는데
좌표를 찍으면 Y값은 자동으로 곱하기 2를 해서 값이 나오게 수정 부탁드립니다
그리고 좌표값이 정수가 떨어지면 소수점에서 0이 없어야되는데
좌표를 뽑으면 ex) Y:25.00 X: 12.00 이렇게 정수인데도 뒤에 0이 나오네요
고수님들의 의견 부탁드립니다
(defun c:II(/ p0 p0x p0y sca scax lup zin po2 xp)
(vl-load-com)
(command “ucs” “”)
(setq p0 ‘(0 0 0));;
(defun xy_0 (#aa / #a #b #c #index #d #e);;#aa<str>
(setq #a(vl-string->list #aa))
(if (member 45 #a)
(setq #a(vl-remove 45 #a) #e ‘(45))
);;if
(setq #b(member 46 #a))
(setq #c(- (length #a)(length #b)))
(setq #index 0)
(repeat #c
(if (eq 3 #index)
(setq #d(cons (nth (setq #c(1- #c))#a)(cons 44 #d))#index 0)
(setq #d(cons (nth (setq #c(1- #c))#a)#d))
);;if
(setq #index(1+ #index))
);;repeat
(apply ‘strcat (mapcar ‘chr (append #e(append #d #b))))
);;defun
(setq p0x (car p0))
(setq p0y (cadr p0))
(setq p0 (trans p0 1 0))
(command “ucs” “o” p0)
(setq p0 ‘(0 0))
(setq sca (getreal “n Scale 의 값 을 입력 <1>:”))
(if (= sca nil)
(setq sca 1)
)
(setvar “dimscale” sca)
(setq scax (/ 1.0 sca))
(setvar “dimlfac” scax)
(setq lup(getvar “luprec”))
(setvar “luprec” 2)
(setq zin(getvar “dimzin”))
(setvar “dimzin” 2)
(setvar “cmdecho” 0)
(while (setq po (getpoint “nPick First Point:”))
(command “ucs” “o” p0)
(if po
(progn
(setq po2 (getpoint po “Pick Second Point:”))
(setq xp (strcat “Y: ” (xy_0(rtos (cadr po) 2 3))
” X: ” (xy_0(rtos (car po) 2 2))
)
)
(command “leader” po po2 “” xp “”)
);;progn
);;if
);;while
(command “ucs” “w”)
);;defun
jkhpppsLv.0
좌표 리습 질문입니다
공유