齒輪輪齒漸開線、螺栓、彈簧的autolsp源程序

   時間:2014-03-11 15:09:02
齒輪輪齒漸開線、螺栓、彈簧的autolsp源程序簡介
     一、齒輪輪齒漸開漸開線 (defun c:gear(/) ( setq p0 (getpoint"……
齒輪輪齒漸開線、螺栓、彈簧的autolsp源程序正文
   一、齒輪輪齒漸開漸開線
(defun c:gear(/)
(
setq
p0 (getpoint"輸入齒輪中心p0: ")
m (getreal"輸入齒輪模數M: ")
z (getint"輸入齒輪齒數Z: ")
ha 1
c 0.25
a (/ pi 9)
ra(/ (* (+ z (+ ha ha)) m) 2)
rf(/ (* (- z (+ (+ ha ha) c)) m) 2)
r(/ ( * m z) 2)
rb ( * r (cos a))
ri rb
ang 0
g (polar p0 ang rb)
)
(command "circle" p0 ra)
(command "circle" p0 rf)
(command "circle" p0 r)
(command "line" g)
(while (< ri ra)
(setq
ang ( + ang(/ pi 360))
ri ( / rb (cos ang))
cta ( - (/ (sin ang) (cos ang)) ang)
g(polar p0 cta ri)
)
(command g)
)
(command )
)
二、螺旋源程序
(defun errMsg (s)
(if (/= s "function cancelled") (princ (strcat "\nError: " s)))
; 當命令執行時出現錯誤
(setvar "cmdecho" ocmdold) ; 例如用戶按下了CTRL + C
(setvar "osmode" osmold)
(setq *error* olderr) ; 恢復舊的錯誤處理
(princ)
)
(defun c:3Dthread (/ radouter threadpitch threadlength threadangle
ptStart innerdiafactor radmid radinner ocmdold osmold 4H 5H 6H h6 g6)
;-------------------------------------------------------------------
; 獲取公制外徑大小、螺距總長
; 然後計算一系列幾何點
; 並且關閉對象捕捉、命令回顯
;-------------------------------------------------------------------
(setq 4H (list 0.0015 0.002 0.002 0.0025 0.003 0.0035 0.004 0.005 0.006 0.007 0.008 0.009 0.010))
(setq 5H (list 0.002 0.0025 0.003 0.004 0.0045 0.0055 0.0065 0.0075 0.009 0.010 0.0115 0.0125 0.0135))
(setq 6H (list 0.003 0.004 0.0045 0.0055 0.0065 0.008 0.0095 0.011 0.0125 0.0145 0.016 0.018 0.020))
(setq h6 (list -0.003 -0.004 -0.0045 -0.0055 -0.0065 -0.008 -0.0095 -0.011 -0.0125 -0.0145 -0.016 -0.018 -0.020))
(setq g6 (list -0.005 -0.008 -0.0095 -0.0115 -0.0135 -0.017 -0.0195 -0.023 -0.0265 -0.0295 -0.033 -0.036 -0.0515))
(setq osmold (getvar "osmode")) ; 保存調用前的osmode系統變數值
(setq ocmdold (getvar "cmdecho")) ; 保存調用前的cmdecho系統變數值
(setvar "osmode" 0) ; 關閉對象捕捉
(setvar "cmdecho" 0) ; 關閉命令的回顯
(setq innerdiafactor 1.5) ; 設置內徑係數
(initget 7) ; radmid 必須非零、非空、非負
(setq radmid (getdist "\n公制外徑: "))
(initget 7) ; threadpitch 必須非零、非空、非負
(setq threadpitch (getreal "\n螺距: "))
(initget 1) ; ptStart 必須非空
(setq ptStart (getpoint "\n起始點: "))
(initget 3) ; threadlength 必須非零、非空、非負
(setq threadlength (getdist "\n螺紋總長(Y方向): "))
; 對公制外徑添加公差
(if (<= radmid 3) (setq order 0) ; 根據公制外徑確定公差帶中位置
(if (<= radmid 6) (setq order 1)
(if (<= radmid 10) (setq order 2)
(if (<= radmid 18) (setq order 3)
(if (<= radmid 30) (setq order 4)
(if (<= radmid 50) (setq order 5)
(if (<= radmid 80) (setq order 6)
(if (<= radmid 120) (setq order 7)
(if (<= radmid 180) (setq order 8)
(if (<= radmid 250) (setq order 9)
(if (<= radmid 315) (setq order 10)
(if (<= radmid 400) (setq order 11)
(if (<= radmid 500) (setq order 12)
)))))))))))))
(if (< threadpitch 0.25) (setq radmid (+ radmid (nth order 4H))) ; 根據螺距確定公差帶
(if (< threadpitch 0.35) (setq radmid (+ radmid (nth order 5H)))
(if (>= threadpitch 0.35) (setq radmid (+ radmid (nth order 6H)))
)))
(setq h (* 0.866025 threadpitch)) ; 計算齒高
(setq radouter (+ radmid (/ h 4))) ; 計算外徑
(setq radinner (- radouter (* h innerdiafactor))) ; 計算內徑
(setq threadangle (+ 30 0)) ; 計算齒頂角
(auxithread radouter radmid radinner threadpitch threadlength threadangle ptStart) ; 調用繪製三維螺紋的子函數
(princ "\n三維螺紋創建完成")
(setvar "osmode" osmold) ; 恢復調用前的osmode系統變數值
(setvar "cmdecho" ocmdold) ; 恢復調用前的cmdecho系統變數值
(princ)
)
(defun auxithread (radouter radmid radinner threadpitch th

[齒輪輪齒漸開線、螺栓、彈簧的autolsp源程序],你可能也喜歡

  • din5480漸開線花鍵
  • 齒輪傳動機構
  • 齒輪減速機構
  • 齒輪省力機構
  • 周轉齒輪機構
  • 齒輪機構設計
  • 漸開線齒輪
  • 漸開線函數表
  • 漸開線栓槽
  • 漸開線方程式
  • autocad彈簧怎畫
  • autocad畫彈簧
  • 彈簧減震器
  • 拉伸彈簧 cad
  • 扭力彈簧應用
  • 六角螺栓規格
  • 低頭內六角螺栓
  • 六角螺栓尺寸
  • jis六角螺栓
  • m60六角螺栓
  • 工序流程圖
  • 程式啟動順序
  • 課程設計步驟的順序
  • 模擬市民3主程式序號
  • 汽車生產流程順序
Bookmark the permalink ,來源:
One thought on “齒輪輪齒漸開線、螺栓、彈簧的autolsp源程序