비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 96898
다음
Lv.0
등록일: 2012-12-192012-12-19T04:24:43+09:00 2012-12-19T04:24:43+09:00카테고리: AutoCAD & CADian

평기어그리는 리습 수정 부탁 드립니다.

(defun pgr1(a b)   (sqrt (+ (expt a 2) (expt b 2))))
(defun pgr2(a b)   (sqrt (- (expt a 2) (expt b 2))))
(defun expt2  (a)  (expt   a   2))
(defun dtr (a)     (* pi (/ a 180.0)))
(defun rtd (a)     (/ (* a 180.0) pi))
(defun  sin1  (a)  (sin  (dtr  a)))
(defun  cos1  (a)  (cos  (dtr  a)))
(defun tan (a)     (/  (sin  a)   (cos  a)))
(defun tan1 (a)    (/  (sin1 a)   (cos1  a)))
(defun cot (a)     (/  (cos  a)   (sin  a)))
(defun cot1 (a)    (/  (cos1  a)  (sin1  a)))
(defun a-tan (a)   (/ (* (atan a) 180.0) pi))
;——————————————————————————-
(defun c:sgear()
   (graphscr)
 (defun *error* (msg)
    (princ “error: “)(princ msg)
  (setvar “osmode” os)            ;  OS모드 되돌림
 (princ)
 );;defun *error*
   (setq os(getvar “osmode”))
   (setvar “cmdecho” 0)
   (setvar “osmode” 32)
   (setq  bas (getpoint “nPick base point :”))
   (setq m (getreal “nEnter Module ?:”))
   (setq zz (getint “nEnter tooth of No.?:”))
   (setq z (float   zz))
   (setq deg1 (getreal “nEnter pressure angle (14.5 or 20)?:”))
   (initget   1    “S   O”)
   (setq   type   (getkword   “Enter  drawing type (Simple=S , Original=O)?:”))
;————————————————————————
   (setq d   (*   m    z))
   (setq d1  (+    d   (*   2     m)))
   (setq d2  (-    d   (*   2.5   m)))
   (setq p   (/   (*   pi     d)    z))
   (setq dp  (/   z    d))
   (setq r1  (/   d    8))
   (setq deg2(/   180    z))
   (setq deg3(/   90     z))
   (setq dd1 (/   d      2))
   (setq dd2 (*   (cos1  deg1)  (/    d    2)))
   (setq dd3 (/  (-   (+  (expt2  dd1)  (expt2   dd2))  (expt2  r1))
             (*   (*   2   dd1)   dd2)))
   (setq dd4 (-   (expt2  (/   1   dd3))  1))
   (setq deg4(a-tan  (sqrt  dd4)))
   (setq deg5(-   deg4   deg3))
   (setq dd5 (/   d1     2))
   (setq dd6 (/  (-   (+  (expt2  dd5)  (expt2   dd2))  (expt2  r1))
             (*   (*   2   dd5)   dd2)))
   (setq dd7 (-   (expt2  (/   1   dd6))  1))
   (setq deg6(a-tan  (sqrt   dd7)))
   (setq deg7(-   deg4   deg6))
   (setq deg8(+   deg2   (*   2   deg7)))
   (setq deg9(-   deg3   deg7))
   (setq w   (*   (*   pi   d1)   (/   deg8   360)))
   (setq r2  (/   w   7))
;————————————————————————
   (setq pt1 (polar   bas   (dtr     (+    90  (+  deg3   deg1)))
             (*   (cos1  deg1)  (/    d    2))))
   (setq pt2 (polar   bas   (dtr     (+    90   deg3))   (/   d   2)))
   (setq pt3 (polar   bas   (dtr      90)    (/   d1   2)))
   (setq pt4 (polar   bas   (dtr      90)    (/   d2   2)))
   (setq pt5 (polar   bas   (dtr     (+    90   deg2))   (/   d2   2)))
   (setq pt6 (polar   bas   (dtr     (-    90     deg5))
             (*   (cos1  deg1)  (/    d    2))))
   (setq pt7 (polar   bas   (dtr     (+    90   deg9))   dd5))
   (setq pt8 (polar   bas   (dtr     0)    (*   dd5   1.1)))
   (setq pt9 (polar   bas   (dtr    90)    (*   dd5   1.1)))
   (setq pt10(polar   bas   (dtr   180)    (*   dd5   1.1)))
   (setq pt11(polar   bas   (dtr   270)    (*   dd5   1.1)))
;————————————————————————
   (setvar “osmode” 0)
 (command  “layer”   “s” “1” “”) ;중심선
   (command  “line”    pt8     pt10       “”)    
   (command  “line”    pt9     pt11       “”)
   (command  “circle”   bas  “d”   d)    
(if  (=  type    “O”)
  (progn
   (command  “layer”   “s” “0”  “”) ;외형선
   (command  “arc”   pt3   “c”   bas    pt7)    (setq     ent1     (entlast))
   (command  “arc”   pt4   “c”   bas    pt5)    (setq     ent2     (entlast))
   (command  “arc”   pt7    “c”   pt6    “a”   100)   (setq     ent3     (entlast))
   (command  “fillet”    “r”   r2)
   (command  “fillet”    (list   ent2  pt5)  (list   ent3  pt2))  
                                                (setq     ent4     (entlast))
   (command  “mirror”   ent1   ent2   ent3   ent4  “”   bas   pt9   “”)
            (setq   ent5  (entnext   ent4))  (setq   ent6   (entnext   ent5))
            (setq   ent7  (entnext   ent6))  (setq   ent8   (entnext   ent7))
   (command  “pedit”   ent1  “y”   “j”   ent2   ent3   ent4   ent5   ent6
                       ent7    ent8    “”    “”)    (setq     ent9     (entlast))
   (command  “array”   ent9   “”   “p”   bas   zz   360   “”)
  )  ;e  progn
 (progn
 (command  “layer”   “s”   “0”   “”) ;외형선
   (command  “circle”   bas  “d”   d1)
  (command  “layer”   “s”   “50”  “”) ; 가상선
   (command  “circle”   bas  “d”   d2)       
   )  ;e  progn
)  ;e  if
 (setvar “osmode” os) 
   (princ)
)

======================================================================
위 리습은 평기어 그리는 리습인데 기어 잇빨이 하나만 그려 집니다 .
array(원형배열)로 그려 져야 하는데 말이죠
 또하나는 축 지름지정과 키도 같이 그려지는 옵션이 추가 되었으면 합니다.
고수님들 수정부탁 드립니다,



  • 0
  • 54 조회
공유
  • Facebook

    관련 있는 질문들

    • 직선의 한 지점에서 원의 최대거리 선 그리기
    • 캐드 모깎기 질문 드립니다
    • 블럭깰때 가시성으로 가려진 블럭들 처리
    • PDF 출력

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved