亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于occ實(shí)現(xiàn)t樣條模型的數(shù)控加工方法及系統(tǒng)的制作方法

文檔序號:10511328閱讀:1187來源:國知局
基于occ實(shí)現(xiàn)t樣條模型的數(shù)控加工方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種基于OCC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法及系統(tǒng),該方法包括:獲取T樣條數(shù)據(jù)文件,根據(jù)T樣條數(shù)據(jù)文件生成T樣條模型;接收用戶輸入的加工參數(shù),根據(jù)加工參數(shù),通過等殘高刀軌生成方法生成加工刀軌;根據(jù)加工參數(shù),通過切割仿真算法確定加工刀軌的加工誤差和干涉信息;若加工誤差小于預(yù)設(shè)值且不存在干涉信息,則根據(jù)加工參數(shù)和加工刀軌生成加工代碼;根據(jù)加工代碼進(jìn)行T樣條模型的數(shù)控加工。通過基于OCC搭建支持T樣條模型加工與仿真的CAM軟件,可以直接調(diào)用OCC的建模、顯示、數(shù)據(jù)交換等功能,提供加工仿真功能,實(shí)現(xiàn)加工誤差和干涉情況分析,為判斷刀軌是否合格提供依據(jù),提高生成T樣條模型的數(shù)控加工方案的效率。
【專利說明】
基于OCC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及數(shù)控加工技術(shù),尤其涉及一種基于0CC(0pen CASCADE)實(shí)現(xiàn)Τ樣條模型 的數(shù)控加工方法。
【背景技術(shù)】
[0002] T樣條技術(shù)是近幾年涌現(xiàn)的一種新的造型方法,能夠單張曲面表示復(fù)雜拓?fù)淠P停?且避免冗余的控制頂點(diǎn)。其在造型方面較傳統(tǒng)曲面具有無與倫比的優(yōu)勢,并且大量應(yīng)用于 非參數(shù)化設(shè)計(jì)、電影與動(dòng)畫、等幾何分析等領(lǐng)域。目前,T-Splines公司推出了基于T樣條造 型的計(jì)算機(jī)輔助設(shè)計(jì)(Computer-Aided Design,簡稱CAD)內(nèi)核,被Rhino3d與Solidworks以 插件形式支持,以及被Fusi〇n360采用,可用于實(shí)現(xiàn)T樣條模型的建模。
[0003] 現(xiàn)有技術(shù)中,尚無支持T樣條的計(jì)算機(jī)輔助制造(Computer-Aided Manufacturing,簡稱CAM)軟件。目前僅有浙大傅建中團(tuán)隊(duì)發(fā)表過相關(guān)研究成果。傅建中團(tuán) 隊(duì)是采用開放圖形庫(Open Graphics Library,簡稱OpenGL)作為顯示模塊,OpenNURBS( - 個(gè)開源的讀、寫3DM文件的開發(fā)工具包)作為幾何內(nèi)核,并結(jié)合T樣條數(shù)據(jù)結(jié)構(gòu)與算法,以及 改進(jìn)的空間填充曲線加工算法,開發(fā)出一套CAM原型系統(tǒng)實(shí)現(xiàn)五軸數(shù)控加工。
[0004] 該CAM原型系統(tǒng)只能實(shí)現(xiàn)基于球頭刀的T樣條模型五軸數(shù)控加工,缺少仿真功能。 生成刀軌后,既無法顯示加工誤差,也無法判斷干涉情況,技術(shù)人員不能判斷刀軌是否合 格,只能將T樣條模型轉(zhuǎn)為細(xì)分模型后,借助Vericut(美國CGTECH公司開發(fā)的數(shù)控加工仿真 系統(tǒng))等仿真軟件進(jìn)行仿真分析,十分不便。因此,現(xiàn)有的T樣條模型的數(shù)控加工有待改善。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明實(shí)施例提供一種基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法及系統(tǒng),能夠直接 提供加工仿真功能,實(shí)現(xiàn)加工誤差和干涉情況分析,為技術(shù)人員判斷刀軌是否合格提供依 據(jù),大大提高了生成T樣條模型的數(shù)控加工方案的效率。
[0006] 本發(fā)明實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法,包括:獲取T樣條數(shù) 據(jù)文件,根據(jù)T樣條數(shù)據(jù)文件生成對應(yīng)的T樣條模型;接收用戶輸入的加工參數(shù),根據(jù)加工參 數(shù),通過等殘高刀軌生成方法生成加工刀軌;根據(jù)加工參數(shù),通過切割仿真算法確定加工刀 軌的加工誤差和干涉信息;若加工刀軌的加工誤差小于預(yù)設(shè)值且不存在干涉信息,則根據(jù) 加工參數(shù)和加工刀軌生成加工代碼;根據(jù)生成的加工代碼進(jìn)行T樣條模型的數(shù)控加工。
[0007] 本發(fā)明實(shí)施提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng),包括:模型生成單元, 用于獲取T樣條數(shù)據(jù)文件,根據(jù)T樣條數(shù)據(jù)文件生成對應(yīng)的T樣條模型;接收單元,用于接收 用戶輸入的加工參數(shù);加工刀軌生成單元,用于根據(jù)用戶輸入的加工參數(shù),通過等殘高刀軌 生成方法生成加工刀軌;誤差與干涉判定單元,用于根據(jù)用戶輸入的加工參數(shù),通過切割仿 真算法確定加工刀軌的加工誤差和干涉信息;加工代碼生成單元,用于若加工刀軌的加工 誤差小于預(yù)設(shè)值且不存在干涉信息,則根據(jù)加工參數(shù)和加工刀軌生成加工代碼;數(shù)控加工 單元,用于根據(jù)生成的加工代碼進(jìn)行T樣條模型的數(shù)控加工。
[0008] 基于上述,本發(fā)明實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法及系統(tǒng), 通過基于0CC搭建支持Τ樣條模型加工與仿真的CAM軟件,通過采用工程中實(shí)用的等殘高加 工方法生成加工刀軌,并通過一種切割仿真算法對加工刀軌的加工誤差和干涉信息進(jìn)行分 析。采用0CC這款開源CAD內(nèi)核,其建模、顯示、數(shù)據(jù)交換等功能可以直接調(diào)用,能夠直接提供 加工仿真功能,實(shí)現(xiàn)加工誤差和干涉情況分析,為技術(shù)人員判斷刀軌是否合格提供依據(jù),大 大提高了生成T樣條模型的數(shù)控加工方案的效率。
【附圖說明】
[0009] 為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù) 描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一 些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。
[0010] 圖1為本發(fā)明實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法流程圖;
[0011] 圖2為本發(fā)明實(shí)施例提供的曲面殘高計(jì)算模型;
[0012] 圖3為通過圖2所示的刀具切割T樣條曲面上草的數(shù)學(xué)模型圖;
[0013] 圖4是本發(fā)明實(shí)例提供的確定刀軌上刀觸點(diǎn)位置的示意圖;
[0014] 圖5為本發(fā)明實(shí)例提供的用兩條三次Hermite曲線連接相鄰刀軌的示意圖;
[0015] 圖6為本發(fā)明實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng)示意圖;
[0016] 圖7為本發(fā)明實(shí)施例提供的另一基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng)示意圖。
【具體實(shí)施方式】
[0017] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0018] 本發(fā)明的下述實(shí)施例中的術(shù)語"第一"、"第二"等是用于區(qū)別類似的對象,而不必 用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便 這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?br>[0019] 本發(fā)明實(shí)施例提供的T樣條模型的數(shù)控加工方法,通過基于0CC搭建支持T樣條模 型加工與仿真的CAM軟件來實(shí)現(xiàn)。下面將對00C平臺和基于0CC搭建的支持T樣條模型加工與 仿真的CAM軟件進(jìn)行簡單介紹。
[0020] Open CASCADE(簡稱0CC)平臺是由法國Matra Datavision公司開發(fā)的CAD/CAE/ CAM軟件平臺,是目前世界上最重要的幾何造型基礎(chǔ)軟件平臺之一。開源0CC對象庫是一個(gè) 面向?qū)ο驝++類庫,用于快速開發(fā)設(shè)計(jì)領(lǐng)域的專業(yè)應(yīng)用程序。0CC主要用于開發(fā)二維和三維 幾何建模應(yīng)用程序,包括通用的或?qū)I(yè)的CAD系統(tǒng)、制造或分析領(lǐng)域的應(yīng)用程序、仿真應(yīng)用 程序或圖形演示工具。0CC通過有機(jī)組織的C++庫文件提供了六個(gè)模塊??梢暬K作為0CC 的核心部分,是可視化技術(shù)的具體體現(xiàn)。由于0CC技術(shù)是一個(gè)開源的軟件開發(fā)平臺,因此在 數(shù)值建模軟件如CAD\CAE\CAM的開發(fā)上得到了廣泛的應(yīng)用。0CC提供二維和三維幾何體的生 成、顯示和分析。
[0021] 本發(fā)明實(shí)施例中基于0CC搭建的支持T樣條模型加工與仿真的CAM軟件包括:1)基 本文件功能單元,可用于實(shí)現(xiàn)打開T樣條文件、保存T樣條文件、導(dǎo)出窗口截圖、清空窗口、退 出程序功能;2)基本視圖功能單元,可用于實(shí)現(xiàn)圖形適應(yīng)窗口、XY平面視角、初始化視圖功 能;3)輔助功能單元,可用于實(shí)現(xiàn)顯示T-mesh預(yù)圖像(T樣條控制頂點(diǎn)形成的網(wǎng)格稱為T-mesh)、顯示T樣條曲面、提示刀軌路徑長度信息、導(dǎo)出刀軌文件功能;4)數(shù)控加工功能單元, 可用于實(shí)現(xiàn)生成等殘高刀軌、生成改進(jìn)的空間填充曲線(Improved Space Filling Curves,簡稱ISFC)刀軌、顯示T樣條設(shè)計(jì)模型、顯示曲面法矢、在T-mesh預(yù)圖像中顯示刀軌、 在笛卡爾空間顯示刀軌、顯示整條刀軌上刀具姿態(tài)功能;5)仿真功能單元,可用于實(shí)現(xiàn)仿真 計(jì)算、顯示加工誤差、判斷刀軌干涉信息功能。
[0022] 圖1為本發(fā)明實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法流程圖,該方 法包括以下步驟:
[0023] S11,獲取T樣條數(shù)據(jù)文件,根據(jù)T樣條數(shù)據(jù)文件生成對應(yīng)的T樣條模型;
[0024] S12,接收用戶輸入的加工參數(shù),根據(jù)加工參數(shù),通過等殘高刀軌生成方法生成加 工刀軌;
[0025] S13,根據(jù)加工參數(shù),通過切割仿真算法確定加工刀軌的加工誤差和干涉信息;
[0026] S14,根據(jù)加工刀軌的加工誤差和干涉信息判斷加工刀軌的加工誤差是否小于預(yù) 設(shè)值且不存在干涉信息;若是,則執(zhí)行S16;若否,則先執(zhí)行S15,再執(zhí)行S16;
[0027] S15,調(diào)整加工刀軌,直至加工刀軌的加工誤差小于預(yù)設(shè)值且不存在干涉信息;
[0028] S16,根據(jù)加工參數(shù)和加工刀軌生成加工代碼;
[0029] S17,根據(jù)加工代碼進(jìn)行T樣條模型的數(shù)控加工。
[0030] 下面以T樣條模型的五軸數(shù)控加工為例進(jìn)行示例性說明。顯然,這些實(shí)施例是用來 說明,而并非用來限制本發(fā)明。
[0031 ] 五軸加工(5Axis Machining)是數(shù)控機(jī)床加工的一種模式。根據(jù)國際標(biāo)準(zhǔn)化組織 (International Standards Organization,簡稱ISO)的規(guī)定,在描述數(shù)控機(jī)床的運(yùn)動(dòng)時(shí), 采用右手直角坐標(biāo)系,其中平行于主軸的坐標(biāo)軸定義為z軸,繞x、y、z軸的旋轉(zhuǎn)坐標(biāo)分別為 A、B、C。各坐標(biāo)軸的運(yùn)動(dòng)可由工作臺,也可以由刀具的運(yùn)動(dòng)來實(shí)現(xiàn),但方向均以刀具相對于 工件的運(yùn)動(dòng)方向來定義。通常五軸聯(lián)動(dòng)是指x、y、z、A、B、C中任意5個(gè)坐標(biāo)的線性插補(bǔ)運(yùn)動(dòng)。 換言之,五軸就是指x、y、z三個(gè)移動(dòng)軸加任意兩個(gè)旋轉(zhuǎn)軸。相對于常見的三軸(x、y、z三個(gè)自 由度)加工而言,五軸加工是指加工幾何形狀比較復(fù)雜的零件時(shí),需要加工刀具能夠在五個(gè) 自由度上進(jìn)行定位和連接。
[0032]示例性的,在S11中,具體可以讀取Rhin〇3d的T樣條文件,并將T樣條信息存儲到本 發(fā)明的數(shù)據(jù)結(jié)構(gòu)中。值得一提的是,在本發(fā)明中,用于保存T樣條信息的數(shù)據(jù)結(jié)構(gòu)如下:

[0034] 其中,CNode類x、y、Z、w分別存儲T樣條的單個(gè)控制頂點(diǎn)在笛卡爾空間中的位置與 權(quán)重信息, VeCtU[5]、vectV[5]分別存儲控制頂點(diǎn)對應(yīng)的參數(shù)域節(jié)點(diǎn)矢量分布信息。而 CTspline類可以存儲計(jì)算T樣條所需的所有控制頂點(diǎn)及其對應(yīng)的權(quán)重和節(jié)點(diǎn)矢量分布信 息。其中,在本實(shí)施例中,參數(shù)域是由雙參數(shù)u,v構(gòu)成的二維空間。T樣條中的每個(gè)控制頂點(diǎn), 在參數(shù)域上的u方向與v方向分別對應(yīng)節(jié)點(diǎn)矢量區(qū)間,兩個(gè)節(jié)點(diǎn)矢量區(qū)間構(gòu)成的矩形區(qū)域?yàn)?該控制頂點(diǎn)的影響區(qū)域。
[0035] 進(jìn)一步的,根據(jù)T樣條公式 ,確定T樣條在參數(shù)域中的第一 離散點(diǎn)映射到笛卡爾空間中對應(yīng)的第二離散點(diǎn)的位置。
[0036]其中,第一離散點(diǎn)為將參數(shù)域區(qū)間(0<u<l且0<以1)等分得到的(n+l)X(n+l) 個(gè)離散點(diǎn),η為大于零的正整數(shù),即T樣條公式中的參數(shù)u和參數(shù)v分別對應(yīng)n+1個(gè)取值。相應(yīng) 的,根據(jù)T樣條公式可以確定出(n+l)X(n+l)個(gè)第二離散點(diǎn)的位置。A為在笛卡爾空間中對 當(dāng)前所要確定的第二離散點(diǎn)有影響的控制頂點(diǎn)的集合。Pi為控制頂點(diǎn)i在笛卡爾空間中的 位置,Wi為控制頂點(diǎn)i的權(quán)重,Bi(u,v) =Ni(u) · Ni(v),Ni(u)和Ni(v)分別為參數(shù)u和v的伯恩 斯坦基jKuWPNdv)根據(jù)控制頂點(diǎn)i對應(yīng)的節(jié)點(diǎn)矢量分布信息確定。
[0037]根據(jù)求得的一系列第二離散點(diǎn),以及T樣條數(shù)據(jù)結(jié)構(gòu)中保存的控制頂點(diǎn),通過調(diào)用 0CC的顯示模塊可以生成相應(yīng)的T樣條模型。
[0038]具體的,每四個(gè)相鄰的第二離散點(diǎn)可以構(gòu)成兩個(gè)三角面片,用0CC的StlMesh_MeSh 類將所有的第二離散點(diǎn)按離散的三角面片存儲。然后調(diào)用0CC的BRep_Builder類,將所有的 三角面片、控制頂點(diǎn)、T-mesh(T樣條控制頂點(diǎn)形成的網(wǎng)格稱為T-mesh)賦予0CC的TopoDS_ Shape類。最后調(diào)用0CC的顯示模塊AIS_InteractiveContext類進(jìn)行顯示,即繪制出T樣條模 型,且繪制出的T樣條模型的控制頂點(diǎn)、T-mesh也可以顯示。
[0039] 示例性的,在S12中,輸入的加工參數(shù)有刀具尺寸(包括刀具直徑、刃切半徑、刀具 長度等),允許的殘高誤差和弦高誤差以及主軸轉(zhuǎn)速與進(jìn)給速度。其中,刀具尺寸和允許的 殘高誤差和弦高誤差可以用于等殘高加工刀軌的生成過程以及對生成的等殘高加工刀軌 的加工誤差和干涉信息進(jìn)行判斷;主軸轉(zhuǎn)速與進(jìn)給速度這兩個(gè)參數(shù),在根據(jù)加工刀軌導(dǎo)出 加工代碼的同時(shí),生成相應(yīng)的數(shù)控加工代碼,用于后置處理。
[0040] 為使本實(shí)施例中的等殘高加工刀軌的生成過程更容易被理解,下面將通過曲面殘 高計(jì)算模型進(jìn)行示例性說明。
[0041]圖2為本發(fā)明實(shí)施例提供的曲面殘高計(jì)算模型。首先請參照圖2中(a)所示,假設(shè)曲 面S上長有平行于曲面法矢,且長度等于允許的殘高誤差的草G,則草面Gs形成等殘高面。環(huán) 形刀具C落在曲面S上,會(huì)在等殘高面上切出一圈草環(huán)R。
[0042]將2中(a)所示模型參數(shù)化如圖2中(b)所示,請參照圖2中(b),其中CL代表刀心點(diǎn), GG'代表草,T為刀具的軸線矢量(以下簡稱刀軸矢量),HH'為從刀具軸線到刀具輪廓過草尖 G'且垂直于刀軸矢量T的線段,λ表示沿刀軸矢量T方向上HH'到刀心點(diǎn)的距離。
[0043] 圖3為通過圖2所示的刀具切割曲面上草的數(shù)學(xué)模型圖,請參考圖3所示。通過圖2 所示的刀具切割曲面上的草,則刀具的有效切割部分可以看作一個(gè)半徑為R 2的圓繞刀具軸 線掃略出的圓環(huán)體,其中該半徑為R2的圓與刀具軸線共面且圓心距離刀具軸線R:,其中
:,D為刀具直徑。草可以視為從曲面上的點(diǎn)出發(fā),沿曲面法矢方向延伸出去的線 段,且長度為h。
[0044] 對于曲面上的草,當(dāng)λ在[-R2,0]區(qū)間內(nèi),如果|HH' | = |HG' |,則草落在草環(huán)R上,此 時(shí)達(dá)到最大殘高;如果|HH' |>|HG' |,則草被刀具切割,此時(shí)未達(dá)到最大殘高;其他情況草未 被刀具切割。基于上述模型原理,根據(jù)相關(guān)技術(shù),若刀具位置已知,草環(huán)上的草在曲面上的 位置可以通過二分法進(jìn)行迭代求解,同理,若草的位置已知,對于滿足草在草環(huán)上的刀具位 置同樣可以通過二分法迭代求解。
[0045] 下面,將基于上述的曲面殘高計(jì)算模型對上述的等殘高加工刀軌的生成過程進(jìn)行 示例性說明。
[0046] 圖4是本發(fā)明實(shí)例提供的確定等殘高刀軌上刀觸點(diǎn)位置的示意圖。請參照圖4中 (a)所示,假設(shè)刀具沿著當(dāng)前刀軌運(yùn)動(dòng)到刀觸點(diǎn)A位置,會(huì)在等殘高面上切出一圈草環(huán)R,其 中f為刀具進(jìn)給方向,η為曲面法矢,-b為垂直于f與η的方向。當(dāng)?shù)毒哐禺?dāng)前刀軌Ci運(yùn)動(dòng),刀 具會(huì)將草面切出一條槽,并在等殘高面上留下兩條包絡(luò)線,其中位于當(dāng)前刀軌右邊的那條 包絡(luò)線為等殘高線P。而草環(huán)R上僅有垂直于刀具進(jìn)給方向上的草,稱為目標(biāo)草Go,目標(biāo)草Go 的草尖在等殘尚線上。
[0047]已知目標(biāo)草位于曲面上從刀觸點(diǎn)A出發(fā),_b方向上的某處。于是,目標(biāo)草在曲面上 的位置可結(jié)合圖2所示的刀具切割曲面上草的數(shù)學(xué)模型圖,用二分法迭代求解。首先確定迭 代上下限。顯然草位于刀觸點(diǎn)A位置,草被切割,于是設(shè)此時(shí)草距離刀觸點(diǎn)A的距離為迭代下 限A^g。再預(yù)設(shè)一個(gè)數(shù)值△,將草從刀觸點(diǎn)A出發(fā),沿-b方向移動(dòng)△距離,判斷此時(shí)刀具對草 的切割狀態(tài)。若草未被刀具切割,那么設(shè)此時(shí)草距離刀觸點(diǎn)A的距離為迭代上限Aiig;若其 他切割情況,則繼續(xù)將草沿_b方向移動(dòng)△距離,直到草未被刀具切割為止,并且設(shè)此時(shí)草距 離刀觸點(diǎn)A的距離為迭代上限Ai?。確定迭代上下限后,然后進(jìn)行二分迭代。取迭代上下限 的中值A(chǔ)制直=(Δ頂+ Δ頂)/2,將草移動(dòng)到從刀觸點(diǎn)A出發(fā),沿-b方向,距離刀觸點(diǎn)A為Δ ψι直 的位置,并判斷刀具對草的切割狀態(tài)。若草被刀具切割,那么令Α^?=Δ拖,否則令A(yù)jj艮= A制直。重復(fù)上述二分迭代步驟,直到于預(yù)設(shè)的較小的數(shù)值,迭代終止。那么此時(shí) 草所在位置即為目標(biāo)草位置。
[0048]下一步由目標(biāo)草求解其對應(yīng)的下一條刀軌C1+1上的目標(biāo)刀觸點(diǎn)B,具體請參照圖4 中(b)所示。對于所有滿足刀具輪廓與目標(biāo)草的草尖接觸的刀具位置,會(huì)在目標(biāo)草周圍呈現(xiàn) 出一個(gè)環(huán)的形狀,稱之為CC環(huán)。而整個(gè)CC環(huán)中,只有一個(gè)點(diǎn)為下一條刀軌C1+1上的目標(biāo)刀觸 點(diǎn)B。當(dāng)?shù)毒哐叵乱粭l刀軌C1+1運(yùn)動(dòng),刀具同樣會(huì)在等殘高面上留下兩條包絡(luò)線,并且其中位 于下一條刀軌左邊的那條包絡(luò)線同樣為等殘高線P。因此,目標(biāo)草在曲面上的位置位于目標(biāo) 刀觸點(diǎn)B出發(fā)沿垂直于其進(jìn)給方向f'的b'方向上。而等殘高線P在曲面上的投影線Ps(即目 標(biāo)草根部的點(diǎn)構(gòu)成的曲線)與下一條刀軌C 1+1形狀近似,因此近似認(rèn)為目標(biāo)刀觸點(diǎn)B位于目 標(biāo)草在曲面上的位置出發(fā),垂直于投影線此處切矢a方向上。并且投影線切矢a與目標(biāo)刀觸 點(diǎn)B的進(jìn)給方向f'近似,令切矢a在目標(biāo)刀觸點(diǎn)B位置的曲面密切面上的投影方向即為進(jìn)給 方向f'。
[0049] 已知目標(biāo)刀觸點(diǎn)B位于曲面上從目標(biāo)草位置出發(fā),垂直于投影線切矢a方向上的某 處。于是,目標(biāo)刀觸點(diǎn)B的位置可結(jié)合圖2所示的刀具切割曲面上草的數(shù)學(xué)模型圖,用二分法 迭代求解。整個(gè)迭代流程和求解目標(biāo)草時(shí)類似,唯一區(qū)別只是把移動(dòng)草的位置改為移動(dòng)刀 觸點(diǎn)位置,此處不再贅述。于是我們可以通過當(dāng)前刀軌匕上的多個(gè)刀觸點(diǎn),求解出下一條刀 軌C i+1上的多個(gè)刀觸點(diǎn)。
[0050] 示例性的,可以選取T樣條模型的第一邊界作為初始刀軌Co,然后根據(jù)圖4所示的 方法,根據(jù)初始刀軌和加工參數(shù)(如刀具尺寸和允許的殘高誤差)確定初始刀軌的下一條刀 軌&的多個(gè)刀觸點(diǎn)。
[00511 求得C!上一系列離散的刀觸點(diǎn)后,通過調(diào)用0CC的Ge0mAPI_Interp0late類和 Geom_BsplineCurve類對Ci上的多個(gè)刀觸點(diǎn)進(jìn)行NURBS曲線插值,就可以得到初始刀軌的下 一條刀軌Ci。
[0052]然后,再根據(jù)心和加工參數(shù)確定心的下一條刀軌C2的多個(gè)刀觸點(diǎn),并通過調(diào)用0CC 的〇6011^?1_111丨6印〇1&丨6類和660111_138。1;[116(]111^6類對〇2上的多個(gè)刀觸點(diǎn)進(jìn)行冊1?133曲線插 值,得到Ci的下一條刀軌C 2。同理,重復(fù)上述步驟可以得到C2的下一條刀軌C3,以此類推,直 至某條刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)全部落在T樣條模型的第二邊界上,可得到一系列 等殘高的刀軌。其中T樣條模型的第二邊界與T樣條模型的第一邊界不相交。
[0053]接著用兩條三次埃爾米特(Hermite)曲線構(gòu)成的曲線段,依次首尾連接相鄰兩條 刀軌生成等殘高加工刀軌。值得一提的是,曲線段與相鄰兩條刀軌的連接處以及曲線段中 兩條三次Hermite曲線的連接處均一階連續(xù),光順連接相鄰刀軌,得到一條連續(xù)光順的且中 途無撤刀的等殘高刀軌,如圖5所示。
[0054]其中圖5為本發(fā)明實(shí)例提供的用兩條三次Hermite曲線連接相鄰刀軌的示意圖。需 要說明的是,刀具的刀軌,可以是刀具與曲面接觸點(diǎn)--刀觸點(diǎn)(cutter contact,簡稱CC) 形成的刀軌,也有刀具的刀心點(diǎn)(cutter location,簡稱CL)形成的刀軌,還有刀尖點(diǎn) (cutter tip,簡稱CT)形成的刀軌,本實(shí)施例中的刀軌均指刀觸點(diǎn)CC移動(dòng)的路徑。請參照圖 5所示,其中刀軌Ci的終點(diǎn)為CCo,刀軌Ci在終點(diǎn)CCo處的切矢為Vo,刀軌Ci的下一條刀軌匕 +1的 起點(diǎn)為CC2,刀軌Ci+1在起點(diǎn)CC2處的切矢為V 2,曲線段在連接處C&處的切矢為W。
[0055]示例性的,為了確定用于光順連接相鄰刀軌Ci和Ci+1的兩條三次Hermite曲線構(gòu)成 的曲線段,可以設(shè)%平行于CCo到CC2的連線方向,模長設(shè)為Vo與%模長的平均值;同時(shí),將曲 線段連接處(^的位置設(shè)為從CCo與CC 2連線的中點(diǎn),沿Vo方向偏移預(yù)設(shè)的距離。相應(yīng)的,可以 得到首末端點(diǎn)為CCo與CQ,且首末端點(diǎn)處切矢分別為的第一條三次Hermite曲線,以 及首末端點(diǎn)為〇^與0: 2,且首末端點(diǎn)處切矢分別為¥1與¥2的第二條三次Hermite曲線,則兩 條三次Hermite曲線就唯一定義用于光順連接相鄰刀軌Ci和Ci+i的曲線段。
[0056] 可以理解的是,在實(shí)際加工應(yīng)用中,機(jī)床只能控制刀具按照直線段或圓弧運(yùn)動(dòng)加 工零件,因此需要對刀軌進(jìn)行插補(bǔ)。這里用步長估計(jì)法對圖5所示的刀軌進(jìn)行直線插補(bǔ),獲 得滿足弦高誤差要求的離散移動(dòng)步長。具體的,可以根據(jù)公式Δ/= &計(jì)算步長,其中,Δ 1 為步長,r為曲線半徑,ε為弦高誤差。
[0057] 實(shí)際應(yīng)用中,示例性的,可以調(diào)用0CC的Ge〇m_Line類存儲刀軌插補(bǔ)后的直線段,然 后賦予TopoDS_Shape類用顯示模塊AIS_InteractiveContext類進(jìn)行顯示。
[0058] 示例性的,在本實(shí)施例中,將結(jié)合上述圖3所示的刀具切割曲面上草的數(shù)學(xué)模型對 S13中的切割仿真算法進(jìn)行示例性說明。
[0059 ]假設(shè)曲面上長滿密集的草,刀具沿插補(bǔ)后的刀軌走過會(huì)對草進(jìn)行切割,那么切割 后的草長直接反映了加工誤差。
[0060] 如上所述,通過圖2所示的刀具切割曲面上的草,則刀具的有效切割部分可以看作 一個(gè)半徑為R2的圓繞刀具軸線掃略出的圓環(huán)體。圓環(huán)體在笛卡爾坐標(biāo)系中數(shù)學(xué)表達(dá)式為 (.r- + .v- + z- + - z_ j = 0,其中,X,y,z對應(yīng)曲面上的草的草尖的坐標(biāo),艮P G' = (.y, V·,-) Q
[0061] 草可以視為從曲面上的點(diǎn)出發(fā),沿曲面法矢方向延伸出去的線段,且長度為h。草 在笛卡爾坐標(biāo)系中數(shù)學(xué)表達(dá)式為(5' = γ? + λ./7,(5對應(yīng)第二離散點(diǎn)的坐標(biāo)(曲面上的草的草 根點(diǎn)),拜為第二離散點(diǎn)處曲面的法矢。
[0062] 于是刀具對草的切割可看作圓環(huán)體與直線段求交。換言之,對于加工刀軌上的每 一個(gè)刀觸點(diǎn),
,可以確定當(dāng)?shù)毒呗湓?該刀觸點(diǎn)時(shí),對應(yīng)的第二離散點(diǎn)(曲面上的草的草根點(diǎn))與刀具的垂直距離h。
[0063] 顯然,上式為關(guān)于h的四次齊次方程。解得h的最小實(shí)根,為刀具切割草后的草長。 若無實(shí)根,說明刀具與草不相交。
[0064] 根據(jù)加工刀軌上的每一個(gè)刀觸點(diǎn)對應(yīng)的h就可以確定加工刀軌的加工誤差。具體 的,假設(shè)T樣條曲面上的第二離散點(diǎn)上面植有草,那么曲面便形成一塊草坪。刀具沿刀軌走 過會(huì)對草坪進(jìn)行切割。于是切割后草坪的形狀反映了加工后曲面實(shí)際情況,對于切割后草 的長度直接反映了加工精度。
[0065] 而草的長度就是該離散點(diǎn)的殘留高度。于是將初始?xì)埩舾叨阮A(yù)設(shè)為大于殘高誤差 的值。為提高計(jì)算精度,將刀軌上相鄰兩個(gè)刀觸點(diǎn)連接形成的直線段插入m-1個(gè)刀觸點(diǎn),將 直線段等分為m段。然后依次求解刀具沿著刀軌運(yùn)動(dòng),在每一個(gè)刀觸點(diǎn)上對曲面的第二離散 點(diǎn)位置的切割情況,就能求解出實(shí)際加工的誤差情況與干涉情況。即根據(jù)刀觸點(diǎn)對應(yīng)的h和 弦高誤差就可以確定刀觸點(diǎn)的干涉信息。
[0066] 對于刀具落在每一個(gè)刀觸點(diǎn)上,進(jìn)行相同步驟。之前已經(jīng)確定出曲面上(η+1)Χ (η + 1)個(gè)第二離散點(diǎn)?,F(xiàn)在從離刀觸點(diǎn)最近的曲面上的離散點(diǎn)作為出發(fā)點(diǎn),分別向左、向右依 次沿該排第二離散點(diǎn),運(yùn)用圓環(huán)體與草對應(yīng)的直線求交的模型同時(shí)計(jì)算切割后在第二離散 點(diǎn)位置沿曲面法矢方向到刀具有效切割部分的距離,即殘留高度。若計(jì)算結(jié)果小于原殘留 高度,說明刀具切割該位置,則將計(jì)算結(jié)果作為該點(diǎn)處新的殘留高度。若計(jì)算結(jié)果無實(shí)根, 或者結(jié)果大于原殘留高度,則說明刀具不切割該位置,該點(diǎn)處殘留高度保持不變。沿當(dāng)前方 向,從出發(fā)點(diǎn)開始計(jì)算到邊界處的點(diǎn),則該方向計(jì)算終止。然后再以出發(fā)點(diǎn)向上一排和向下 一排的相同位置的點(diǎn)作為新出發(fā)點(diǎn),同理計(jì)算每一排曲面離散點(diǎn)與刀具切割結(jié)果。直到整 排都是不相交的情況,則不再進(jìn)行下一排的計(jì)算。當(dāng)?shù)K止時(shí),對于被切割的曲面離散 點(diǎn),若殘留高度小于0且絕對值大于弦高誤差,說明刀具在該刀觸點(diǎn)位置存在干涉(注意只 把刀具在當(dāng)前刀觸點(diǎn)位置切割的曲面離散點(diǎn)納入考量)。所有被切割且殘留高度小于0且絕 對值大于弦高誤差的曲面離散點(diǎn),會(huì)形成一塊區(qū)域,稱為干涉區(qū)域。若干涉區(qū)域包括了刀觸 點(diǎn)位置,說明刀具在該刀觸點(diǎn)位置為局部干涉;若干涉區(qū)域不包括刀觸點(diǎn),說明刀具在該刀 觸點(diǎn)位置為后干涉。在實(shí)際應(yīng)用中,可以調(diào)用OCC的Geom_Point類存儲干涉時(shí)刀觸點(diǎn)位置信 息。
[0067] 以上計(jì)算完刀具有效切割部分在單個(gè)刀觸點(diǎn)位置對曲面的切割情況,下面將計(jì)算 刀具在單個(gè)刀觸點(diǎn)位置,刀桿對應(yīng)曲面的干涉情況。將刀具落在刀觸點(diǎn)上,刀桿圓柱體與曲 面上所有曲面上的離散點(diǎn)依次用圓柱與直線求交的模型求解干涉情況。若存在曲面離散點(diǎn) 出現(xiàn)干涉情況,則說明刀具在該刀觸點(diǎn)位置全局干涉,用0CC的Ge 〇m_P〇int類存儲干涉時(shí)刀 觸點(diǎn)位置信息。
[0068] 以上完成刀具在單個(gè)刀觸點(diǎn)位置對曲面切割情況與干涉情況的計(jì)算。從刀軌第一 個(gè)刀觸點(diǎn)開始,沿著刀軌依次采取上述算法進(jìn)行計(jì)算。計(jì)算完一整條刀軌對所有曲面上的 離散點(diǎn)的切割情況,則得到最后曲面上殘高分布情況,以及刀具干涉情況。
[0069] 對于所有曲面上的第二離散點(diǎn),沿該點(diǎn)曲面法矢方向,平移最后計(jì)算出的殘留高 度值,則成為表示加工誤差的殘高分布曲面的離散點(diǎn)。
[0070] 在實(shí)際應(yīng)用中,可選的,可以通過調(diào)用0CC的MeshVS_MeSh類將相鄰三個(gè)殘高分布 曲面的離散點(diǎn)作為一個(gè)三角面片,得到表示殘高分布的細(xì)分曲面。
[0071 ] 進(jìn)一步的,還以通過調(diào)用0CC的MeshVS_NodalColorPrsBuilder類對細(xì)分曲面進(jìn)行 著色。示例性的,若殘留高度大于允許的殘高誤差,殘高分布曲面的離散點(diǎn)設(shè)置為紅色,表 示未切割;若殘留高度小于〇且絕對值大于允許的弦高誤差,殘高分布曲面的離散點(diǎn)設(shè)置為 黃色,表示過切;若殘留高度絕對值小于允許的弦高誤差,殘高分布曲面的離散點(diǎn)對應(yīng)綠 色。殘留尚度為允許的殘尚誤差,殘尚分布曲面的尚散點(diǎn)對應(yīng)深監(jiān)色,其他情況根據(jù)殘留尚 度與允許的殘高誤差的比值對殘高分布曲面的離散點(diǎn)逐漸變色。最后調(diào)用0CC的AIS_ InteractiveContext的類顯示對上述著色進(jìn)行顯示,其中顏色映射表調(diào)用0CC的V3d_ ColorScale 類實(shí)現(xiàn)。
[0072] 另外,對于所有曲面上的第二離散點(diǎn),還可以根據(jù)該離散點(diǎn)與刀具的軸線距離s, 以及該離散點(diǎn)在刀具的軸線上的投影點(diǎn)與刀具的刀心點(diǎn)之間的距離1確定刀具的全局干涉 信息。
[0073] 具體的,可以根據(jù)^|fx:(0-0)|計(jì)算第二離散點(diǎn)與刀具的軸線距離s,根據(jù) ./ = 7_;.(?-?μ十算第二離散點(diǎn)在刀具的軸線上的投影點(diǎn)與刀具的刀心點(diǎn)之間的距離1。其 中,f為刀具的軸線矢量,d對應(yīng)刀具的刀心點(diǎn)坐標(biāo)。當(dāng)s小于刀具半徑,1大于0且1+R2小于 刀具長度時(shí),對應(yīng)曲面上的第二離散點(diǎn)在刀桿圓柱體內(nèi),說明刀具全局干涉。其他情況不存 在全局干涉。
[0074] 在實(shí)際應(yīng)用中,可以設(shè)置點(diǎn)的線寬大于刀軌線段,通過調(diào)用0CC的T〇p〇DS_Shape類 與AIS_InteractiveContext類分別顯示出各刀觸點(diǎn)的局部干涉、后干涉以及刀具的全局干 涉信息。若不存在,則可以彈出彈窗提示無干涉。
[0075] 最后,如果根據(jù)加工刀軌的加工誤差和干涉信息判斷加工刀軌的加工誤差是小于 預(yù)設(shè)值且不存在干涉信息(包括各刀觸點(diǎn)的局部干涉、后干涉以及刀具的全局干涉信息), 則根據(jù)生成的加工刀軌導(dǎo)出用于控制T樣條模型的數(shù)控加工的加工代碼。反之,則還需要對 加工刀軌進(jìn)行調(diào)整,直至加工導(dǎo)軌的加工誤差小于預(yù)設(shè)值且不存在干涉信息時(shí),根據(jù)調(diào)整 后的加工刀軌導(dǎo)出用于控制T樣條模型的數(shù)控加工的加工代碼。
[0076] 示例性的,導(dǎo)出加工刀軌到UG(Unigraphics NX)或者Catia中后置處理,生成加工 代碼,用于實(shí)現(xiàn)T樣條模型的加工。
[0077] 示例性的,將加工刀軌按照UG的CLF格式,或者Catia的APTS0URCE格式導(dǎo)出,將T樣 條離散轉(zhuǎn)化為STL格式的細(xì)分曲面,與APTS0URCE格式的刀軌共同導(dǎo)入到Catia中。然后,通 過調(diào)用機(jī)床廠商提供的后置程序生成加工代碼,并利用機(jī)床進(jìn)行加工。
[0078] 本發(fā)明實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法,通過基于0CC搭建 支持T樣條模型加工與仿真的CAM軟件,通過采用工程中實(shí)用的等殘高加工方法生成加工刀 軌,并通過一種切割仿真算法對加工刀軌的加工誤差和干涉信息進(jìn)行分析。采用0CC這款開 源CAD內(nèi)核,其建模、顯示、數(shù)據(jù)交換等功能可以直接調(diào)用,能夠直接提供加工仿真功能,實(shí) 現(xiàn)加工誤差和干涉情況分析,為技術(shù)人員判斷刀軌是否合格提供依據(jù),大大提高了生成T樣 條模型的數(shù)控加工方案的效率。
[0079] 基于與上述圖1所述實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法相同的 思想,本發(fā)明實(shí)施例還分別提供了基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng)。其中系統(tǒng)部分 與上述方法對應(yīng),對應(yīng)內(nèi)容技術(shù)效果相同,在此不再贅述。
[0080] 圖6為本發(fā)明實(shí)施例提供的一基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng)示意圖,如 圖6所示,本實(shí)施例提供的系統(tǒng)包括模型生成單元61,接收單元62,加工刀軌生成單元63,誤 差與干涉判定單元64,加工代碼生成單元65以及數(shù)控加工單元66。
[0081] 具體的,模型生成單元61用于獲取T樣條數(shù)據(jù)文件,并根據(jù)T樣條數(shù)據(jù)文件生成對 應(yīng)的T樣條模型;接收單元62用于接收用戶輸入的加工參數(shù);加工刀軌生成單元63用戶輸入 的加工參數(shù),通過等殘高刀軌生成方法生成加工刀軌;誤差與干涉判定單元64用于根據(jù)用 戶輸入的加工參數(shù),通過切割仿真算法確定加工刀軌的加工誤差和干涉信息;加工代碼生 成單元65用于:若加工刀軌的加工誤差小于預(yù)設(shè)值且不存在干涉信息,則根據(jù)加工刀軌生 成加工代碼;數(shù)控加工單元66用于根據(jù)生成的加工代碼進(jìn)行T樣條模型的數(shù)控加工。
[0082] 本實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng),可以用來實(shí)現(xiàn)上述方法 實(shí)施例提供的技術(shù)方案,與上述方法實(shí)施例對應(yīng),對應(yīng)的內(nèi)容和技術(shù)效果相同,在此不再贅 述。
[0083]圖7為本發(fā)明實(shí)施例提供的另一基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng)示意圖, 如圖7所示,本實(shí)施例在圖6所示實(shí)施例的基礎(chǔ)上,上述系統(tǒng)還可以包括加工刀軌調(diào)整單元 67,用于:若加工刀軌的加工誤差不小于預(yù)設(shè)值和/或存在干涉信息,則調(diào)整加工刀軌的,直 至加工刀軌的加工誤差小于預(yù)設(shè)值且不存在干涉信息。
[0084] 在實(shí)際應(yīng)用中,上述模型生成單元61具體可以包括:確定模塊611,映射模塊612和 顯示模塊613。
[0085] 其中,確定模塊611可以用于根據(jù)T樣條數(shù)據(jù)文件確定計(jì)算T樣條所需的控制頂點(diǎn)、 控制頂點(diǎn)的權(quán)重以及控制頂點(diǎn)對應(yīng)的節(jié)點(diǎn)矢量分布信息。映射模塊612可以用于根據(jù)T樣條
,確定T樣條在參數(shù)域中的第一離散點(diǎn)映射到笛卡爾空間中對 應(yīng)的第二離散點(diǎn)的位置,其中,第一離散點(diǎn)為將參數(shù)域區(qū)間等分得到的(n+l)X(n+l)個(gè)離 散點(diǎn),η為大于零的正整數(shù),參數(shù)域區(qū)間為0 < u < 1且0 < v < 1,A為在笛卡爾空間中對當(dāng)前所 要確定的第二離散點(diǎn)有影響的控制頂點(diǎn)的集合,Pi為控制頂點(diǎn)i在笛卡爾空間中的位置,Wi 為控制頂點(diǎn)1的權(quán)重,1^(11,¥)=1'1:1(11)*1'1:1(>),1'1:1(11)和1'1:1(>)分別為參數(shù)11和¥的伯恩斯坦基, 化(1!)和化(7)根據(jù)控制頂點(diǎn)i對應(yīng)的節(jié)點(diǎn)矢量分布信息確定。顯示模塊613可以用于根據(jù)控 制頂點(diǎn)和所有的第二離散點(diǎn),通過調(diào)用0CC的顯示模塊生成T樣條模型。
[0086]在實(shí)際應(yīng)用中,上述加工刀軌生成單元63具體可以包括:初始刀軌確定模塊631, 刀觸點(diǎn)確定模塊632,NURBS曲線插值模塊633以及連接模塊634。其中,初始刀軌確定模塊 631可以用于選取T樣條模型的第一邊界作為初始刀軌。刀觸點(diǎn)確定模塊632可以用于根據(jù) 初始刀軌和用戶輸入的加工參數(shù)確定初始刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)。NURBS曲線插 值模塊633可以用于通過調(diào)用0CC的66011^?1_11^6印〇1&七6類和660111_138。1;[116(]111'¥6類對初 始刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)進(jìn)行NURBS曲線插值得到初始刀軌的下一條刀軌。
[0087]進(jìn)一步的,刀觸點(diǎn)確定模塊632還可以用于:依次對每一條刀軌,根據(jù)該刀軌和用 戶輸入的加工參數(shù)確定該刀軌的下一條刀軌的多個(gè)刀觸點(diǎn),直至該刀軌的下一條刀軌的多 個(gè)刀觸點(diǎn)全部落在T樣條模型的第二邊界上。需要說明的是,T樣條模型的第二邊界與第一 邊界不相交。
[0088] 進(jìn)一步的,NURBS曲線插值模塊633還可以用于,通過調(diào)用0CC的GeomAPI_ Interpolate類和Geom_BsplineCurve類對上述每一條刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)進(jìn) 行NURBS曲線插值得到刀軌的下一條刀軌。
[0089] 具體的,連接模塊634可以用于通過曲線段依次首尾連接相鄰兩條刀軌生成等殘 高加工刀軌。需要說明的是,用于連接相鄰兩條刀軌的曲線段由兩條三次Hermite曲線連接 構(gòu)成,且曲線段與相鄰兩條刀軌的連接處以及曲線段中兩條三次埃爾米特曲線的連接處均 一階連續(xù)。
[0090] 在實(shí)際應(yīng)用中,誤差與干涉判定單元64具體可以包括第一確定模塊641,第二確定 模塊642,誤差判定模塊643和干涉判定模塊644。
[0091] 具體的,第一確定模塊641可以用于:對于加工刀軌上的每一個(gè)刀觸點(diǎn),根據(jù)
,確定當(dāng)?shù)毒呗湓谠摰队|點(diǎn)時(shí),對應(yīng)的第 二離散點(diǎn)與刀具的垂直距離h,其中,少對應(yīng)所述第二離散點(diǎn)的坐標(biāo),拜為所 述第二離散點(diǎn)處T樣條曲面的法矢,1?2為與所述刀具的軸線共面且圓心與所述刀具的軸線 距離為Ri的圓的半徑:
,D為所述刀具的直徑。第二確定模塊642可以用于:根據(jù) λ'= |?χ(0-0)|計(jì)算各第二離散點(diǎn)與刀具的軸線距離s,根據(jù)/ = 7夂(0-0)計(jì)算各第二離散點(diǎn) 在刀具的軸線上的投影點(diǎn)與刀具的刀心點(diǎn)之間的距離1,其中,j為刀具的軸線矢量,Q對應(yīng) 刀具的刀心點(diǎn)坐標(biāo)。誤差判定模塊643可以用于根據(jù)加工刀軌上的刀觸點(diǎn)對應(yīng)的h確定加工 刀軌的加工誤差。干涉判定模塊644可以用于:根據(jù)各刀觸點(diǎn)對應(yīng)的h和弦高誤差確定刀觸 點(diǎn)的干涉信息。同時(shí),干涉判定模塊644還可以用于:根據(jù)s、l、刀具的直徑和刀具的長度確 定刀具的干涉信息。其中,刀具的直徑、刀具的長度、殘高誤差和弦高誤差是通過接收單元 62接收用戶輸入的加工參數(shù)。
[0092]本實(shí)施例提供的基于0CC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng),可以用來實(shí)現(xiàn)上述方法 實(shí)施例提供的技術(shù)方案,與上述方法實(shí)施例對應(yīng),對應(yīng)的內(nèi)容和技術(shù)效果相同,在此不再贅 述。
[0093]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通 過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中。該程 序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:R〇M、RAM、磁碟或 者光盤等各種可以存儲程序代碼的介質(zhì)。
[0094]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依 然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn) 行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù) 方案的范圍。
【主權(quán)項(xiàng)】
1. 一種基于OCC實(shí)現(xiàn)T樣條模型的數(shù)控加工方法,其特征在于,包括: 獲取Τ樣條數(shù)據(jù)文件,根據(jù)所述Τ樣條數(shù)據(jù)文件生成對應(yīng)的Τ樣條模型; 接收用戶輸入的加工參數(shù),根據(jù)所述加工參數(shù),通過等殘高刀軌生成方法生成加工刀 軌; 根據(jù)所述加工參數(shù),通過切割仿真算法確定所述加工刀軌的加工誤差和干涉信息; 若所述加工誤差小于預(yù)設(shè)值且不存在所述干涉信息,則根據(jù)所述加工參數(shù)和所述加工 刀軌生成加工代碼; 根據(jù)所述加工代碼進(jìn)行所述Τ樣條模型的數(shù)控加工。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 若所述加工誤差不小于預(yù)設(shè)值和/或存在所述干涉信息,則調(diào)整所述加工刀軌,直至所 述加工誤差小于預(yù)設(shè)值且不存在所述干涉信息。3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述Τ樣條數(shù)據(jù)文件生成對應(yīng) 的Τ樣條模型,包括: 根據(jù)所述Τ樣條數(shù)據(jù)文件確定計(jì)算Τ樣條所需的控制頂點(diǎn)、所述控制頂點(diǎn)的權(quán)重以及所 述控制頂點(diǎn)對應(yīng)的節(jié)點(diǎn)矢量分布信息; 根據(jù)Τ樣條公¥確定所述Τ樣條在參數(shù)域中的第一離散點(diǎn)映射 到笛卡爾空間中對應(yīng)的第二離散點(diǎn)的位置;其中,所述第一離散點(diǎn)為將參數(shù)域區(qū)間等分得 到的(n+1) X (n+1)個(gè)離散點(diǎn),η為大于零的正整數(shù),所述參數(shù)域區(qū)間為0 < u < 1且0 < v < 1,A 為在笛卡爾空間中對當(dāng)前所要確定的第二離散點(diǎn)有影響的控制頂點(diǎn)的集合,Pi為控制頂點(diǎn) i在笛卡爾空間中的位置,Wi為控制頂點(diǎn)i的權(quán)重,Bi(u,V)=Ni(u) · Ni(v),Ni(u)和Ni(v)分 別為參數(shù)u和v的伯恩斯坦基,所述NKuWPNdv)根據(jù)控制頂點(diǎn)i對應(yīng)的節(jié)點(diǎn)矢量分布信息確 定; 根據(jù)所述控制頂點(diǎn)和所述第二離散點(diǎn),通過調(diào)用所述0CC的顯示模塊生成所述T樣條模 型。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述加工參數(shù),通過等殘高刀軌 生成方法生成加工刀軌,包括: 選取所述T樣條模型的第一邊界作為初始刀軌; 根據(jù)所述初始刀軌和所述加工參數(shù)確定所述初始刀軌的下一條刀軌的多個(gè)刀觸點(diǎn),通 過調(diào)用所述0CC的GeomAPI_Interpolate類和Geom_BsplineCurve類對所述初始刀軌的下一 條刀軌的多個(gè)刀觸點(diǎn)進(jìn)行NURBS曲線插值得到所述初始刀軌的下一條刀軌; 依次對每一條刀軌,根據(jù)該刀軌和所述加工參數(shù)確定所述刀軌的下一條刀軌的多個(gè)刀 觸點(diǎn),通過調(diào)用所述0CC的GeomAPI_Interpolate類和Geom_BsplineCurve類對所述刀軌的 下一條刀軌的多個(gè)刀觸點(diǎn)進(jìn)行NURBS曲線插值得到所述刀軌的下一條刀軌,直至所述刀軌 的下一條刀軌的多個(gè)刀觸點(diǎn)全部落在所述T樣條模型的第二邊界上,所述第二邊界與所述 第一邊界不相交; 通過曲線段依次首尾連接相鄰兩條刀軌生成等殘高加工刀軌,所述曲線段由兩條三次 埃爾米特曲線連接構(gòu)成,所述曲線段與所述相鄰兩條刀軌的連接處以及所述曲線段中兩條 三次埃爾米特曲線的連接處均一階連續(xù)。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述加工參數(shù)包括刀具的直徑、刀具的長 度、殘高誤差和弦高誤差; 所述根據(jù)所述加工參數(shù),通過切割仿真算法確定所述加工刀軌的加工誤差和干涉信 息,包括: 對于所述加工刀軌上的每一個(gè)刀觸點(diǎn),根_確定當(dāng)?shù)毒呗湓谒龅队|點(diǎn)時(shí),所述第二離散點(diǎn)與所述刀具的垂直距離h,其中, @ Z),(5對應(yīng)所述第二離散點(diǎn)的坐標(biāo),i為所述第二離散點(diǎn)處τ樣條曲面的法矢,r2 為與所述刀具的軸線共面且圓心與所述刀具的軸線距離為心的圓的半徑①為 所述刀具的直徑; 根據(jù)Λ' = ^χ(δ-?)|計(jì)算所述第二離散點(diǎn)與所述刀具的軸線距離s,根據(jù)/ =廣(0-0)計(jì) 算所述第二離散點(diǎn)在所述刀具的軸線上的投影點(diǎn)與所述刀具的刀心點(diǎn)之間的距離1,其中, f為所述刀具的軸線矢量,d對應(yīng)所述刀具的刀心點(diǎn)坐標(biāo); 根據(jù)所述加工刀軌上的刀觸點(diǎn)對應(yīng)的h確定所述加工刀軌的加工誤差; 根據(jù)所述刀觸點(diǎn)對應(yīng)的h和所述弦高誤差確定所述刀觸點(diǎn)的干涉信息; 根據(jù)所述s、1、所述刀具的直徑和所述刀具的長度確定所述刀具的干涉信息。6. -種基于OCC實(shí)現(xiàn)T樣條模型的數(shù)控加工系統(tǒng),其特征在于,包括: 模型生成單元,用于獲取T樣條數(shù)據(jù)文件,根據(jù)所述T樣條數(shù)據(jù)文件生成對應(yīng)的T樣條模 型; 接收單元,用于接收用戶輸入的加工參數(shù); 加工刀軌生成單元,用于根據(jù)所述加工參數(shù),通過等殘高刀軌生成方法生成加工刀軌; 誤差與干涉判定單元,用于根據(jù)所述加工參數(shù),通過切割仿真算法確定所述加工刀軌 的加工誤差和干涉信息; 加工代碼生成單元,用于若所述加工誤差小于預(yù)設(shè)值且不存在所述干涉信息,則根據(jù) 所述加工參數(shù)和所述加工刀軌生成加工代碼; 數(shù)控加工單元,用于根據(jù)所述加工代碼進(jìn)行所述T樣條模型的數(shù)控加工。7. 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 加工刀軌調(diào)整單元,用于:若所述加工誤差不小于預(yù)設(shè)值和/或存在所述干涉信息,則 調(diào)整所述加工刀軌,直至所述加工誤差小于預(yù)設(shè)值且不存在所述干涉信息。8. 根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述模型生成單元包括: 確定模塊,用于根據(jù)所述T樣條數(shù)據(jù)文件確定計(jì)算T樣條所需的控制頂點(diǎn)、所述控制頂 點(diǎn)的權(quán)重以及所述控制頂點(diǎn)對應(yīng)的節(jié)點(diǎn)矢量分布信息; 映射模塊,用于根據(jù)T樣條公式,確定所述T樣條在參數(shù)域中的 第一離散點(diǎn)映射到笛卡爾空間中對應(yīng)的第二離散點(diǎn)的位置;其中,所述第一離散點(diǎn)為將參 數(shù)域區(qū)間等分得到的(n+l)X(n+l)個(gè)離散點(diǎn),η為大于零的正整數(shù),所述參數(shù)域區(qū)間為0<u < 1且1,A為在笛卡爾空間中對當(dāng)前所要確定的第二離散點(diǎn)有影響的控制頂點(diǎn)的集 合,Pi為控制頂點(diǎn)i在笛卡爾空間中的位置,Wi為控制頂點(diǎn)i的權(quán)重,Bi (u,v) = Ni (u) · Ni (v), NduWPNdv)分別為參數(shù)u和v的伯恩斯坦基,所述NduWPNdv)根據(jù)控制頂點(diǎn)i對應(yīng)的節(jié)點(diǎn) 矢量分布信息確定; 顯示模塊,用于根據(jù)所述控制頂點(diǎn)和所述第二離散點(diǎn),通過調(diào)用所述0CC的顯示模塊生 成所述T樣條模型。9. 根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述加工刀軌生成單元包括: 初始刀軌確定模塊,用于選取所述T樣條模型的第一邊界作為初始刀軌; 刀觸點(diǎn)確定模塊,用于根據(jù)所述初始刀軌和所述加工參數(shù)確定所述初始刀軌的下一條 刀軌的多個(gè)刀觸點(diǎn); NURBS曲線插值模塊,用于通過調(diào)用所述0CC的66〇11^?1_11^6印〇13七6類和66〇111_ BsplineCurve類對所述初始刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)進(jìn)行NURBS曲線插值得到所述 初始刀軌的下一條刀軌; 所述刀觸點(diǎn)確定模塊還用于,依次對每一條刀軌,根據(jù)該刀軌和所述加工參數(shù)確定所 述刀軌的下一條刀軌的多個(gè)刀觸點(diǎn),直至所述刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)全部落在所 述T樣條模型的第二邊界上,所述第二邊界與所述第一邊界不相交; 所述NURBS曲線插值模塊還用于,通過調(diào)用所述0CC的GeomAPI_Interpolate類和Geom_ BsplineCurve類對所述刀軌的下一條刀軌的多個(gè)刀觸點(diǎn)進(jìn)行NURBS曲線插值得到所述刀軌 的下一條刀軌; 連接模塊,用于通過曲線段依次首尾連接相鄰兩條刀軌生成等殘高加工刀軌,所述曲 線段由兩條三次埃爾米特曲線連接構(gòu)成,所述曲線段與所述相鄰兩條刀軌的連接處以及所 述曲線段中兩條三次埃爾米特曲線的連接處均一階連續(xù)。10. 根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述加工參數(shù)包括刀具的直徑、刀具的長 度、殘尚誤差和弦尚誤差; 所述誤差與干涉判定單元包括: 第一確宙樽塊,用干:對干所述加工刀軌上的每一個(gè)刀觸點(diǎn),根據(jù),確定當(dāng)?shù)毒呗湓谒龅队|點(diǎn)時(shí),所述第二離 散點(diǎn)與所述刀具的垂直距離h,其中,(5/ = (.\%少,21(5對應(yīng)所述第二離散點(diǎn)的坐標(biāo),沒為所 述第二離散點(diǎn)處τ樣條曲面的法矢,辦為與所述刀具的軸線共面且圓心與所述刀具的軸線 距離為R:的圓的半徑,A = #- 4,D為所述刀具的直徑; 第二確定模塊,用于:根據(jù)s = |fx(0-0)|計(jì)算所述第二離散點(diǎn)與所述刀具的軸線距離 S,根據(jù)/ = /'_(?-?)計(jì)算所述第二離散點(diǎn)在所述刀具的軸線上的投影點(diǎn)與所述刀具的刀心 點(diǎn)之間的距離1,其中,f為所述刀具的軸線矢量,?對應(yīng)所述刀具的刀心點(diǎn)坐標(biāo); 誤差判定模塊,用于根據(jù)所述加工刀軌上的刀觸點(diǎn)對應(yīng)的h確定所述加工刀軌的加工 誤差; 干涉判定模塊,用于:根據(jù)所述刀觸點(diǎn)對應(yīng)的h和所述弦高誤差確定所述刀觸點(diǎn)的干涉 信息; 所述干涉判定模塊還用于:根據(jù)所述s、l、所述刀具的直徑和所述刀具的長度確定所述 刀具的干涉信息。
【文檔編號】G05B19/4097GK105867310SQ201610221895
【公開日】2016年8月17日
【申請日】2016年4月11日
【發(fā)明人】王偉, 李睿, 趙罡
【申請人】北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1