CAFE

★ CAD/LISP/분과 Q&A

[[Lisp]]TAP , DR' 치수기입 리습만들고 싶습니다.

작성자유지훈|작성시간11.04.27|조회수867 목록 댓글 2

 

성심 성의껏 질문을 작성하여 주세요, 대충하시면 답변도 대충작성합니다.^^

 

 - 제목 작성시 금지어

   만들어주세요? 해주세요? 안되는데 이렇게 변경해주세요? 등등

- 특정분과 질문은 제목에 분과삽입 [건축] 

   좋은예) [분과]무엇에 대해 문의합니다. /[분과]B로 바꾸는 방법을 알고싶습니다.

- 말머리 필수 

 

① CAD 종류   : AUTOCAD

② VERSION   : 2009

③ 운영 체제    : 윈도우XP

  

④ 질문내용 및 스크린샷(동영상)

    ;;;;;;;;;;Tap 치수기입;;;;;;;
(defun c:TE(/ #os #a #b dia k dp n txt ep ep1 ep2 p2 df)
(setvar "cmdecho" 0)
(setq ort (getvar "orthomode"))
(setq cla (getvar "clayer"))
(setq df (getvar "dimlfac" ))
(setq #os (getvar "osmode"))
(setvar "orthomode" 0)
(setvar "osmode" 512)
 (if (= nil (tblsearch "layer" "3"))
   (command "layer" "m" 3 "c" 3 "" "l" "continuous" "" "")
   ); if
(setvar "clayer" "3")
(setq #a (getpoint "\n TAP 외경을 선택하세요:"))
(setq p2 (getpoint #a "\n 치수 위치를 선택하세요:"))
(setvar "osmode" #os)
(if (setq #b (osnap #a "cen"))
 (progn
  (setq dia (fix (atof (rtos (* (* (distance #a #b) 2.0) df)2 0)))) ;; 0.5이상이면 1로인식... 여기서 df(dimlfac)를 적용함
  (initget "T D")
  (setq k (getkword "\n관통 ... < [T]hru = enter > / [D]p : ")
 );progn
 (if (= k "D")
 (progn
     (setq dp (getint (strcat "\n깊이< " (itoa (* dia 2)) " >: "))) ;;DP 미지정시 탭 지름의 2배로 인식
  (if (= dp nil) (setq dp (* dia 2)))
     );progn
);if
(setq n (getint "\n수량< 1 = Enter >: ")) 
(if (or (= n nil)(= n "")(= n "1"))
  (progn
    (if (or (= k nil) (= k "T")) ; T,1
      (setq txt (strcat "M" (itoa dia) " TAP THRU")))   
    (if (= k "D")  ;D,1
   (setq txt (strcat "M" (itoa dia) " TAP DP" (itoa dp))))
  )  ; progn
  (progn
    (if (or (= k nil) (= k "T")) ; T,2~  
   (setq txt (strcat (itoa n) "-" "M" (itoa dia) " TAP THRU")))
  
    (if (= k "D") ;D,2~  
      (setq txt (strcat (itoa n) "-" "M" (itoa dia) " TAP DP" (itoa dp))))
  ) ; progn
 );if
(setvar "osmode" 0);;;osnap 없애기
(command "leader" #a p2 "a" txt "");;;;문자가 위로 나옴
;(command "qleader" ep ep1 "" "0" txt "") ;;;;문자가 옆으로 나옴
(setvar "osmode" 16383)
(command "layer" "s" "0" "")
(setvar "orthomode" ort)
)
)
(princ)
)

  위 리습을 수정하면 어떻게 안될까 싶어서 해보았는데 아무리해도 못하겠습니다.ㅠㅠ

 첫 물음에 T를 선택하면 TAP , D를 선택하면 DR'

 두번째에 깊이 물어보는거는 안나왔으면 좋겠습니다.

 갯수물어보는거는 나와야 해요..

최종적으로 캐드화면에 표현되는 것은

 예) 선택한 지름은4 ,갯수 입력에 2입력시

  TAP 선택시 2-M4 TAP THRU

  DR' 선택시 2-Ø4 DR' THRU

마지막으로...선택한지름이 소수 첫째자리까지 내려가면 예)5.5Ø라면 화면에 소수첫째자리 까지 표시되었으면 합니다. 부탁드립니다....ㅠㅠ


 

 

 

 

 

 

 

⑤ 파일첨부 (LISP/DWG) - DWG 첨부시 보다 정확한 답변을 얻을수 있습니다.

 

 

 

 

※ 유의사항

 - ①말머리 : 말머리를 달아야 구분이 쉽겠죠^^

 - ②Screenshot : 이해를 돕기위해 삽입요망.

 - ③파일 첨부 : 상위버전에서 테스트할 파일이 아니면 가급적 하위버전으로 저장후 첨부.

                          해당리습/해당파일(DWG) 도 같이 첨부하여 주세요.

 - ④       목 : 질문 내용 반영(개략적인 내용),       예) 해치를 만들고 싶어요, pline을 연결할려면?

 - ⑤질문글 삭제금지 : 질문후 댓글이 달린글은 삭제금지.

    여러 리플러들이 소중한 시간을 내어서 고민한후 댓글을 작성한 이상 "강력조치" 토록 하겠음. 

 

※ 정답만이 댓글은 아닙니다. 그 답이 맞던 틀리던 그건 그 댓글로서 존중되어야 합니다.

    회원님들이 글을 읽었다는것과 댓글을 달았다는건 그만큼 관심을 가지고 있고 또 그 답을 해주기 위해

    검색도 해보고 도움말도 보고 고민도 하는 일련의 과정을 거치면서 나오기 때문이죠.

    이에 대한 고마움과 감사함을 모르는 테러행위(?)는 없었으면 합니다.

 

 

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자아임피러 | 작성시간 11.04.27 이거 되긴 되는거예요??
  • 작성자3:16 | 작성시간 11.04.27 원본을 올려주세요..;;

    괄호두 안맞는데... 이럼 확인이 어려워집니다..;;
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼