리습문의
안녕하십니까
도저히 제가 책보고 공부하다가 안되서 재 질문드립니다..
1달째 하다가 포기….입니다…
인터넷에서 고마운 x값하고 로테이트값을 복원해서 미러한것 복원해주는 리습을 만들어 주셨는데.
근데..각각 따로 되어 잇어서염..
따로 되어 있어서 하나로 묶을줄 몰라서염.. 2가지의 변수를 하나의 명려어로 블럭을 복원해야 하거든요..
혹시 아시는분 답변 부탇드립니다
블럭을 미러 했을시 글자나 형상이 반대로 된느데..
다시 원복하는 리습입니다
블럭을 list해 보면
X scale factor 1.00
Y scale factor 1.00
rotation angle 0
Z scale factor 1.00
미러된건 x값이 -1로 됩니다
로테이트 한건 180도 됩니다
하여튼 이런걸 리습으로 미러한 블럭을 복원하는건뎅…
제가 리습을 몰라서염..
아래 1.2번 두개의 리습입니다..
하나로 만들고싶습니다
1……………..
(defun C:mix (/ e1 nl n i chm e2 t0 tt1 tts1 ed x41 key41)
(prompt ” = 미러된블럭을 되돌림….. “)
(setq i 0)
(setq e1 (ssget))
(if e1
(progn
(setq nl (sslength e1))
(setq n (- nl 1))
(while (<= i n)
(setq ed (entget (setq e2 (ssname e1 i))))
(setq x41 (cdr (assoc 41 ed)))
(if (< x41 0.0)
(progn
(setq x41 (sqrt (* x41 x41)))
(setq key41 T)
)
(setq key41 nil)
)
(if key41
(progn
(setq ed (subst (cons 41 x41) (assoc 41 ed) ed))
(entmod ed)
(setq key41 nil)
)
)
(setq i (1+ i))
)
)
)
)
2………………….
(defun C:R0 (/ e1 nl n i chm e2 t0 tt1 tts1 ed)
; (setq olderr *error*
; *error* TEXERROR
; chm 0
; )
(prompt ” = Block’s Angle -> [0] “)
(setq i 0)
(setq e1 (ssget))
(if e1
(progn
(setq nl (sslength e1))
(setq n (- nl 1))
(while (<= i n)
(setq ed (entget (setq e2 (ssname e1 i))))
(setq ed (subst (cons 50 0) (assoc 50 ed) ed))
(entmod ed)
(setq i (1+ i))
)
)
)
)
고캐드 파일 첨부 기능 에러나네요 정말 관리 못한다…
답변 감사합니다.덕분에 치수넣기가 한결 간편 해졌습니다.