我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD新聞

CAD中3D的螺紋畫法

時間:2011-08-23 12:51:08 來源:未知

;-------------------------------------------------------------------
; THREAD.LSP Creates 3D solid (ACIS) threads. 01/9/1999
;
; Corrected
;
; written by: Robbert Teggelove
;
;-------------------------------------------------------------------
;
; This is a way to make 3D solid external threads in
; AutoCAD R13 and R14.
; You can make threads according to:
; - ISO 228 (equal to DIN 228 and NEN 176)
; - 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
;
; There is no error trapping or anything like that.
;
; The program works by creating a single thread
; and then arraying it out to the proper length. The threads are
; drawn a little longer and then sliced off to the correct length.
; This program only draws the thread, you're on your own drawing
; the rest of the screw or internal thread.
;
; 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.
;
;-------------------------------------------------------------------


(defun myerror (s)

(if (/= s "function cancelled") (princ (strcat "nError: " s)))
(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 olderr *error*
;;;; *error* myerror)
(setq osm (getvar "osmode"))
(setq ocmd (getvar "cmdecho"))
(setq minordiafactor 1.6666666667)
(Princ "nThread according to DIN ISO 228, NEN 176")
(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")
(setq size (getkword "nNominal size, 1/16' to 6' (for example: 1/8 or 1-1/4): "))
(setq size "1") ; demo version only 1
(if (= size "1") (if (= inout "E") (setq nom1 33.069 n 11) (setq nom1 33.568 n 11)))
(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: "))

(setq h (* 0.96049 pitch)) ; h according to ISO 228
(setq nom (+ nom1 (/ h 3))) ; biggest outside diameter
(setq nom2 (- nom (* h minordiafactor))) ; inside diameter
(setq threadangle (+ 27.5 0)) ; threadangle

(setvar "osmode" 0)
(setvar "cmdecho" 0)

(drawthread nom nom1 nom2 pitch length threadangle cpt)

(princ "nDone")
(setvar "osmode" osm)
(setvar "cmdecho" ocmd)
(setq *error* olderr)
(princ)
)


; Next routine makes metric thread according to NEN 1870

(defun c:Metric (/ nom pitch length threadangle cpt inout minordiafactor nom1 nom2 ocmd osm 4H 5H 6H h6 g6 tol)

;-------------------------------------------------------------------
; Gets the nominal size, tpi, and total length
; then calculates a bunch of geometry points.
; 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))
(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 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
(setq nom1 (getdist "n 螺紋外徑: "))

(initget 7) ; no enter, not zero, not negative
(setq pitch (getreal "n 螺距: "))

(initget 1) ; no enter
(setq cpt (getpoint " 起始圓心坐標: "))
(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
(if (<= nom1 6) (setq n 1)
(if (<= nom1 10) (setq n 2)
(if (<= nom1 18) (setq n 3)
(if (<= nom1 30) (setq n 4)
(if (<= nom1 50) (setq n 5)
(if (<= nom1 80) (setq n 6)
(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)
)))))))))))))

(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)))
(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)))
))
)

(setq h (* 0.866025 pitch)) ; h=0.866025
(setq nom (+ nom1 (/ h 4))) ; h/8
(setq nom2 (- nom (* h minordiafactor))) ; inside diameter
(setq threadangle (+ 30 0)) ; 30?threadangle

(setvar "osmode" 0)
(setvar "cmdecho" 0)

(drawthread nom nom1 nom2 pitch length threadangle cpt)

(princ "nDone")
(setvar "cmdecho" ocmd)
(setvar "osmode" osm)
(princ)
)



; Next routine makes all threads

(defun c:mythread (/ nom pitch length threadangle cpt inout minordiafactor nom1 ocmd osm)

;-------------------------------------------------------------------
; Gets the nominal size, tpi, and total length
; then calculates a bunch of geometry points.
; All running osnaps are turned off as well.
;-------------------------------------------------------------------

(setq osm (getvar "osmode"))
(setq ocmd (getvar "cmdecho"))
(initget 7) ; no enter, not zero, not negative
(setq nom1 (getdist "nNominal outside diameter: "))
(setq nom1 22) ; demo version only 22
(initget 7) ; no enter, not zero, not negative
(setq nom (getdist "nGeometric outside diameter: "))
(setq nom 22.5) ; demo version only 22.5
(initget 7) ; no enter, not zero, not negative
(setq nom2 (getdist "nNominal inside diameter: "))
(initget 7) ; no enter, not zero, not negative
(setq pitch (getreal "nPitch: "))
(initget 7) ; no enter, not zero, not negative
(setq threadangle (getreal "nThreadangle: "))
(initget 1) ; no enter
(setq cpt (getpoint "Start center point: "))
(initget 3) ; no enter, not zero, not negative
(setq length (getdist "nTotal thread length in Y direction: "))

(setq h (* 0.866025 pitch)) ; h=0.866025

(setvar "osmode" 0)
(setvar "cmdecho" 0)

(drawthread nom nom1 nom2 pitch length threadangle cpt)

(princ "nDone")
(setvar "cmdecho" ocmd)
(setvar "osmode" osm)
(princ)
)



(defun drawthread (nom nom1 nom2 pitch length threadangle cpt / total pt1 pt1z pt2 pt3 ang pt1a
pt1az pt3a pt1b pt1bz pt3b pt4 pt4 pt6 pt7 pt8 pt9 pt10 pt11 pt12 ss conewantedstart conewantedend)

;-------------------------------------------------------------------
; Gets the nominal size, tpi, and total length
; then calculates a bunch of geometry points.
; All running osnaps and cmdecho are turned off as well.
;-------------------------------------------------------------------
(command "undo" "begin") ; start undo steps

(setq total (+ (fix (/ (abs length) pitch)) 3)
pt1 (list (- (car cpt) (/ nom 2.0)) (cadr cpt) (caddr cpt))
pt1z (list (- (car cpt) (/ nom 2.0)) (cadr cpt) (+ (caddr pt1) 1.0))
pt2 (polar pt1 (/ (* threadangle pi) 180.0) 1)
pt3 (list (+ (car pt1) nom) (+ (cadr pt1) (/ pitch 2.0)) (caddr cpt))
ang (angle pt1 pt3)
pt1a (polar pt1 (+ ang (/ pi 2.0)) pitch)
pt1az (list (car pt1a) (cadr pt1a) (+ (caddr pt1a) 1.0))
pt3a (polar pt1a ang nom)
pt1b (polar pt1 (- ang (/ pi 2.0)) pitch)
pt1bz (list (car pt1b) (cadr pt1b) (+ (caddr pt1b) 1.0))
pt3b (polar pt1b ang nom)
pt4 (polar pt3 (/ (* (- 180 threadangle) pi) 180.0) 1)
pt5 (inters pt1 pt2 pt3 pt4 nil)
pt6 (list (car pt5) (cadr cpt) (caddr cpt))
pt7 (polar pt1 (/ (* (- 360 threadangle) pi) 180.0) 1)
pt8 (polar pt3 (/ (* (+ 180 threadangle) pi) 180.0) 1)
pt9 (inters pt1 pt7 pt3 pt8 nil)
pt10 (list (car pt9) (cadr pt3) (caddr pt3))
pt11 (polar cpt (/ pi 2.0) pitch)
pt12 (polar pt11 (/ pi 2.0) (abs length))
)

;-------------------------------------------------------------------
; Draws two cones which are inverted and offset 1/2 the pitch.
; The cones are each sliced at the angle of the crest line
; and then unioned together
;-------------------------------------------------------------------

(initget 0 "Y N")
(setq conewantedstart (getkword "nDo you want a 90?top angle at the start? (Y/N) <Y>: "))
(initget 0 "Y N")
(setq conewantedend (getkword "nDo you want a 90?top angle at the end? (Y/N) <Y>: "))

(command "zoom" "w" (list (car pt1a) (+ (cadr pt1a) (abs length)) (caddr pt1a)) pt3b)

(princ "nCreating thread...this might take a while.")
(command "pline" pt1 pt5 pt6 "c")
(command "revolve" "l" "" pt5 pt6 "")
(command "slice" "l" "" pt1 pt3 pt1z pt5)
(command "slice" "l" "" pt1a pt3a pt1az pt3)
(setq ss (ssadd (entlast)))
(command "pline" pt3 pt9 pt10 "c")
(command "revolve" "l" "" pt9 pt10 "")
(command "slice" "l" "" pt1 pt3 pt1z pt9)
(command "slice" "l" "" pt1b pt3b pt1bz pt3)
(setq ss (ssadd (entlast) ss))
(command "union" ss "")

;-------------------------------------------------------------------
; This above solid is sliced in half and then mirrored. This
; creates the "helix" in the thread. The height of the single
; thread is actually equal to twice the pitch, but the
; excess is either absorbed or cut off in the last step
;-------------------------------------------------------------------

(command "slice" ss "" "xy" cpt "b")
(setq ss (ssadd (entlast) ss))
(command "mirror" "l" "" pt1 "@10<0" "y")
(command "union" ss "")

;-------------------------------------------------------------------
; The thread is arrayed and then unioned together (this part can
; take a while). The resulting solid is cut to the specified length.
;-------------------------------------------------------------------

(setq e (entlast))
(command "array" ss "" "r" total 1 pitch)
(repeat (1- total)
(setq e (entnext e)
ss (ssadd e ss)
)
)
(command "union" ss "")

; if wanted make a 45?cone at the start and union with thread

(if (/= conewantedstart "N")
(progn (setq e (entlast))
(command "cone" (list (car cpt) (+ (cadr cpt) pitch) (caddr cpt)) "d" nom1 "a" (list (car cpt) (+ (+ (cadr cpt) (/ nom1 2)) pitch) (caddr cpt)))
(command "union" "l" e "")
)
)

(command "slice" "l" "" "zx" pt11 pt12)
(command "slice" "l" "" "zx" pt12 pt11)
(command "move" "l" "" cpt (list (car cpt) (- (cadr cpt) pitch) (caddr cpt)))

; make a minor diameter cylinder and union with thread

(setq e (entlast))
(command "cylinder" cpt "d" nom2 "c" (list (car cpt) (+ (cadr cpt) (abs length)) (caddr cpt)))
(command "union" "l" e "")
(setq ss (entlast))

; make a hollow cylinder, with or without end cone, and subtract from thread

(command "cylinder" cpt "d" nom1 "c" (list (car cpt) (+ (cadr cpt) (abs length)) (caddr cpt))) ; minor dia
(setq e (entlast))

; if wanted make a 45?cone at the end

(if (/= conewantedend "N")
(progn (command "move" "l" "" cpt (list (car cpt) (- (cadr cpt) (/ (- nom1 nom2) 2)) (caddr cpt))) ; move minor dia down
(command "cone" cpt "d" nom1 "a" (list (car cpt) (+ (cadr cpt) (/ nom1 2)) (caddr cpt))) ; put cone on minor dia
(command "move" "l" "" cpt (list (car cpt) (- (+ (cadr cpt) (abs length)) (/ (- nom1 nom2) 2)) (caddr cpt)))
(command "union" "l" e "") ; union cone and minor dia
(setq e (entlast))
)
)

; subtract minor dia from bigger cylinder

(command "cylinder" cpt "d" (* nom1 1.5) "c" (list (car cpt) (+ (cadr cpt) (abs length)) (caddr cpt)))
(command "subtract" "l" "" e "")
(setq e (entlast))

; subtract hollow cylinder from thread

(command "subtract" ss "" e "")

; if thread negative length then mirror

(setq e (entlast))
(if (< length 0) (mirror3d e "zx" cpt "y"))

(command "zoom" "p")

(command "undo" "end") ; end undo steps
)



;;;---------------------------------------------------------------------------------------------------------------------;

(arxload "geom3d" nil)
(princ "ntISO228, Metric and Mythread loaded. ")
(princ "ntThis copy is licensed to: DEMO VERSION ")
(princ)

把以上復制到文本另存為螺紋.lsp
打開CAD,工具,加載應用程序,選剛才的文件,
在命令輸入metric,便可以生成螺紋,再另外可以和你的圓柱或者孔進交集或并集,便生成了內螺紋或者外螺紋
 


我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

            26uuu精品一区二区三区四区在线| 久久欧美一区二区| 99国产欧美久久久精品| 秋霞成人午夜伦在线观看| 亚洲欧美日韩国产另类专区| 国产精品欧美久久久久一区二区| 2014亚洲片线观看视频免费| 久久精品一区八戒影视| 国产午夜精品久久久久久免费视| 久久免费偷拍视频| 国产欧美日韩视频在线观看| 久久欧美一区二区| 欧美国产亚洲另类动漫| 国产精品久久网站| 亚洲精品福利视频网站| 亚洲国产毛片aaaaa无费看| 亚洲综合丁香婷婷六月香| 亚洲一区二区综合| 玖玖九九国产精品| 国产电影一区二区三区| 成人福利视频在线| 精品视频在线免费| 日韩欧美精品在线| 7777精品伊人久久久大香线蕉 | 国产精品久久久久三级| 亚洲精品中文在线影院| 天堂精品中文字幕在线| 国产精品888| 91成人在线免费观看| 制服视频三区第一页精品| 欧美成人aa大片| 日韩美女啊v在线免费观看| 午夜精品久久久久久不卡8050| 日本视频免费一区| www.视频一区| 51精品久久久久久久蜜臀| 久久影院视频免费| 一区二区三区在线视频免费观看| 日韩综合在线视频| 成人av综合一区| 欧美猛男男办公室激情| 久久综合色婷婷| 一区二区在线电影| 久久se这里有精品| 欧美在线视频日韩| 国产三级精品视频| 亚洲不卡av一区二区三区| 国产激情精品久久久第一区二区| 日本丰满少妇一区二区三区| 久久久久久**毛片大全| 视频一区视频二区在线观看| 99久久er热在这里只有精品66| 成人免费高清视频在线观看| 精品久久久久香蕉网| 一区二区三区国产| 成人a免费在线看| 2021中文字幕一区亚洲| 日韩中文字幕不卡| 日本精品免费观看高清观看| 国产亚洲精久久久久久| 老司机精品视频在线| 欧美影片第一页| 国产精品黄色在线观看| 久久成人麻豆午夜电影| 欧美日韩视频第一区| 亚洲六月丁香色婷婷综合久久| 国产一区免费电影| 日韩欧美www| 青青草原综合久久大伊人精品优势| 日本高清不卡视频| 亚洲人精品午夜| 波多野结衣视频一区| 久久免费的精品国产v∧| 捆绑变态av一区二区三区| 91精品国产一区二区三区蜜臀| 一级精品视频在线观看宜春院| 成人视屏免费看| 国产女人18水真多18精品一级做| 国产在线精品免费| 久久久久亚洲综合| 国产福利一区二区三区在线视频| 久久久国产午夜精品| 国产成人在线网站| 中文字幕日韩精品一区| 99精品久久久久久| 一区av在线播放| 色婷婷久久99综合精品jk白丝| 国产精品丝袜在线| 成人黄色片在线观看| 国产精品麻豆一区二区| 99re热视频这里只精品| 亚洲视频小说图片| 欧美视频三区在线播放| 午夜国产精品影院在线观看| 欧美一卡在线观看| 国产综合久久久久久鬼色| 国产亚洲精品bt天堂精选| 粉嫩绯色av一区二区在线观看| 亚洲国产岛国毛片在线| 色婷婷国产精品久久包臀| 亚洲成人tv网| 精品国产第一区二区三区观看体验| 国产一区二区三区在线看麻豆| 中文成人av在线| 欧美性欧美巨大黑白大战| 午夜精品久久久久久久久久久| 日韩精品中文字幕在线不卡尤物| 国产精品一线二线三线| 亚洲伦理在线精品| 日韩欧美成人一区| 成人av中文字幕| 日韩精品亚洲专区| 国产亚洲精品aa午夜观看| 91视频你懂的| 精品在线亚洲视频| 欧美电视剧免费全集观看| 99这里都是精品| 奇米色一区二区三区四区| 久久久精品免费网站| 色呦呦国产精品| 激情深爱一区二区| 亚洲色欲色欲www| 日韩美女在线视频| 色婷婷国产精品| 国产精品456露脸| 亚洲国产精品久久不卡毛片| 久久精品无码一区二区三区| 欧美日韩中文国产| 99久免费精品视频在线观看| 奇米888四色在线精品| 九一九一国产精品| 成人黄色小视频| 51精品国自产在线| 91一区二区三区在线播放| 激情综合色丁香一区二区| 亚洲一区二三区| 中文字幕一区二区三区乱码在线 | 欧美mv日韩mv| 91豆麻精品91久久久久久| 国产一区二区精品久久99| 亚洲午夜电影网| 国产免费久久精品| 欧美一卡二卡在线观看| 亚洲电影一区二区三区| 国产精品三级在线观看| 精品国产一区二区三区不卡| 色狠狠综合天天综合综合| 大美女一区二区三区| 丝袜亚洲另类欧美综合| 亚洲免费观看高清| 国产欧美中文在线| 国产精品99久久久久久久女警| 一区二区成人在线| 综合久久综合久久| 91成人免费电影| 99久久综合精品| 国产成人精品午夜视频免费| 亚州成人在线电影| 一区二区三区四区亚洲| 国产精品黄色在线观看| 国产亲近乱来精品视频| 久久久久久一二三区| 日韩你懂的在线播放| 91麻豆精品国产无毒不卡在线观看 | 欧美日韩中文字幕一区二区| 日韩国产在线观看一区| 久久综合色一综合色88| 精品美女被调教视频大全网站| 7777精品伊人久久久大香线蕉超级流畅 | 欧美日韩一区精品| 丝袜美腿亚洲综合| 日本欧美久久久久免费播放网| 亚洲第一电影网| 午夜激情综合网| 日韩黄色在线观看| 奇米精品一区二区三区四区 | 在线精品视频小说1| 日本道免费精品一区二区三区| 在线亚洲人成电影网站色www| 91丨九色丨黑人外教| 日韩二区在线观看| 1024亚洲合集| 一二三区精品福利视频| 日韩精品乱码免费| 韩国中文字幕2020精品| 国产精品 日产精品 欧美精品| 国产一区二三区好的| 成人av高清在线| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩免费视频| 91精品久久久久久久91蜜桃| 精品国产青草久久久久福利| 欧美激情综合网| 亚洲精品日产精品乱码不卡| 一区二区三区成人| 美女免费视频一区二区| 老司机午夜精品99久久| av影院午夜一区| 555www色欧美视频| 国产欧美一区二区精品性色超碰|