자료실 Q&A
글 수 2,319
||||밑에 계신분 처럼 저또한 r14에서는 되는데
2000버젼 에서는 안되요
리습은 까막눈이라서...흑흑
항상 쓴던건데 안되니까 답답하구 미쵸용
고수님 제발 부탁드려요~네
명령:
MSDIM
Base point { int } : ?
Other point { PER } : ?
Other point { PER } : ?
Dim text< 508>:?
error:결합할 객체가 부정확함: T
2005에서 오류메세지가 이렇께 뜨는데요
리습점 고쳐주세요
(DEFUN C:mSDIM(/ pp pp1 a1 t1 t2 t3 tt d1 appn ppa ppb ppc ang ppt
ppta1 ppta2 ppta3 ppta4)
(VARB)
(VARB2)
(SETVAR "OSMODE" 512)
(INITGET 1)
(SETQ PP (GEtpoINT "\n Base point { int } : ? "))
(setq pp1 0 ppa pp ppta1 nil ppta2 nil ppta3 nil ppta4 nil)
(while (/= pp1 nil)
(SETVAR "OSMODE" 128)
(SETQ PP1 (GETPOINT PP "\n Other point { PER } : ? "))
(if (/= pp1 nil) (progn
(setq A1(angle pp pp1))
(setq t1(distance pp pp1))
(setq d1 (rtos (abs (* (cos (- a1 (angle pP pP1)))(distance pP pP1)))))
(SETVAR "OSMODE" 0)
(COMMAND "INSERT" (strcat l#b "ejDOT") PP1 DS "" (RTD A1))
(setq ppta2 (append ppta2 (list d1)))
(setq ppta1 (append ppta1 (list t1)))
(setq ppta3 (append ppta3 (list pp1)))
(setq ppta4 (append ppta4 (list pp)))
(if (/= pp1 nil) (setq appn (length ppta3) ppb (last ppta3)) )
(setq pp pp1)
)
)
)
(if (/= ppta2 nil) (progn
(setq pp1 ppb ppc 0)
(setq appn (length ppta2))
(SETQ ANG (ANGLE PPa PP1))
(COMMAND "LAYER" "S" #S "")
(SETVAR "OSMODE" 0)
(repeat (fix appn)
(setq d1(nth ppc ppta2))
(setq t1(nth ppc ppta1))
(setq tt(nth ppc ppta4))
(setq t2(/ t1 2))
(if (= ppc 0)
(setq t3(polar ppa ang t2))
(setq t3(polar tt ang t2))
)
(setq t3(polar t3 (+ (dtr 90) ang) (* ds 1.2)))
(princ (strcat "\n Dim text< "(eval d1)">:?"))
(setq ppt (getstring t))
(if (= ppt "") (setq ppt d1))
(redimt (atof ppt))
(setq ppt dim)
(COMMAND "TEXT" "e" l#trs "c" t3 #TXTS (RTD ANG) ppt)
(setq ppc (1+ ppc))
)
(COMMAND "LAYER" "d" #D "")
(COMMAND "INSERT" (strcat l#b "ejDOT") PPa DS "" (RTD A1))
(command "line" ppa pp1 "")
)
)
(setq msdim nil)
(VARB1)
)
(defun redimt(dd1 / pp1 pp2 stq1 stq2 k pp3 s t)
(setvar "dimzin" 8)
(setq pp1 (- dd1 (fix dd1)) pp2 (rtos (- dd1 pp1) 2 0)
stq1 (fix (/ (strlen pp2 ) 3)) stq2 (fix (rem (strlen pp2 ) 3.0))
dim (substr pp2 1 stq2) k (+ stq2 1)
)
(repeat stq1
(if (= #comma "1")
(progn (if (/= dim "") (setq dim (strcat dim "," (substr pp2 k 3)))
(setq dim (strcat dim (substr pp2 k 3)))
))
(progn (if (/= dim "") (setq dim (strcat dim (substr pp2 k 3)))
(setq dim (strcat dim (substr pp2 k 3)))
))
)
(setq k (+ k 3))
)
(if (/= pp1 0) (progn
(setvar "dimzin" 12)
(setq pp3 (rtos pp1))
(setq dim (strcat dim pp3))
))
(setvar "dimzin" 8)
)
(defun c:dd()
(c:msdim))
2000버젼 에서는 안되요
리습은 까막눈이라서...흑흑
항상 쓴던건데 안되니까 답답하구 미쵸용
고수님 제발 부탁드려요~네
명령:
MSDIM
Base point { int } : ?
Other point { PER } : ?
Other point { PER } : ?
Dim text< 508>:?
error:결합할 객체가 부정확함: T
2005에서 오류메세지가 이렇께 뜨는데요
리습점 고쳐주세요
(DEFUN C:mSDIM(/ pp pp1 a1 t1 t2 t3 tt d1 appn ppa ppb ppc ang ppt
ppta1 ppta2 ppta3 ppta4)
(VARB)
(VARB2)
(SETVAR "OSMODE" 512)
(INITGET 1)
(SETQ PP (GEtpoINT "\n Base point { int } : ? "))
(setq pp1 0 ppa pp ppta1 nil ppta2 nil ppta3 nil ppta4 nil)
(while (/= pp1 nil)
(SETVAR "OSMODE" 128)
(SETQ PP1 (GETPOINT PP "\n Other point { PER } : ? "))
(if (/= pp1 nil) (progn
(setq A1(angle pp pp1))
(setq t1(distance pp pp1))
(setq d1 (rtos (abs (* (cos (- a1 (angle pP pP1)))(distance pP pP1)))))
(SETVAR "OSMODE" 0)
(COMMAND "INSERT" (strcat l#b "ejDOT") PP1 DS "" (RTD A1))
(setq ppta2 (append ppta2 (list d1)))
(setq ppta1 (append ppta1 (list t1)))
(setq ppta3 (append ppta3 (list pp1)))
(setq ppta4 (append ppta4 (list pp)))
(if (/= pp1 nil) (setq appn (length ppta3) ppb (last ppta3)) )
(setq pp pp1)
)
)
)
(if (/= ppta2 nil) (progn
(setq pp1 ppb ppc 0)
(setq appn (length ppta2))
(SETQ ANG (ANGLE PPa PP1))
(COMMAND "LAYER" "S" #S "")
(SETVAR "OSMODE" 0)
(repeat (fix appn)
(setq d1(nth ppc ppta2))
(setq t1(nth ppc ppta1))
(setq tt(nth ppc ppta4))
(setq t2(/ t1 2))
(if (= ppc 0)
(setq t3(polar ppa ang t2))
(setq t3(polar tt ang t2))
)
(setq t3(polar t3 (+ (dtr 90) ang) (* ds 1.2)))
(princ (strcat "\n Dim text< "(eval d1)">:?"))
(setq ppt (getstring t))
(if (= ppt "") (setq ppt d1))
(redimt (atof ppt))
(setq ppt dim)
(COMMAND "TEXT" "e" l#trs "c" t3 #TXTS (RTD ANG) ppt)
(setq ppc (1+ ppc))
)
(COMMAND "LAYER" "d" #D "")
(COMMAND "INSERT" (strcat l#b "ejDOT") PPa DS "" (RTD A1))
(command "line" ppa pp1 "")
)
)
(setq msdim nil)
(VARB1)
)
(defun redimt(dd1 / pp1 pp2 stq1 stq2 k pp3 s t)
(setvar "dimzin" 8)
(setq pp1 (- dd1 (fix dd1)) pp2 (rtos (- dd1 pp1) 2 0)
stq1 (fix (/ (strlen pp2 ) 3)) stq2 (fix (rem (strlen pp2 ) 3.0))
dim (substr pp2 1 stq2) k (+ stq2 1)
)
(repeat stq1
(if (= #comma "1")
(progn (if (/= dim "") (setq dim (strcat dim "," (substr pp2 k 3)))
(setq dim (strcat dim (substr pp2 k 3)))
))
(progn (if (/= dim "") (setq dim (strcat dim (substr pp2 k 3)))
(setq dim (strcat dim (substr pp2 k 3)))
))
)
(setq k (+ k 3))
)
(if (/= pp1 0) (progn
(setvar "dimzin" 12)
(setq pp3 (rtos pp1))
(setq dim (strcat dim pp3))
))
(setvar "dimzin" 8)
)
(defun c:dd()
(c:msdim))