機械行業在使用CAD的時候,常常會需要繪制圓的漸開線。作為一名CAD設計的愛好者,我對這個問題也非常感興趣。查找一些資料,得到了一些基本的概念, 並找到一個通過LISP程序來實現的方法。接下來我就和大家分享一下,如何用中望CAD來繪制圓的漸開線。
圓的漸開線:把一條沒有彈性的細繩繞在一個定圓上,拉開繩子的一端並拉直,使繩子與圓周始終相切。繩子端點的軌跡是一條曲線。這條曲線叫做圓的漸開線。這個定圓叫做漸開線的基圓。
圓的漸開線廣泛應用於齒輪的嚙合,齒輪的受力總是沿著與基圓相切的方向。標准齒輪分度圓的壓力角為20度,齒輪上的漸開線壓力角不會超過80度。在下面程序中,為了直觀,漸開線的壓力角設置為360度。
Lisp程序如下:
(defun C:jkx ()
(setvar "_ZW_XSDSCMDPAUSE" 1)
(setq pi1 (/ pi 180))
(setq po0 (getpoint " n 請輸入中心點:"))
(if (= po0 nil)
(setq po0 (list 0 0 0))
)
(SETQ d (GETREAL "n 請輸入分度圓直徑:"))
(if (= d nil)
(setq d 100)
)
(setq step (getreal "n 漸開線精細度(0<精細度<=10):"))
(if (= step nil)
(setq step 1)
)
(setq rd (/ d 2))
(setq os (getvar "osmode"))
(setvar "osmode" 0)
(command "UCS" "O" po0)
(command "CIRCLE" "0,0" rd)
(SETQ R (* rd (COS (* PI1 20)))) ;標准齒輪分度圓的壓力角為20度
(SETQ ST 0)
(SETQ STR (* PI1 ST))
(SETQ X (* R (+ (COS STR) (* STR (SIN STR)))))
(SETQ Y (* R (- (SIN STR) (* STR (COS STR)))))
(SETQ XY (LIST X Y))
(COMMAND "PLINE" XY)
(SETQ ST (+ st step))
(WHILE (<= ST 360) ;齒輪上的漸開線壓力角
(SETQ STR (* PI1 ST))
(SETQ X (* R (+ (COS STR) (* STR (SIN STR)))))
(SETQ Y (* R (- (SIN STR) (* STR (COS STR)))))
(SETQ XY (LIST X Y))
(COMMAND XY)
(SETQ ST (+ st step))
)
(command "")
(setvar "osmode" os)
(command "UCS" "P")
)
繪制結果如下圖: