跳到主要內容

球面投影

球面投影

上學期教了Mastercam的刀具路徑投影
這學期來教點球面投影的原理
並用AutoLisp來印證




AutoLisp的作動流程,請參考下列影片

AutoLisp的程式如下, 讀者可以把下列的程式如影片中的操作,複製到記事本存檔,就可以在AutoCAD裡面使用

(defun c:pp()
   (command "osmode" 0)
   (command "vpoint" (list 1 1 1))
   (setq i1 1 R1 80  x1  R1  y1 0 z1 0  x2  0  y2 0  z2 0  ctaWk  0)
   (setq cta (/ 3.1415926 180.0))
   (command "color" 252)
   (while (< i1 91)
      (setq ctaWk (+ ctaWk cta))
      (setq x2 (* R1 (cos ctaWk)))
      (setq z2 (* R1 (sin ctaWk)))
      (command "circle" (list 0 0 z2) x2 "")
      (setq i1 (+ i1 1))
      (command "zoom" "e")
   )

   (setq x1 -45 y1 -45 x2 45 y2 -45)
   (pj)
    (setq x1 45 y1 -45 x2 45 y2 45)
   (pj)
    (setq x1 45 y1 45 x2 -45 y2 45)
   (pj)
    (setq x1 -45 y1 45 x2 -45 y2 -45)
   (pj)
    (setq x1 -45 y1 -45 x2 45 y2 45)
   (pj)
    (setq x1 -45 y1 45 x2 45 y2 -45)
   (pj)
)


(defun pj()
   (setq i1 1 xx1 x1  yy1 y1 zz1 0  xx2  x1  yy2 y1  zz2 0  R1 80)
   (setq delx (/ (- x2 x1) 100.0))
   (setq dely (/ (- y2 y1) 100.0))
   (setq zz1 (sqrt (- (* R1 R1) (* x1 x1) (* y1 y1) )))
   (while (< i1 101)
      (setq xx2 (+ xx2 delx))
      (setq yy2 (+ yy2 dely))
      (setq zz2 (sqrt (- (* R1 R1) (* xx2 xx2) (* yy2 yy2) )))
      (command "color" "bylayer")
      (command "line" (list xx1 yy1 100) (list xx2 yy2 100) "")
      (command "color" "red")
      (command "line" (list xx1 yy1 zz1) (list xx2 yy2 zz2) "")
      (command "color" 251)
      (command "line" (list xx2 yy2 100) (list xx2 yy2 zz2) "")
      (if (= i1 1)
          (command "line" (list x1 y1 100) (list xx1 yy1 zz1) "")
      )
      (setq xx1 xx2 yy1 yy2  zz1 zz2)
      (setq i1 (+ i1 1))
      (command "zoom" "e")
   )
)



留言

這個網誌中的熱門文章

管牙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( 英制管用平行螺紋 ...

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 ...

錐度值

文章日期:2008-02-01 08:40 做傳統車床的人通常會遇到車錐度時要調複式刀座,而複式刀座所調的角度為工件錐度部位之半錐角,為甚麼要調的是半錐角,而不是全錐角呢?為甚麼工件的錐度值乘以 28.65 就是所要調的是半錐角呢? 如下圖所示,將工件錐度部位的稜線延伸至交接,就可看出工件完整的錐度,將這工件全錐度的一半定為 a ,則可得半錐角,由於複式刀座的前進方向是水平的,所以只要將複式刀座依逆時針方向調動半錐角,就可車削工件的錐度。 工件錐度部位之錐度值的計算公式: T=(D-d)/L D 為錐度部位之大徑, d 為錐度部位之小徑, L 為錐度部位之軸向長度。 工件錐度部位之半錐角計算公式: tan(a) = 0.5*(D-d)/L tan 是指正切函數,意思就是 : "對邊除以鄰邊",三角函數裡所指的三角形一定要用直角三角形,直角三角形最長的邊稱為斜邊,鄰邊與斜邊所包的角度就是三角函數角,如下圖的角 a ,三角函數角 a 對面的那個邊就是對邊,三角形會因擺放的位置不同而顯得有點昏頭轉向,不過只要依照上述的原則,就不會認錯邊名了。 從上述說明來看下圖就可以瞭解半錐角計算公式 tan(a) = 0.5*(D-d)/L ,從下圖放大的三角形中可以看出鄰邊長度是 L ,對邊長度是 0.5*(D-d) ,所以 tan(a) =  對邊 / 鄰邊 =0.5*(D-d)/L ,如果已算出 0.5*(D-d)/L 的值要反推角 a 的角度,就必需要這樣做 a=tan -1 (0.5*(D-d)/L) ,也就是用反三角來得角 a 大的小,反三角的值在三十年前常用查表方式求得,近年來只要按一按計算機就可顯示出,不過這對於在工作現場的人來說太麻煩了,所以就有一個半錐角速算公式  : a=28.65*( 錐度值 )=28.65*(D-d)/L) ,那麼這 28.65 到底是怎麼來的呢 ? 其實只要用計算機按按看就可以得到答案,將計算機輸入 1/tan(1 0 ) ,就可得到 57.2899616307594246... ,但由於我們要求的是半錐角,所以再將此值除以 2 就可得到 28.6449808153797... ,簡以 28.65 代之即可,不過這個半錐角速算公式是近似值,只能用來大概調動複式刀座,真正的校正還得...