本發明專利技術公開了一種基于STL三維模型的曲面加工方法,屬于曲面加工技術領域。本發明專利技術的一種基于STL三維模型的曲面加工方法,將待加工曲面的STL三維模型進行投影,將組成待加工曲面的三角面片在三維空間內的計算轉化為二維平面內的三角形計算,同時在構造矩形A1A2A3A4內實現球銑刀位置的搜索和計算,減少了數據采集量,大大簡化了曲面加工刀位軌跡的計算,更加容易實現軟件控制,且程序可讀性好,運算量少,尤其適用于各點法矢量與Z軸夾角不大的STL曲面的加工。
【技術實現步驟摘要】
一種基于STL三維模型的曲面加工方法
本專利技術涉及一種曲面加工方法,更具體地說,涉及一種基于STL三維模型的小曲率曲面加工方法。
技術介紹
STL是最多快速原型系統所應用的標準文件類型,它使用三角形面片來表示三維實體模型,現已成為CAD/CAM系統接口文件格式的工業標準之一,絕大多數造型系統能支持并生成此種格式文件,現在越來越廣泛地應用于數控加工中。STL文件由多個三角形面片數據組成,每個三角形面片包括三角形各個頂點的三維坐標及三角形面片的法矢量。三角形頂點的排列順序遵循右手法則。基于STL三維模型可以對各種曲面進行加工,然而,對于曲面進行加工時必須要有一個合適的運行軌跡,以保證曲面加工的順利完成和加工曲面的精度。近年來,國內外學者針對曲面精加工軌跡的生成進行了大量的研究,提出了許多算法,主要可分為參數線法、截面法和投影法三類。現有的投影法通常是先在二維平面規劃軌跡,并沿刀軸方向投影到被加工曲面或其等距面上形成刀軌,但是現有曲面刀位軌跡的計算方法普遍存在計算復雜繁瑣、運行量大、且程序可讀性差、軟件實現困難的不足,限制了投影法在曲面加工中的應用。
技術實現思路
1.專利技術要解決的技術問題本專利技術的目的在于克服現有曲面加工刀位軌跡計算方法復雜繁瑣、運行量大、且程序可讀性差、軟件實現困難的不足,提供一種基于STL三維模型的曲面加工方法,采用本專利技術的技術方案,大大簡化了曲面加工刀位軌跡的計算,采用更加直觀簡潔的計算方法,更加容易實現軟件控制,且程序可讀性好,運算量少,尤其適用于小曲率曲面的銑削加工。2.技術方案為達到上述目的,本專利技術提供的技術方案為:本專利技術的一種基于STL三維模型的曲面加工方法,其包括以下步驟:(1)已知待加工曲面的STL三維模型,將曲面的三維模型投影到二維坐標系O-XY中,得到投影面S;組成待加工曲面的若干三角面片ΔABC在二維坐標系O-XY中的投影為三角形ΔA'B'C';(2)創建并讀取動點M(xM,yM);(3)判斷動點M(xM,yM)是否在投影面S中的某個投影三角形ΔA'B'C'上;根據判斷結果執行步驟(4)或(5);(4)如果動點M在投影面S中的某個投影三角形ΔA'B'C'上,求出動點M(xM,yM)對應的點P在三維坐標系O-XYZ中的坐標(xP,yP,zP),即球銑刀與對應三角面片ΔABC的接觸點坐標,其中:xP=xM,yP=yM,式中:zA、zB和zC分別表示三角面片ΔABC中的A、B和C三點的在O-XYZ坐標系中的z軸坐標,S△MB'C'、S△MA'C'、S△MA'B'和S△A'B'C'分別表示ΔMB'C'、ΔMA'C'、ΔMA'B'和ΔA'B'C'的面積;則球銑刀與曲面的接觸點P(xP,yP,zP)在O-XYZ坐標系中的位置矢量為:P=(xP,yP,zP)T;進而,求出球銑刀的球心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)中的動點M的具體創建方法為:(2-1)測出投影面S在二維坐標系O-XY的X軸方向上的最小值Xmin和最大值Xmax,以及Y軸方向上的最小值Ymin和最大值Ymax;由Xmin、Xmax、Ymin和Ymax坐標值構造矩形A1A2A3A4;設定球銑刀移動的步長和行距;(2-2)將動點M(xM,yM)初始化,初始位置為矩形A1A2A3A4的左下角頂點A1(Xmin,Ymin),即xM=Xmin,yM=Ymin;(2-3)將動點M(xM,yM)沿平行X軸正方向逐一移動一個步長,直到xM>Xmax,完成平行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,完成整個矩形A1A2A3A4區域內的動點M的創建。更進一步地,步驟(3)中判斷動點M(xM,yM)是否在投影面S中的某個投影三角形ΔA'B'C'上的具體步驟為:(3-1)讀取一個三角面片ΔABC,ΔABC各點的坐標分別為A(xA,yA,zA),B(xB,yB,zB),C(xC,yC,zC);三角面片ΔABC在二維坐標系O-XY中的投影三角形ΔA'B'C'各點的坐標分別為A'(xA,yA),B'(xB,yB),C'(xC,yC);(3-2)利用公式sΔA'B'C'=sΔMB'C'+sΔMA'C'+sΔMA'B'判斷動點M是否在ΔA'B'C'上,式中,sΔA'B'C'、sΔMB'C'、SΔMA'C'、sΔMA'B'分別表示ΔA'B'C'、ΔMB'C'、ΔMA'C'、ΔMA'B'的面積;根據判斷結果執行步驟(3-3)或(3-4);(3-3)如果公式sΔA'B'C'=sΔMB'C'+sΔMA'C'+sΔMA'B'左右兩邊相等,則動點M在投影三角形ΔA'B'C'上;(3-4)如果公式sΔA'B'C'=sΔMB'C'+sΔMA'C'+sΔMA'B'左右兩邊不相等,則動點M不在投影三角形ΔA'B'C'上;重復步驟(3-1)和(3-2),直至將組成待加工曲面的所有三角面片ΔABC數據讀取完成。3.有益效果采用本專利技術提供的技術方案,與已有的公知技術相比,具有如下顯著效果:本專利技術的一種基于STL三維模型的曲面加工方法,為小曲率曲面的加工提供了一種更加直觀簡潔的刀位軌跡計算方法,通過將組成待加工曲面的三角面片在三維空間內的計算轉化為二維平面內的三角形計算,大大簡化了曲面加工刀位軌跡的計算,更加容易實現軟件控制,且程序可讀性好,運算量少。附圖說明圖1為本專利技術的一種基于STL三維模型的曲面加工方法的球銑刀位置矢量計算流程圖;圖2為本專利技術中沿X軸正方向創建動點M的流程圖;圖3為本專利技術中沿X軸負方向創建動點M的流程圖;圖4為本專利技術中動點M的創建過程示意圖;圖5為本專利技術中選取三角面片ΔABC中任意一點P的示意圖;圖6(a)和圖6(b)分別為本專利技術中選取三角面片ΔABC中任意一點P的不同動態位置示意圖;圖7為本專利技術中球銑刀與STL曲面在P點接觸時球心O1的位置矢量計算示意圖。具體實施方式為進一步了解本專利技術的內容,結合附圖對本專利技術的刀位軌跡計算原理作詳細描述。STL文件由多個三角形面片數據的組成,每個三角形面片包括三角形各個頂點的三維坐標及三角形面片的法矢量。如圖5所示,已知三維空間三角面片ΔABC在O-XYZ坐標系中各點坐標為A(xA,yA,zA),B(xB,yB,zB),C(xC,yC,zC),ΔABC內部任意一點P在O-XY坐標系中坐標為(xP,yP),現求點P在O-XYZ坐標系中的z軸方向坐標zP。毫無疑問,zP值與zA、zB、zC的值有關。比較圖6(a)和圖6(本文檔來自技高網...

【技術保護點】
一種基于STL三維模型的曲面加工方法,其包括以下步驟:(1)已知待加工曲面的STL三維模型,將曲面的三維模型投影到二維坐標系O?XY中,得到投影面S;組成待加工曲面的若干三角面片△ABC在二維坐標系O?XY中的投影為三角形△A'B'C';(2)創建并讀取動點M(xM,yM);(3)判斷動點M(xM,yM)是否在投影面S中的某個投影三角形△A'B'C'上;根據判斷結果執行步驟(4)或(5);(4)如果動點M在投影面S中的某個投影三角形△A'B'C'上,求出動點M(xM,yM)對應的點P在三維坐標系O?XYZ中的坐標(xP,yP,zP),即球銑刀與對應三角面片△ABC的接觸點坐標,其中:xP=xM,yP=yM,zP=zA×SΔMB′C′+zB×SΔMA′C′+zC×SΔMA′B′SΔA′B′C′,]]>式中:zA、zB和zC分別表示三角面片△ABC中的A、B和C三點的在O?XYZ坐標系中的z軸坐標,S△MB'C'、S△MA'C'、S△MA'B'和S△A'B'C'分別表示△MB'C'、△MA'C'、△MA'B'和△A'B'C'的面積;則球銑刀與曲面的接觸點P(xP,yP,zP)在O?XYZ坐標系中的位置矢量為:P=(xP,yP,zP)T;進而,求出球銑刀的球心O1點在O?XYZ坐標系中的位置矢量O1為:O1=P+PO1=P+r(xx2+y2+z2,yx2+y2+z2,zx2+y2+z2)T,]]>式中:r為球銑刀的半徑,為球銑刀與曲面接觸點P所在三角面片△ABC的法矢量的單位矢量;重復步驟(2),讀取下一個動點M(xM,yM),并重復步驟(3),直至將所有動點M讀取完畢;(5)如果動點M不在投影面S中的某個投影三角形△A'B'C'上,則重復步驟(2),讀取下一個動點M(xM,yM),并重復步驟(3),直至將所有動點M讀取完畢;(6)順序連接各點即可得到球銑刀加工STL曲面的刀位軌跡。...
【技術特征摘要】
1.一種基于STL三維模型的曲面加工方法,其包括以下步驟:(1)已知待加工曲面的STL三維模型,將曲面的三維模型投影到二維坐標系O-XY中,得到投影面S;組成待加工曲面的若干三角面片ΔABC在二維坐標系O-XY中的投影為三角形ΔA'B'C';(2)創建并讀取動點M(xM,yM);(3)判斷動點M(xM,yM)是否在投影面S中的某個投影三角形ΔA'B'C'上;根據判斷結果執行步驟(4)或(5);(4)如果動點M在投影面S中的某個投影三角形ΔA'B'C'上,求出動點M(xM,yM)對應的點P在三維坐標系O-XYZ中的坐標(xP,yP,zP),即球銑刀與對應三角面片ΔABC的接觸點坐標,其中:xP=xM,yP=yM,式中:zA、zB和zC分別表示三角面片ΔABC中的A、B和C三點的在O-XYZ坐標系中的z軸坐標,S△MB'C'、S△MA'C'、S△MA'B'和S△A'B'C'分別表示ΔMB'C'、ΔMA'C'、ΔMA'B'和ΔA'B'C'的面積;則球銑刀與曲面的接觸點P(xP,yP,zP)在O-XYZ坐標系中的位置矢量為:P=(xP,yP,zP)T;進而,求出球銑刀的球心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的具體創...
【專利技術屬性】
技術研發人員:丁仕燕,干為民,黃秀琴,劉祖朋,黃志榮,何亞峰,
申請(專利權)人:常州工學院,
類型:發明
國別省市:江蘇;32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。