当前位置:文档之家› CAD螺纹画法#精选.

CAD螺纹画法#精选.

(if (>= pitch 0.35) (setq nom1 (+ nom1 (nth n 6H)))
)))
)
(if (= inout "E")
(if (< pitch 0.35) (setq nom1 (+ nom1 (nth n h6)))
(if (>= pitch 0.35) (setq nom1 (+ nom1 (nth n g6)))
)))))))))))))
(if (= inout "I")
(if (< pitch 0.25) (setq nom1 (+ nom1 (nth n 4H))) ; tolerance field to use depending on pitch
(if (< pitch 0.35) (setq nom1 (+ nom1 (nth n 5H)))
;-------------------------------------------------------------------
; Gets the nominal size, tpi, and total length
; then calculates a bunch of geometry points.
(setq nom1 (getdist "\n螺纹外径: "))
(initget 7) ; no enter, not zero, not negative
(setq pitch (getreal "\n螺距: "))
(initget 1) ; no enter
(setq cpt (getpoint "起始圆心坐标: "))
;
; Note, the threads created by this can make for some rather big files,
; so make sure your system is up to it. Also, it might take a while
; to union all of the single threads together so be patient.
(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))
;
;-------------------------------------------------------------------
(defun myerror (s)
(if (/= s "function cancelled") (princ (strcat "\nError: " s)))
(initget 1 "I E")
(setq inout (getkword "\n内螺纹al or External thread (I/E): "))
(initget "1/16 1/8 1/4 3/8 1/2 5/8 3/4 7/8 1 1-1/8 1-1/4 1-1/2 1-3/4 2 2-1/4 2-1/2 2-3/4 3 3-1/2 4 4-1/2 5 5-1/2 6")
(initget 3) ; no enter, not zero, not negative
(setq length (getdist "\n螺纹长度: "))
; add tolerance to nominal diameter
(if (<= nom1 3) (setq n 0) ; position in tolerance field depending on nominal diameter
))
)
(setq h (* 0.866025 pitch)) ; h=0.866025
(setq nom (+ nom1 (/ h 4))) ; h/8
(setq nom2 (- nom (* h minordiafactor))) ; inside diameter
(if (<= nom1 120) (setq n 7)
(if (<= nom1 180) (setq n 8)
(if (<= nom1 250) (setq n 9)
(if (<= nom1 315) (setq n 10)
(if (<= nom1 400) (setq n 11)
(if (<= nom1 500) (setq n 12)
(setq osm (getvar "osmode"))
(setq ocmd (getvar "cmdecho"))
(setq minordiafactor 1.5)
(initget 1 "I E")
(setq inout (getkword "\n内螺纹或外螺纹(I/E): "))
(initget 7) ; no enter, not zero, not negative
; All running osnaps are turned off as well.
;-------------------------------------------------------------------
(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))
; - Gas thread straight inside thread only, ISO 7-1 (equal to DIN 2999 and NEN 3258)
; - Metric inside and outside thread, NEN 81 and NEN 1870, geometrically 100% correct
(setvar "cmdecho" ocmd)
(setvar "osmode" osm)
(setq *error* olderr)
(princ)
)
(defun c:ISO228 (/ nom pitch length threadangle cpt inout minordiafactor nom1 nom2 size n s olderr)
(setq threadangle (+ 27.5 0)) ; threadangle
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(drawthread nom nom1 nom2 pitch length threadangle cpt)
(princ "\nDone")
;;;;(setq olderr *error*
;;;; *error* myerror)
(setq osm (getvar "osmode"))
(setq ocmd (getvar "cmdecho"))
(setq minordiafactor 1.6666666667)
(Princ "\nThread according to IN ISO 228, NEN 176")
将下面一段代码复制到记事本并另存为“螺纹.lsp”文件,将该"螺纹.lsp"拷贝到你电脑的硬盘里。打开CAD,工具,加载应用程序,选"螺纹.lsp"文件,在命令行输入metric回车,便可以生成螺纹,再另外可以和你的圆柱或者孔进交集或并集,便生成了内螺纹或者外螺纹
;-------------------------------------------------------------------
(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 pitch (/ 25.4 n))
(initget 1) ; no enter
(setq cpt (getpoint "Start center point: "))
(initget 3) ; no enter, not zero
(setq length (getdist "\nTotal thread length in Y direction: "))
; THREAD.LSP Creates 3D solid (ACIS) threads. 01/9/1999
;
; Corrected
;
; written by: Robbert Teggelove
;
;-------------------------------------------------------------------
相关主题