;;===============================================================
; 치수기입하기(1996 주말농부)
; ->치수기입을 빠르고 편리하게 쓸수있는 명령어
; ->치수보조선 정렬 / 연속치수기입 기능추가(2007.6.11)
;;—— Quick dimension —————————————-
; ->치수선을 그리고나면 총합계가 나타남
;;—— Quick dimension —————————————-
(defun c:dd(/ os ds hva pt1 pt2 pt3 pt4 pt5 p12m d11 d22 ag1 ag2
p1 p2 p3 dx dy)
;->*error* start
(defun *error* (msg)(princ “error: “)(princ msg)
(setvar “osmode” os)
(princ))
;-<*error* end
(setq os (getvar “osmode”) ds (getvar “dimscale”) dw1 (getvar “dimdli”))
(setvar “osmode” 9);end,node
(setq pt1 (getpoint “nFirst extension line origin->”))
(setvar “osmode” 128);per
(setq pt2 (getpoint pt1 “nSecond extension line origin->”))
(setq p1 pt1 p2 pt2 )
(setq dx (abs (- (car pt1) (car pt2)))
dy (abs (- (cadr pt1) (cadr pt2))) )
;——–청소대장군
(setq ANG (angle pt1 pt2)
A1 (rtd ANG)
AA (+ A1 180)
A2 (rtos A1 2 0)
DI (strcat “@” (rtos (* ds dw1 1.2) 2 0) “<” (rtos AA 2 0))
DII (strcat “@” (rtos (* ds dw1 1.2) 2 0) “<” (rtos A1 2 0))
)
(if (or (/= A2 “0”)(/= A2 “90”)(/= A2 “180”)(/= A2 “270”)(/= A2 “360”))
(progn (setq hva “Ali”)(setq A3 (+ ANG (dtr 90)))))
(if (or (= A2 “360”)(= A2 “0”))
(progn (setq hva “hor”)(setq A3 (+ ANG (dtr 90)))))
(if (= A2 “180”)
(progn (setq hva “hor”)(setq A3 (- ANG (dtr 90)))))
(if (= A2 “90”)
(progn (setq hva “ver”)(setq A3 (+ ANG (dtr 90)))))
(if (= A2 “270”)
(progn (setq hva “ver”)(setq A3 (- ANG (dtr 90)))))
(setvar “osmode” 0)
(command “dim1” hva P1 P2 pause “”)
;(setvar “osmode” 9);end,node
(setvar “osmode” 128);per
(setq P3 (getpoint P2 “n>> Next extention line orgin : PER of”))
(if (/= P3 nil)
(progn
(while P3
(setq PP P3)
(setvar “osmode” 0)
(command “dim1” “co” P3 “”)
(setvar “osmode” 128)
(setq P3 (getpoint P3 “n>> Next extention line orgin : PER of”))
)
(progn
(setvar “osmode” 0)
(setq pp(list (+ (car pp) 0.00000001) (+ (cadr pp) 0.000000001) (caddr pp)))
(command “dim1” “co” PP “”)
(setq ll(entlast))
(setvar “dimdli” dw1)
(command “dim1” “bas” P1 “”)
(entdel ll)
; )
)
)
)
;———
(setvar “osmode” os)
(prin1))
인데요 여기에서 첫번째 치수선의 원하는 거리를 찍고 치수선의 수직점을 300만큼 이동할려면 @0,300이라는 좌표값을 넣어주어야 제가 원하는 높이만큼 개체와 이격을 할수있는데요 너무 불편하네요 이것을 옵셋처럼 수직방향으로 300만 입력하면 이격되게 할수 없을까요?
혹시 전체 치수선 입력되기전에도 첫번째 치수선과 전체 치수선사이의 거리를 마찬가지로 입력해서 조정할수 있을까요? 안되면 둘중에 하나만이라도…..ㅠ,.ㅠ