옵셋 리습 질문입니다.<br>옵셋 리습 질문입니다.
컨텐츠 정보
- 295 조회
- 2 댓글
- 0 추천
- 0 비추천
- 목록
본문
고수님 다시 올립니다 옵셋간격은 고수님이 수정해주셔서 잘쓰고 있습니다 레이어도 구문과 레이어 값이기억이 되게끔 수정좀 해주시면 안되겠습니까 레이어를 여러개를 만들어서 리습을 사용할려니 감당히 안되서요 부탁드리겠습니다 좋은하루 보내세요^^
(defun c:o1 ( / sv s a b d)
(setq sv (if (and (setq s (getcfg "AppData/offset")) (/= s "")) (strcat "<" s ">") ""))
(if (setq a (cond ((setq d (getdist (strcat "n옵셋 간격 " sv ":"))) (setcfg "AppData/offset" (rtos d)) d) (atof s)))
(while (setq b (entsel))
(command "offset" a b "_non" (mapcar '+ (cadr b) '(0 0)) "")
)
)
(princ)
)
옵셋0.5 에 레이어 2번까지 바꾸는데 수식을 고쳐서 성공했습니다 그런데 리습하나더 만들어서 레이어 3번으로 수정했는데 2번으로 자꾸 먹히네요 고수님 의견을 구합니다
(defun C:O7 (/ cmd d lyr obj ename elist)(vl-load-com)
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(if (null #oldist)
(setq #oldist 1)
)
(setq d 0.5);;;;;;;;;;;;;<–부분 수정(setq d (getreal (strcat "nSpectfy of distance <" (vl-princ-to-string #oldist) ">: ")))
(if (null d)
(setq d #oldist)(setq #oldist d)
)
(if (null #olnlayer)
(setq #olnlayer "2″)<– 수정 여기서 3번으로 하나 바꿔서 각2번레이어 3번레이어 각 2개의 리습으로 했는데 2번으로 만 인식이 되네요
)
(setq lyr "");;;;;;<-부분 수정 (setq lyr (strcase (getstring (strcat "nEnter Layer name <" #olnlayer ">: "))))
(if (null (read lyr))
(setq lyr #olnlayer)(setq #olnlayer lyr)
)
(while (null (tblsearch "LAYER" lyr))
(prompt (strcat "n Layer " lyr " does not exist."))
(setq lyr (strcase (getstring "nEnter layer name again: ")))
)
(setq obj (entsel "nChoose object: "))
(while (null obj)
(setq obj (entsel "nChoose object again: "))
)
(while (not (null obj))
(command "offset" d obj pause "")
(setq ename (entlast))
(while (not (null obj))
(setq elist (entget ename))
(setq elist (subst (cons 8 lyr) (assoc 8 elist) elist))
(entmod elist)
(setq obj (entsel "nChoose object: "))
(if (not (null obj))
(progn (command "offset" "" obj pause "")
(setq ename (entnext ename))
)
)
)
)
(prompt "nTo cancel command, press the ESC key. ")
(setvar "cmdecho" cmd)
(princ)
)
(defun lineerr(err)
(prompt "n*error*:")
(prin1 err)
(command "redraw")
(setq *error* olderr)
);** defun end **