跳到主要內容

錐面孔倒角(一)

文章日期:2009-02-18 11:05



有一陣子沒講AutoLISP了,本文試著藉錐面軸向孔之倒角來講解如何使用AutoLISP繪製錐面軸向孔輪廓,並寫出倒角的CNC程式
       

錐面的繪製
假設錐面的上頂面半徑為r1,底面半徑為r2,高度是h1,則需使用者輸入的AutoLISP寫法如下所示,當,AutoCAD讀到這三行時,其螢幕底下的字幕行就會出現雙引號內的文字,以(setq r1 (getreal "Enter the top diameter : \n") )來說,螢幕底下的字幕就是會出現Enter the top diameter : ,此時AutoCAD會等待使用者輸入半徑之數值後,才會繼續讀下行的AutoLISP
    (setq r1 (getreal "Enter the top diameter : \n") )
    (setq r2 (getreal "Enter the bottom diameter : \n"))
    (setq h1 (getreal "Enter the height : \n"))
但是,一般來說,圖面上通常標示直徑,所以,為了方便性,讓使用者直接輸入直徑值,而程式內部再除以2,以轉化成半徑值,則AutoLISP寫法如下所示:
    (setq r1 (/ (getreal "Enter the top diameter : \n") 2 ))
    (setq r2 (/ (getreal "Enter the bottom diameter : \n") 2 ))
    (setq h1 (getreal "Enter the height : \n"))
當上述資料經使用者輸入之後,便可以開始繪製錐面,如果要以每度畫一次錐面直線,則需寫一個可以跑360次迴圈,此時可以用while這個函式,寫法如下:
  (setq  i1 1 )
  (while (< i1 361)
        (setq i1 (+ 1 i1))
  )
那麼要如何在每次迴圈之內畫一次錐面直線呢? AutoLISP程式如下所示:
(defun c:bt()
  (setq   r1 0  r2 0  h1 0 )
    (setq r1 (/ (getreal "Enter the top diameter : \n") 2 ))
    (setq r2 (/ (getreal "Enter the bottom diameter : \n") 2 ))
    (setq h1 (getreal "Enter the height : \n"))
  (setq  x2 0  y2 0  x22 0   y22 0 )
  (setq  i1 1  cta (/ 3.1415926 180.0)  ctaWk 0  h1 (* -1 (abs h1)) )
  (while (< i1 361)
    (setq ctaWk (* cta i1))
    (setq x2   (* r1 (cos ctaWk))    y2 (* r1 (sin ctaWk )) )
    (setq x22  (* r2 (cos ctaWk))  y22 (* r2 (sin ctaWk )) )
    (command "line" (list x2 y2 0) (list x22 y22 h1) "" )
    (setq i1 (+ 1 i1))
  )
  (command "zoom" "e" "")
  (command "vpoint" "-1,-1,1"  "")
)

使用者輸入錐面的上頂面直徑10,底面直徑為30,高度是5時,則AutoCAD就會自動畫出下面圖形
   

這錐面的繪製只是用來講解AutoLISP的暖身用並為了下一個步驟-錐面孔的繪製來做視覺上的驗證,看看畫出來的錐面孔的輪廓是否有在錐面上,到底錐面孔的輪廓是甚麼樣子?我還沒畫之前也不清楚,不過有個高人是這樣說 :

""放在斜面就變橢圓放在錐柱上就變雞蛋狀,上尖下圓 還折彎在錐柱上,就是洋竽片...

ㄏㄏ,真是有想像力的洋竽片,下回再分曉了...
 http://tw.myblog.yahoo.com/cu01joe/article?mid=1960&prev=1970&next=1956

留言

這個網誌中的熱門文章

G76車牙

文章日期:2008-10-10 00:02 工具機若使用 Fanuc 控制器,車牙轉速有一個先天上的限制: S × P < 4000 請參考 車牙的 NC 碼計有 G32 、 G92 、 G76 三種 ( 使用方法 這三個指令中,手寫 G92 一般是直進式切削,牙刀的兩刃皆受力,直進式切削 ,每刀吃深不多,以免造成牙面粗糙,反觀 G76 則是斜進式單邊車削 ,可以有較大的進刀深度 , 寫法也簡短方便廣受採用,不論多大的牙, G76 只要兩個單節就可解決了。 由於 G76 有單邊切削的效果,廣受學校或職訓單位的喜愛,如下圖所示。         Fanuc0T系列控制器之G76 格式如下 : 指令說明 (m) : 精車次數。 (r) : 車牙末端 拔刀時留下的不完全牙長度(倍率)。 (a) :牙刀之角度,可選擇 80 °、 60 °、 55 °、 30 °、 29 °、 0 °等角度。 Q( △ dmin) :最小進刀深度。 R(d) :精車預留量。 X(u) :螺紋程式終點的 X 軸方向座標。 Z(w) :螺紋程式終點的 Z 軸方向座標。 R(i) :螺紋部份的半徑差,如果 I=0 可作一般直線螺紋車削。 P(k) :螺紋高度即牙深度, K 為正值在 X 軸方向用半徑值指定。 Q( △ d) :第一次螺紋的切削深度,用半徑值指定。 F(l) :螺紋的導程,與 G32 相同。 以M20X2.5外螺紋為例 , 常見的寫法如下 : G76 P01 00 60 Q40 R0.02 G76 X16.933 Z-10.0  P1533    Q500   F2.5 1. G76第一行的 P01 00 60 ,這01表示最後精車時只車一刀精車, 00 表示車牙最後拔刀時不留倒角 ,此所謂之倒角是 不完全牙之意 ,亦即因拔刀而在工件上留下牙深較淺的牙 ,Fanuc的拔刀精度是0.1倍的導程 , 若是此值改成10,則表示拔刀時在軸向會留下一倍導程長度的不完全牙,這一倍就是指導程2.5的一倍,也就是不完全牙會有2.5mm那麼長, 60 ...

管牙PT

文章日期:2009-07-12 23:08 本文旨在講解 PT錐度管牙 常見的標準的管牙規範計有:  NPT , NPTF ,NPS , PS ,PF , PT.. ,前3者有N開頭的是美國標準的管牙 ,牙角(又稱螺紋角)60度 ,後面這3者則是英國標準的管牙 ,牙角55度 ,這些代號裡面的T意指Taper ,也就是錐度牙 。 不論是PT還是NPT,他們的錐度值都是1/16, 換算成角度值是 2*tan-1(0.5/16)=3.57982度 = 3度34分47.356秒, 3.57982度為什麼等於3度34分47.356分呢? 這是因為角度的單位換算是六十進位,3.5798212度後面的小數點0.5798212"度"要換算成""分"時,0.5798212度 = 0.57982*60分 = 34.789273分 ,而34.789273分後面的小數點0.789273分要換算成秒, 則0.789273*60秒 = 47.356秒。 此外,切記在車削錐牙時得採半錐角,也就是1度47分23.7秒。 NPT (美制管用推拔螺紋) 制定在 ANSI 規格中,稱為美國標準管用推拔螺紋,有外螺紋與內螺紋。 NPT 外螺紋不但對 NPT 內螺紋配合,有時也配合 NPSC ,這點類似 PT 。螺紋峰與根切成同形,又因公差大,餘隙、緊密兩種配合都可用。如用潤滑劑,則變成耐密用,耐密用者另有稱為乾封閉之如 NPTF,NPSF 等付有 F 之一群。 NPTF (美制管用耐密推拔螺紋) NPTF 外螺紋,像 PT.NPT 有時也配合 NPSF.NPSI (都是內螺紋)。因這種螺紋都是峯尖、根淺,峯不是密接於根就是食進,可防止在此部分變成螺旋狀間隙,這是前述耐密性之理由。 PT( 英制管用推拔螺紋 ) 以前是使用面直角的螺紋峯,現在將規格統一為軸直角者。 JIS 定為耐密用而組合外螺紋和內螺紋。 PT 外螺紋除了配合 PT 內螺紋,有時也配合 PS 。 PS ( 英制管用推拔螺紋用平行內螺紋   ─   耐密用 )     屬於 JIS 內 PT 的規格,舊 JIS 裏 PS 牙的外螺紋已被取消,配合的外螺紋現規定要用 PT 。 PF( 英制管用平行螺紋 ...

公制螺紋規格

文章日期:2009-04-05 19:39 由於一大堆的高職用書都把公制螺紋的牙深定為 0.6495*p ,但實則不然, 公制螺紋的算法是這樣   : 如果是牙刀是採用標準牙刀 公牙工件的牙深 h = 0.6134*p (標準外牙刀的牙 尖圓弧半徑 r = 0.144338*p) 母牙工件的牙深 h = 0.577351*p( 標準內牙刀的牙 尖圓弧半徑 r = 0.072169*p) 如果是通用牙刀 (通用 牙刀尖圓弧半徑 r 要看刀盒上的標示 ) 公牙工件的牙深 h = 0.75777*P - r 母牙 工件的 牙深 h = 0.64952*P - r 底下文章講解公制公螺紋規格與切削法 公制螺紋的標註      設公螺紋牙底圓弧半徑為 r ,全牙深 (假想牙深, 將牙的頭部跟底端都假想成 尖頭尖底所得之牙深 ) 為 H ,牙距為 p ,牙深為 h , 則對於公制外羅紋有下列關係式 : 1.   全牙深 H = 0.866*p 2.   牙底圓弧半徑 r = H/6 =  0.144338*p (母牙則為0.072169*p) 3.   牙深 h = 0.6134*p 切削公制公螺紋時,若照標準規定來看, 牙底圓弧半徑 r = 0.144338*p ,但是,除了量產件或是精密件會照這個規定來準備牙刀,一般師傅為了方便,大都會使用通用刀片來車牙,也因此而用了不合規定的牙底半徑之牙刀來車牙,進而便會使得 牙深 h = 0.6134*p 這個關係式發生變化,以 p1-p3 的通用牙刀片來說,它是以 p1 的牙底圓為主,若要車 p3 的牙,則需將牙深加大,如下圖所示, 牙刀已車至牙底,但牙的螺旋面仍未達標準寬度,得將牙深加大才行 因此,很多人會覺得牙深公式用 h = 0.6495*p 也似乎行得通的樣子,老實說,這是瞎打誤撞的   ,這個 h = 0.6495*p 公式是古老的美國螺紋的公式,說到美國螺紋很多人把它想成英制螺紋,其實不然,美國螺紋是NC(粗牙) 、NF(細牙) 、NEF(特細牙), 後來美國跟英國還有加拿大合成為統一螺紋...