一種基于stl三維模型的曲面加工方法
【專利摘要】本發明公開了一種基于STL三維模型的曲面加工方法,屬于曲面加工【技術領域】。本發明的一種基于STL三維模型的曲面加工方法,將待加工曲面的STL三維模型進行投影,將組成待加工曲面的三角面片在三維空間內的計算轉化為二維平面內的三角形計算,同時在構造矩形A1A2A3A4內實現球銑刀位置的搜索和計算,減少了數據采集量,大大簡化了曲面加工刀位軌跡的計算,更加容易實現軟件控制,且程序可讀性好,運算量少,尤其適用于各點法矢量與Z軸夾角不大的STL曲面的加工。
【專利說明】-種基于STL三維模型的曲面加工方法
【技術領域】
[0001] 本發明涉及一種曲面加工方法,更具體地說,涉及一種基于STL三維模型的小曲 率曲面加工方法。
【背景技術】
[0002] STL是最多快速原型系統所應用的標準文件類型,它使用三角形面片來表示三維 實體模型,現已成為CAD/CAM系統接口文件格式的工業標準之一,絕大多數造型系統能支 持并生成此種格式文件,現在越來越廣泛地應用于數控加工中。STL文件由多個三角形面片 數據組成,每個三角形面片包括三角形各個頂點的三維坐標及三角形面片的法矢量。三角 形頂點的排列順序遵循右手法則。
[0003] 基于STL三維模型可以對各種曲面進行加工,然而,對于曲面進行加工時必須要 有一個合適的運行軌跡,以保證曲面加工的順利完成和加工曲面的精度。近年來,國內外學 者針對曲面精加工軌跡的生成進行了大量的研究,提出了許多算法,主要可分為參數線法、 截面法和投影法三類。現有的投影法通常是先在二維平面規劃軌跡,并沿刀軸方向投影到 被加工曲面或其等距面上形成刀軌,但是現有曲面刀位軌跡的計算方法普遍存在計算復雜 繁瑣、運行量大、且程序可讀性差、軟件實現困難的不足,限制了投影法在曲面加工中的應 用。
【發明內容】
[0004] 1?發明要解決的技術問題
[0005] 本發明的目的在于克服現有曲面加工刀位軌跡計算方法復雜繁瑣、運行量大、且 程序可讀性差、軟件實現困難的不足,提供一種基于STL三維模型的曲面加工方法,采用本 發明的技術方案,大大簡化了曲面加工刀位軌跡的計算,采用更加直觀簡潔的計算方法,更 加容易實現軟件控制,且程序可讀性好,運算量少,尤其適用于小曲率曲面的銑削加工。
[0006] 2?技術方案
[0007] 為達到上述目的,本發明提供的技術方案為:
[0008] 本發明的一種基于STL三維模型的曲面加工方法,其包括以下步驟:
[0009] (1)已知待加工曲面的STL三維模型,將曲面的三維模型投影到二維坐標系O-XY 中,得到投影面S ;組成待加工曲面的若干三角面片AABC在二維坐標系O-XY中的投影為 三角形AA' B' C';
[0010] ⑵創建并讀取動點M(XM,yM);
[0011] (3)判斷動點M(xM,yM)是否在投影面S中的某個投影三角形AA' B' C'上;根 據判斷結果執行步驟(4)或(5);
[0012] (4)如果動點M在投影面S中的某個投影三角形AA' B' C'上,求出動點M(xm, yM)對應的點P在三維坐標系O-XYZ中的坐標(xP,yP, Zp),即球銑刀與對應三角面片AABC 的接觸點坐標,其中:XP = xM, yP = yM,
【權利要求】
1. 一種基于STL三維模型的曲面加工方法,其包括以下步驟: (1) 已知待加工曲面的STL三維模型,將曲面的三維模型投影到二維坐標系O-XY中,得 到投影面S ;組成待加工曲面的若干三角面片Λ ABC在二維坐標系O-XY中的投影為三角形 AA,B,C,; (2) 創建并讀取動點M(xm,yM); ⑶判斷動點M(xm,yM)是否在投影面S中的某個投影三角形Λ A'B'C'上;根據判斷結 果執行步驟(4)或(5); (4) 如果動點M在投影面S中的某個投影三角形AA'B'C'上,求出動點M(xM,yM)對應 的點P在三維坐標系O-XYZ中的坐標(xP,yP,Zp),即球銑刀與對應三角面片Λ ABC的接觸 點坐標,其中:xP = xM,yP = yM,
式中:zA、zB和分別表示三角面片Λ ABC中的A、B和C三點的在O-XYZ坐標系中的z 軸坐標,3么腿丫、5么"^,、5么"^,和3^,以,分別表示厶1^'(:'、厶嫩'(:'、厶嫩'8'和厶八'8'(:' 的面積;則球銑刀與曲面的接觸點P(x P,yP,Zp)在O-XYZ坐標系中的位置矢量為: P - (Xp,yP,Zp); 進而,求出球銑刀的球心O1點在O-XYZ坐標系中的位置矢量O1為:
, 式中:r為球銑刀的半徑,
為球銑刀與曲面接觸 點P所在三角面片Λ ABC的法矢量的單位矢量;重復步驟(2),讀取下一個動點M(xm,yM), 并重復步驟(3),直至將所有動點M讀取完畢; (5) 如果動點M不在投影面S中的某個投影三角形Λ A'B'C'上,則重復步驟(2),讀取 下一個動點M (xM,yM),并重復步驟(3),直至將所有動點M讀取完畢; (6) 順序連接各點即可得到球銑刀加工STL曲面的刀位軌跡。
2. 根據權利要求1所述的一種基于STL三維模型的曲面加工方法,其特征在于:步驟 (2)中的動點M的具體創建方法為: (2-1)測出投影面S在二維坐標系O-XY的X軸方向上的最小值Xmin和最大值Xmax,以及 Y軸方向上的最小值Ymin和最大值Ymax;由Xmin、Xmax、Y min和Ymax坐標值構造矩形A1A2A3A 4 ;設 定球銑刀移動的步長和行距; (2-2)將動點M(xM,yM)初始化,初始位置為矩形A1A 2A3A4的左下角頂點A1 (Xmin,Ymin),即 xM 一 Xmin,JfM - Ymin ; (2-3)將動點M(xm,yM)沿平行X軸正方向逐一移動一個步長,直到xM>X max,完成平行X 軸的一行動點M的創建; (2-4)將動點M(xM,yM)沿平行Y軸正方向移動一個行距,令xM = Xmax,并沿平行X軸負 方向逐一移動一個步長,直到xM〈Xmin ;將動點M(xm,yM)沿平行Y軸正方向移動一個行距; (2-5)令xM = Xmin,重復步驟(2-3)、(2-4),直到yM>Ymax,完成整個矩形A 1A2A3A4區域內 的動點M的創建。
3.根據權利要求1所述的一種基于STL三維模型的曲面加工方法,其特征在于:步驟 (3)中判斷動點M(xM,yM)是否在投影面S中的某個投影三角形AA'B'C'上的具體步驟為: (3-1)讀取一個三角面片Λ ABC,Λ ABC各點的坐標分別為A(xa,yA,zA),B(xb,y B,zB), (:〇^,7。,~);三角面片厶48(:在二維坐標系01¥中的投影三角形厶4'8'(:'各點的坐標分 另Ij 為 A'(xA,yA),B'(xB,yB),C'(x c,yc); (3_2)利用公式s ΛA,B,C,= s Λ腿,。,+s ΛM,c,+s ΛM,B,判斷動點M是否在Δ A B C上,式 中,S Δ A,B,C,、S Δ MB,C,、S Δ MA,C、S Δ M,B,分別表不 A A B C、Δ MB C、Δ MA C、Δ MA B 的面 積;根據判斷結果執行步驟(3-3)或(3-4); (3-3)如果公式s ΛΑ,Β,。,= s ΛΜΒ,。,+s ,左右兩邊相等,則動點M在投影二角 形 Λ A' B' C' 上; (3-4)如果公式sAA,B,c,= sAMB,c,+sAMA,c,+sAMA, B,左右兩邊不相等,則動點M不在投 影三角形Λ A'B'C'上;重復步驟(3-1)和(3-2),直至將組成待加工曲面的所有三角面片 Λ ABC數據讀取完成。
【文檔編號】G06F17/50GK104392030SQ201410635076
【公開日】2015年3月4日 申請日期:2014年11月12日 優先權日:2014年11月12日
【發明者】丁仕燕, 干為民, 黃秀琴, 劉祖朋, 黃志榮, 何亞峰 申請人:常州工學院