위 그림과 같이 왼쪽 치수 간격을 8로 정해서 띄우려고합니다.
현재 리습실행하게되면 오른쪽과 같이 치수가 겹치게 됩니다.
어디에 수정을 해야될지 헷갈리네요;; 수정부탁드립니다.
;TIP1402.LSP: UPDLI.LSP Update Dimension Spacing (c)1998, Ross Warren, Jr.
(defun UPDLIERR (ERR)
(princ “nFinished adjusting dimensions !”)
(setq
*error* OERROR
)
(princ)
(prin1)
)
(defun C:UPDLI ()
(setq OLDERROR *error* *error* UPDLIERR)
(setq
CECH (getvar “cmdecho”)
)
(setvar “cmdecho” 0)
(setq
ENT1 (entget (car (entsel “Select first dimension :”)))
)
(entmod ENT1)
(setq D10 (cdr (assoc 10 ENT1)))
(setq
D13 (cdr (assoc 13 ENT1))
)
(setq D50 (cdr (assoc 50 ENT1)))
(if (= D50 0)
(progn
(if (> (cadr D10) (cadr D13))
(progn
(while t
(setq
ENT2 (entget
(car
(entsel
“nSelect next dimension :”
)
)
)
)
(setq D210 (cdr (assoc 10 ENT2)))
(setq
D210 (list
(car D210)
(+
(cadr D10)
(*
(getvar “DIMSCALE”)
(getvar
“DIMDLI”
)
)
)
(caddr D210)
)
)
(setq
ENT2 (subst
(cons 10 D210)
(assoc 10 ENT2)
ENT2
)
)
(entmod ENT2)
(entupd (cdr (car ENT2)))
(setq
D10 (cdr (assoc 10 ENT2))
)
)
)
)
(if (< (cadr D10) (cadr D13))
(progn
(while t
(setq
ENT2 (entget
(car
(entsel
“nSelect next dimension :”
)
)
)
)
(setq D210 (cdr (assoc 10 ENT2)))
(setq
D210 (list
(car D210)
(-
(cadr D10)
(*
(getvar “DIMSCALE”)
(getvar
“DIMDLI”
)
)
)
(caddr D210)
)
)
(setq
ENT2 (subst
(cons 10 D210)
(assoc 10 ENT2)
ENT2
)
)
(entmod ENT2)
(entupd (cdr (car ENT2)))
(setq
D10 (cdr (assoc 10 ENT2))
)
)
)
)
)
)
(if (> D50 0)
(progn
(if (> (car D10) (car D13))
(progn
(while t
(setq
ENT2 (entget
(car
(entsel
“nSelect next dimension :”
)
)
)
)
(setq D210 (cdr (assoc 10 ENT2)))
(setq
D210 (list
(+
(car D10)
(*
(getvar “DIMSCALE”)
(getvar
“DIMDLI”
)
)
)
(cadr D210)
(caddr D210)
)
)
(setq
ENT2 (subst
(cons 10 D210)
(assoc 10 ENT2)
ENT2
)
)
(entmod ENT2)
(entupd (cdr (car ENT2)))
(setq
D10 (cdr (assoc 10 ENT2))
)
)
)
)
(if (< (car D10) (car D13))
(progn
(while t
(setq
ENT2 (entget
(car
(entsel
“nSelect next dimension :”
)
)
)
)
(setq D210 (cdr (assoc 10 ENT2)))
(setq
D210 (list
(-
(car D10)
(*
(getvar “DIMSCALE”)
(getvar
“DIMDLI”
)
)
)
(cadr D210)
(caddr D210)
)
)
(setq
ENT2 (subst
(cons 10 D210)
(assoc 10 ENT2)
ENT2
)
)
(entmod ENT2)
(entupd (cdr (car ENT2)))
(setq
D10 (cdr (assoc 10 ENT2))
)
)
)
)
)
)
(setvar “cmdecho” CECH)
(setq *error* OLDERROR)
(princ)
(princ)
(princ)
(prin1)
)
감사합니다..gif)