아는 동생이 가지고 있는걸 받아서 쓰고 있는데
ltscale 이 바뀌지 않습니다.
1을 주나 100을주나 똑같이 나옵니다.
ㅠㅠ 수정좀 부탁드려요
;circle center line 생성
(defun c:cen(/ os lts cir n oldlts newlts i data center r1 p1 p2 p3 p4 line1 line2)
(setvar “cmdecho” 0)
(setq os (getvar “osmode”))
(setq lts (getvar “ltscale”))
(setq cir (ssget ‘((-4 . “<or”)(0 . “CIRCLE”)(0 . “ARC”)(-4 . “or>”))))
(setq n (sslength cir))
(prompt “nCurrently scale<“)
(princ (rtos lts 2 0))
(prompt “>n Scale of Currently scale?”)
(setq newlts (getreal ” : “))
(setvar “osmode” 0)
(setq i 0)
(if (not (tblsearch “layer” “CENTER”))
(command “layer” “n” “CENTER” “c” “1” “CENTER” “L” “CENTER2” “CENTER” “”)
)
(repeat n
(setq data (entget (ssname cir i)))
(setq i (+ 1 i))
(setq center (cdr (assoc 10 data)))
(setq r1 (* (cdr (assoc 40 data)) 1.1))
;;p1-0/ p2-90/ p3-180/ p4-270
(setq p1 (list (+ (car center) r1) (cadr center)))
(setq p2 (list (car center) (+ (cadr center) r1)))
(setq p3 (list (- (car center) r1) (cadr center)))
(setq p4 (list (car center) (- (cadr center) r1)))
(if (or (= newlts nil) (= newlts “”))
(setq newlts 1)
)
(command “line” p1 p3 “”)
(setq line1(entlast))
(command “change” line1 “” “p” “la” “CENTER” “s” newlts “”)
(command “line” p2 p4 “”)
(setq line2(entlast))
(command “change” line2 “” “p” “la” “CENTER” “s” newlts “”)
)
(setvar “osmode” os)
(princ)
)