프로그램
캐드 분류

옵셋 리습 질문입니다.<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 **

관련자료

댓글 2 / 1 페이지
전체 7,492 / 369 페이지
RSS
번호
제목
이름

최근글


새댓글


알림 0