亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

從多個3D曲線創(chuàng)建表面的制造方法與工藝

文檔序號:11489756閱讀:403來源:國知局
從多個3D曲線創(chuàng)建表面的制造方法與工藝
本發(fā)明涉及計算機程序和系統(tǒng)領(lǐng)域,更具體地,涉及一種從多個3D曲線創(chuàng)建表面的方法、系統(tǒng)和程序。

背景技術(shù):
在市場上提供了許多用于對象設(shè)計、工程和制造的系統(tǒng)和程序。CAD是計算機輔助設(shè)計的縮寫,例如,其涉及用于設(shè)計對象的軟件解決方案。CAE是計算機輔助工程的縮寫,例如,其涉及用于模擬未來產(chǎn)品的物理行為的軟件解決方案。CAM是計算機輔助制造的縮寫,例如,其涉及用于定義制造的處理和操作的軟件解決方案。在這些系統(tǒng)中,圖形用戶界面(GUI)在關(guān)于技術(shù)的效率方面發(fā)揮了重要的作用。可以將這些技術(shù)嵌入到產(chǎn)品生命周期管理(PLM)系統(tǒng)中。PLM是指如下商業(yè)策略,其幫助公司共享產(chǎn)品數(shù)據(jù)、應(yīng)用公共處理、利用企業(yè)知識,以通過擴展企業(yè)的概念從產(chǎn)品概念到產(chǎn)品壽命結(jié)束開發(fā)產(chǎn)品。由達索系統(tǒng)(商標為CATIA、ENOVIA、和DELMIA)所提供的PLM解決方案提供了:工程中心,其組織產(chǎn)品工程知識;制造中心,其管理制造工程知識;和企業(yè)中心,其使企業(yè)實現(xiàn)集成和連接到工程和制造中心兩者中去。利用以上這些,這種系統(tǒng)提供了開放對象模型,該模型將產(chǎn)品、處理、資源聯(lián)系起來以實現(xiàn)動態(tài)的、基于知識的產(chǎn)品創(chuàng)造和決策支持,以驅(qū)動最優(yōu)化的產(chǎn)品定義、制造準備、生產(chǎn)和服務(wù)。這些系統(tǒng)中的某些允許從多個3D曲線創(chuàng)建表面,其落入幾何建模的一般范疇內(nèi),更確切地是落入表面設(shè)計內(nèi)。一本介紹性的刊物是“GeometricModeling”,第三版,MichaelE.Mortenson著,工業(yè)出版社,2006年5月。該刊物特別關(guān)注的是任何類型的復(fù)合表面(一個或許多表面的填充),特別是彎曲表面、三角網(wǎng)格(由平面組成)、或者細分表面的填充。B-Rep(邊界表示法)是本文將提到的數(shù)學(xué)模型,因為其將以上所提到的所有表面組合成單一的概念。B-Rep將R2域和R3范圍的一個或多個函數(shù)fi(s,t)->(x,y,z)和邏輯信息進行聚合,該邏輯信息是關(guān)于這些單獨的片如何“縫合”到一起??p合可以“修整”表面,意味著每個函數(shù)的R2域都不能完整地作為一個整體使用。如何最好地從曲線集合生成這種表面的拼縫物是幾何建模的傳統(tǒng)問題。在三角網(wǎng)格的特別情形中,每個單獨的表面元素都是平面,即平的面。B-Rep的一個眾所周知的定義是STEPAP203。這是將CATPart輸出為.stp文件時,CATIAV5和CATIAV6應(yīng)用的標準。B-Rep是開放的,在此情形下它們不封閉體積,或者B-Rep是封閉的,在此情形下它們描述體積的邊界,并且同樣地可以表示實體對象。在STEPAP203中,分別用關(guān)鍵字OPEN_SHELL和CLOSED_SHELL表示它們。然而,可在比AP203標準更廣泛的意義上使用術(shù)語B-Rep,在AP203中,僅僅將開放B-Rep的情形稱作開放shell,而術(shù)語B-Rep(在關(guān)鍵字“ADVANCED_BREP_SHAPE_REPRESENTATION”中)為封閉shell情形所保留。不封閉體積的B-Rep經(jīng)常被稱為表面(以單一形式的),甚至當(dāng)由許多子函數(shù)所組成時。這尤其是當(dāng)子片的連接是平滑的時,對用戶掩飾該對象的復(fù)雜特性的情形。工程師或設(shè)計者經(jīng)常將所生成的復(fù)雜形狀談及為單一表面。為了促進3D模型的構(gòu)建,在特定的自由形態(tài)的形狀中,某些CAD系統(tǒng)提供了用于自一組較低維的輸入生成B-Rep(或其部分)的不同的方法。這些輸入可以是一組每隔一定間隔的點,一組點和切平面,一剖面和一擠壓方向,掃描剖面和掃描軌跡的組合,一組用于插值的曲線。在曲線組的情形下,一般需要對曲線組進行完美地相交或者排序。例如,CATIAV5/6的NET表面從相交曲線的網(wǎng)格中創(chuàng)建了表面??梢允褂脧腞2映射到R3的多個函數(shù)來構(gòu)成B-Rep。這些可以包括從簡單平面(如處于三角網(wǎng)格中)到非常高階的多項式,并且也可以包括規(guī)范的表面,例如,圓柱面。利用整合到例如CATIA中的Catmull-Clark細分表面也是可能的,就像US專利7595799和7400323所描述的。在這些系統(tǒng)中,首先為了實時的可視化,將細分表面轉(zhuǎn)換為三角網(wǎng)格,并接著為了確定的高質(zhì)量結(jié)果,將其轉(zhuǎn)換為B-Spline表面。另外值得提及的是計算機輔助曲線描繪。來自曲線的表面構(gòu)建最好被用于可以迅速且容易地構(gòu)建曲線的環(huán)境中。曲線描繪是計算機繪圖的有很多研究的領(lǐng)域。題名為“ILoveSketch:As-natural-as-possiblesketchingsystemforcreating3Dcurvemodels”的出版物,ACMSymposiumonUserInterfaceSoftwareandTechnology2008,Monterey,CA,USA,2008年10月19-22日,以及題名為“EverybodyLovesSketch:3DSketchingforaBroaderAudience”,SeokHyungBae,RavinBalakrishnan,和KaranSingh,ProceedingsofACMSymposiumonUserInterfaceSoftwareandTechnology2009,Victoria,BC,Canada,2009年10月4-7日,第59-68頁的出版物介紹了曲線描繪。這兩個出版物論述了定義形狀的曲線網(wǎng)絡(luò),但是由于這種操作很困難,因此未建議用表面處理形狀。從多個3D曲線創(chuàng)建表面的現(xiàn)有解決方案的一個問題在于在形狀定義方面給予藝術(shù)家或工程師的靈活性太少?,F(xiàn)有的解決方案不允許無約束的設(shè)計動作。通常,將新想法輸入到畫板時,這種方案不能滿足高創(chuàng)造性的藝術(shù)家用戶,這種用戶對計算機系統(tǒng)的任何不靈活性(的確)不耐煩。這種方案不允許試驗和錯誤,以及對形狀的高度交互式修改。它們對與產(chǎn)品設(shè)計有關(guān)的任何人來說都是不便于使用的,特別是產(chǎn)品設(shè)計藝術(shù)家。對于任何與產(chǎn)品設(shè)計有關(guān)的人來說都能使用的系統(tǒng)將會是有幫助的,由于所有人都可以交換想法,并且因此受到與藝術(shù)家相同的對即時創(chuàng)作的限制?,F(xiàn)有技術(shù)中的從曲線構(gòu)建表面的方法落入兩個類別:掃描/放樣類型的方法,和網(wǎng)格表面(如同網(wǎng)絡(luò)中的網(wǎng)格)。掃描/放樣方法需要把曲線分成不同類別,典型地,一個曲線將是引導(dǎo),并且其他曲線將是截面形狀,或者可能該截面形狀將是指定的并且沒有引導(dǎo)。在所有這些情形中,必須仔細地組織輸入,并且最終的表面并不是真正的自由形態(tài),而是面對特定方向(從一個截面到下一個,或者沿著引導(dǎo)曲線)的流暢形狀。掃描和放樣是非常有用的,并且在CAD系統(tǒng)中被密集地使用,但是其不適用于3D形狀的真正自由形態(tài)的描繪,由于它需要將要獲得的形狀的詳細視圖,并且因此不支持開放性、試驗和錯誤類型方法。網(wǎng)絡(luò)表面(簡稱為網(wǎng)絡(luò))是一類技術(shù),其中最廣為所知的是Coons表面??梢詮奈恼隆癉iscreteCoonsPatches”,F(xiàn)arin&Hansford,ComputerAidedGeometricDesign16(1999)691-700中找到對于Coons表面的很好的討論。存在許多其他類型的網(wǎng)格表面,包括上述CATIA網(wǎng)格表面,或者指引如何使細分表面適合曲線的出版物(“InterpolatingNetsofCurvesbySmoothSubdivisionSurfaces”,Levin,Siggraph99)中的方法,其基于定義一種特殊的收斂到曲線的細分方案。所有網(wǎng)絡(luò)表面都具有共同點就是它們對曲線網(wǎng)格插值。因為該表面貫穿該曲線,該曲線必須彼此相交,以形成具有閉合環(huán)路的網(wǎng)格。這是對于大多數(shù)藝術(shù)工作來說是會受打斷工作的情況,這是由于隨意地以3D描繪一組曲線使得它們互相接觸是幾乎不可能的。同樣值得提及的是關(guān)于擬合的參考文獻,該參考文獻是題名為“fittingsubdivisionsurfaces”,Litke,Levin和Schroder,Siggraph2001所著的出版物。在該文件中所描述的方法影響總體目標(所有點都具有它們應(yīng)當(dāng)達到的目標位置)。在這種背景中,更需要一種用于從多個3D曲線創(chuàng)建表面的改進的解決方案。

技術(shù)實現(xiàn)要素:
根據(jù)一個方面,提供了一種計算機實現(xiàn)方法,用于從多個3D曲線創(chuàng)建表面。該方法包括:提供多個3D曲線,確定曲線對之間的交叉,定義基本圖形,所述圖形包括表示交叉的節(jié)點和連接節(jié)點對的表示相鄰交叉的弧,從所述圖形確定網(wǎng)格,該網(wǎng)格包括由3D位置定義的頂點以及連接頂點對的邊,并且用表面擬合網(wǎng)格。該方法可以包括以下步驟的一個或多個:-確定該交叉包括:將曲線的相應(yīng)對之間的至少一個交叉確定為點對,每個點都屬于曲線的相應(yīng)對的不同的一個;-該方法包括將所述多個3D曲線投影到支持物上,從而獲得了多個對應(yīng)的投影曲線,確定投影曲線對之間的交叉,并且檢索對應(yīng)于所述投影曲線對之間的交叉的曲線的點對;-將所述多個3D曲線投影到支持物上包括:離散多個3D曲線為包括一組線段的折線,并且,將所述線段投影到支持物上,從而獲得多個對應(yīng)的投影線段;并且確定投影曲線對之間的交叉包括確定與屬于相同體素的不同曲線相對應(yīng)的投影線段對,確定在所確定的投影線段對之間的雙垂線,并且確定所述雙垂線的末端;-確定所述網(wǎng)格包括:向圖形增加弧和/或節(jié)點,直到圖形的所有貼片都被劃分為具有三條或四條弧的面;-確定所述網(wǎng)格包括:向圖形增加弧和/或節(jié)點,直到?jīng)]有T型結(jié)點留下;-確定所述網(wǎng)格包括:根據(jù)網(wǎng)格細分方案,向圖形增加弧和/或節(jié)點;-所述交叉包括在曲線的相應(yīng)對之間的被確定為點對的至少一個交叉,每個點都屬于曲線的相應(yīng)對中的不同的一個,并且其中確定所述網(wǎng)格包括:將所述點對中心的3D位置與表示所述至少一個交叉的節(jié)點關(guān)聯(lián)起來;-確定所述網(wǎng)格包括:向所述圖形增加節(jié)點,并且將3D位置與給定增加節(jié)點關(guān)聯(lián)起來,所述3D位置取決于相對于增加節(jié)點前的圖形的給定節(jié)點的拓撲位置;如果給定增加節(jié)點的拓撲位置處于增加節(jié)點前的圖形的一條弧上,則根據(jù)與弧的末端處的節(jié)點相關(guān)聯(lián)的3D位置,通過偏移由弧表示的曲線計算位置,或者,如果所述節(jié)點的拓撲位置在將節(jié)點增加到具有四條邊的圖形前的圖形的貼片的內(nèi)部,則通過Coons方法計算位置,或者,在任何其它情形中,通過對相鄰點的3D位置取平均計算位置;-所述多個3D曲線包括:被不受約束地描繪的曲線。還主張一種CAD系統(tǒng),包括:至少一個具有記錄于其上的指令的存儲器,所述指令用于執(zhí)行上述方法,至少一個與所述存儲器耦合的處理器,以及至少一個與所述處理器耦合,并適合執(zhí)行所述指令的圖形用戶界面。還主張一種計算機程序,包括執(zhí)行上述方法的指令。還主張一種計算機可讀記錄介質(zhì),具有記錄于其上的上述計算機程序。附圖說明現(xiàn)在通過非限制示例并參考附圖描述本發(fā)明的實施例,其中:圖1表示方法示例的流程圖;圖2表示圖形用戶界面的示例;以及圖3表示客戶計算機系統(tǒng)的示例;圖4表示方法示例的流程圖;圖5-14表示方法的示意性示例。具體實施方式圖1表示了用于從多個3D曲線創(chuàng)建表面的計算機執(zhí)行方法的示例的流程圖。該方法包括:提供(S10)多個3D曲線,確定(S20)曲線對之間的交叉,并且定義(S30)基本圖形。所述基本圖形包括表示交叉的節(jié)點和連接節(jié)點對的表示相鄰交叉的弧。該方法也包括:從所述圖形確定(S40)網(wǎng)格,該網(wǎng)格包括由3D位置定義的頂點以及連接頂點對的邊。然后該方法包括使用表面擬合(S50)網(wǎng)格。這種方法改進了從多個3D曲線創(chuàng)建表面。該方法可以由設(shè)計CAD建模對象的處理組成?!霸O(shè)計CAD建模對象”指定任何動作或一系列動作,它們是精心制作CAD建模對象的處理的至少一部分。因此,該方法可以包括從痕跡創(chuàng)建CAD建模對象??商娲?,該方法可以包括提供之前所創(chuàng)建的CAD建模對象,并且接著修改該CAD建模對象。無論如何,由該方法創(chuàng)建的表面可以表示CAD建模對象或它的至少一部分,例如,CAD建模對象的邊界。因為該方法使得從多個3D曲線創(chuàng)建表面變得更加容易,該方法也使得對CAD建模對象的設(shè)計變得更加容易。建模對象是由存儲在CAD系統(tǒng)的存儲器中的數(shù)據(jù)定義的任何對象。通過擴展其含義,表達“建模對象”是指數(shù)據(jù)本身。根據(jù)該系統(tǒng)的類型,可以由不同類型的數(shù)據(jù)定義建模對象。CAD系統(tǒng)是至少適合于在建模對象的圖形表達,例如CATIA的基礎(chǔ)上設(shè)計建模對象的任何系統(tǒng)。因此,定義CAD建模對象的數(shù)據(jù)包括允許該建模對象的表示的數(shù)據(jù)(例如,包括空間中的相對位置的幾何數(shù)據(jù))。例如,CAD系統(tǒng)可以使用邊或者線條,在某些情形中還使用面或表面,來提供對CAD建模對象的表示??梢杂酶鞣N方式來表示線條、邊、或表面,例如,非均勻有理B樣條曲線(NURBS)。具體地,CAD文件可以包括可以從其生成幾何圖形的規(guī)范,其繼而允許生成表示??梢詫⒔ο蟮囊?guī)范存儲在單個CAD文件或者多個CAD文件中。表示CAD系統(tǒng)中的建模對象的文件的典型尺寸處于每個零件1兆字節(jié)的范圍內(nèi)。并且建模對象通常是數(shù)千個零件的組件??梢詫⒃摲椒ò谥圃焯幚碇?,制造處理可以包括:在執(zhí)行該方法之后,生成相應(yīng)于CAD建模對象的物理產(chǎn)品。無論如何,由該方法從多個3D曲線所創(chuàng)建的表面可以表現(xiàn)為制造對象,例如這種對象的邊界。該制造對象可以是產(chǎn)品,例如一個零件,或者多個零件的組件。因為該方法使得設(shè)計更加容易,該方法也使得對產(chǎn)品的制造更加快速,并因此提高了制造流程的生產(chǎn)率。該方法是計算機執(zhí)行的。這意味著該方法由至少一個計算機,或者任何類似的系統(tǒng)所執(zhí)行。除非另外地提及,該方法的所有步驟都由計算機所執(zhí)行,而不需要用戶的干預(yù)。例如,可以由單獨的計算機確定(S20)、定義(S30)、確定(S40)和擬合(S50)的步驟,提供(S10)多個3D曲線的步驟也可以通過用戶交互來執(zhí)行。因此,用戶可以干預(yù)提供(S10)多個3D曲線,并且該方法可以接著自動地執(zhí)行。從而,該方法允許通過確定(S20)、定義(S30)、確定(S40)和擬合(S50)的步驟,從多個3D曲線自動地創(chuàng)建表面,隨后將對這些步驟進行討論。同樣值得提及的是該方法的這些步驟中的一些可以允許用戶的干預(yù)。例如,盡管如隨后將討論的,可以由單獨的計算機自動地執(zhí)行確定(S20)、定義(S30)、確定(S40)和擬合(S50),但是用戶可以干預(yù)(例如,修改由計算機運行的算法的結(jié)果,例如,修改已經(jīng)在(S30)定義的基本圖形)。該方法的計算機執(zhí)行的典型示例是用CAD系統(tǒng)來執(zhí)行該方法,該CAD系統(tǒng)包括適于此目的的圖形用戶界面(GUI)。該CAD系統(tǒng)包括硬件,并且該GUI適合于執(zhí)行該方法,而不需要裝載任何軟件。換言之,軟件已經(jīng)在GUI上準備好了(或者已經(jīng)耦合到GUI)以備立即使用。換言之,該系統(tǒng)包括在耦合于該處理器的存儲器上編碼的指令,該指令提供執(zhí)行該方法的裝置。這種系統(tǒng)是一種工具,使用該工具使得從多個3D曲線創(chuàng)建表面變得容易。因此,這種系統(tǒng)可以被廣泛的用戶群體所使用,包括專門設(shè)計者,他們通常是具有創(chuàng)造性的藝術(shù)家用戶,并且他們不熟悉復(fù)雜的CAD系統(tǒng)。該系統(tǒng)也可以是CAE和/或CAM系統(tǒng),并且該CAD建模對象也可以是CAE建模對象和/或CAM建模對象。的確,CAD、CAE和CAM系統(tǒng)不是排他的,就象可以由相應(yīng)于這些系統(tǒng)的任意組合的數(shù)據(jù)來定義建模對象。因為該曲線是3D的(例如,三維的),由該方法創(chuàng)建的表面也可以是3D的。這意味著由允許其3D表示的數(shù)據(jù)定義該表面。3D表示允許從所有角度對所表示的表面進行查看。例如,當(dāng)表示為3D時,可以繞著3D表面的軸,或者繞著屏幕中的任何軸操作和旋轉(zhuǎn)3D表面,該表示被顯示在該屏幕上。這特別排除了2D圖標,未對該2D圖標進行3D建模。3D表示的顯示促進了設(shè)計(例如,增加了設(shè)計者在統(tǒng)計意義上完成了其任務(wù)的速度)。這加速了工業(yè)中的制造處理,因為產(chǎn)品的設(shè)計是制造處理的一部分。3D曲線和所創(chuàng)建的表面可以是參數(shù)的。這確保了該表面已經(jīng)準備好用作一大批CAD操作的輸入。參數(shù)的形狀(曲線或表面)是由至少一個參數(shù)的至少一個函數(shù)(例如,將這種函數(shù)存儲在該系統(tǒng)的存儲器中)建模的形狀。該函數(shù)可以提供形狀的點的位置。例如,可以由函數(shù)C(u)=(x(u),y(u),z(u))建模3D參數(shù)曲線,以及可以由函數(shù)S(u,v)=(x(u,v),y(u,v),z(u,v))建模3D參數(shù)表面,例如NURBS。在CAD領(lǐng)域中,CAD建模對象的建模元素,例如具有參數(shù)函數(shù)的曲線或表面,允許執(zhí)行對形狀執(zhí)行CAD操作。的確,大多數(shù)CAD系統(tǒng)不能對表示對象的簡單像素圖進行CAD操作。換言之,CAD系統(tǒng)的大部分CAD操作需要參數(shù)函數(shù)作為要執(zhí)行的輸入。圖2表示了典型CAD系統(tǒng)的GUI的示例。GUI2100可以是典型的類CAD接口,具有標準的菜單欄2110,2120,以及按鈕和側(cè)面工具欄2140,2150。這種菜單和工具欄包括一組用戶可選擇的圖標,每個圖標都與一個或多個操作和功能相關(guān)聯(lián),正如本領(lǐng)域所公知的。這些圖標中的一些與軟件工具相關(guān)聯(lián),適用于編輯和/或操作顯示在GUI2100中的3D建模對象2000??梢詫⒃撥浖ぞ叻纸M為工作臺。每個工作臺都包括軟件工具的子集。具體地,工作臺之一是編輯工作臺,適合于編輯建模產(chǎn)品2000的幾何特征。在操作中,例如,設(shè)計者可以預(yù)先選擇對象2000的一部分,并接著通過選擇適當(dāng)?shù)膱D標來啟動操作(例如,改變維數(shù)、顏色等),或者編輯幾何約束。例如,典型的CAD操作是對顯示在屏幕上的3D建模對象的穿孔或折疊的建模。例如,GUI可以顯示與顯示的產(chǎn)品2000有關(guān)的數(shù)據(jù)2500。在圖2的示例中,顯示為“特征樹”的數(shù)據(jù)2500和它們的3D表示2000屬于包括制動鉗和盤的制動裝置。GUI還可以顯示各種類型的圖形工具2130,2070,2080,例如便于對象的3D取向,觸發(fā)對編輯產(chǎn)品的操作的模擬或者提供顯示的產(chǎn)品2000的各種屬性??梢杂捎|摸裝置控制游標2060,以允許用戶與圖形工具進行交互。圖3表示了作為客戶計算機例如用戶工作站的系統(tǒng)結(jié)構(gòu)的示例??蛻粲嬎銠C包括中央處理單元(CPU)1010,其連接到內(nèi)部通信總線1000,隨機存取存儲器(RAM)1070也連接到總線??蛻粲嬎銠C還裝備有圖形處理單元(GPU)1110,其與連接到總線的視頻隨機存取存儲器1100相關(guān)聯(lián)。視頻RAM1100也是本領(lǐng)域公知的幀緩沖器。大容量存儲裝置控制器1020管理對大容量存儲器裝置的訪問,例如硬件驅(qū)動1030。適合于確實地包含計算機程序指令和數(shù)據(jù)的大容量存儲器裝置包括所有形式的非易失性存儲器,包括作為示例的半導(dǎo)體存儲器裝置,例如,EPROM,EEPROM,和閃存裝置;磁盤,例如內(nèi)部硬磁盤和可移除的磁盤;磁性光盤;和CD-ROM磁盤1040。前述的任何存儲裝置都可以由特別設(shè)計的ASIC(特定用途集成電路)所提供或者結(jié)合其中。網(wǎng)絡(luò)適配器1050管理對網(wǎng)絡(luò)1060的訪問。該客戶計算機也可以包括觸摸裝置1090,例如游標控制裝置,鍵盤等等。在客戶計算機中使用游標控制裝置以允許該用戶選擇性地將游標定位在屏幕1080上的任何所希望的位置,如同參考圖2所提及的。通過屏幕,其意味著可以執(zhí)行任何在其上進行顯示的支持物。另外,該游標控制裝置包括多個信號生成裝置,用于將控制信號輸入到系統(tǒng)。典型地,游標控制裝置可以是鼠標,使用該鼠標的按鈕生成該信號。為了使得系統(tǒng)執(zhí)行該方法,提供了包括由計算機執(zhí)行指令的計算機程序,該指令包括用于此目的的方法。例如,可以以數(shù)字電子電路,或者計算機硬件、固件、軟件或者它們的組合來實現(xiàn)該程序。本發(fā)明的設(shè)備可以被實現(xiàn)為計算機程序產(chǎn)品,該計算機程序產(chǎn)品被確實地嵌入在計算機可讀存儲裝置中,該計算機可讀存儲裝置由可編程處理器所執(zhí)行;并且可以通過可編程處理器執(zhí)行指令的程序來執(zhí)行本發(fā)明的方法步驟,以通過運行輸入數(shù)據(jù)以及生成輸出來執(zhí)行本發(fā)明的功能。可以方便地在一個或多個計算機程序中執(zhí)行該指令,該計算機程序在可編程系統(tǒng)上是可執(zhí)行的,該可編程系統(tǒng)包括至少一個被耦合以從至少一個輸入裝置接收數(shù)據(jù)和指令,或者將數(shù)據(jù)和指令發(fā)送到數(shù)據(jù)存儲系統(tǒng)的可編程處理器,至少一個輸入裝置,以及至少一個輸出裝置??梢杂酶呒壧幚砘蛘呙嫦?qū)ο蟮木幊陶Z言,或者如果需要的話用集合或機器語言來實現(xiàn)該應(yīng)用程序;并且無論如何,該語言都可能是經(jīng)編譯或經(jīng)翻譯的語言。該程序可以是完全安裝的程序,或者更新程序。在后一種情形下,該程序?qū)F(xiàn)有的CAD系統(tǒng)更新到一個狀態(tài),在該狀態(tài)中該系統(tǒng)適合于執(zhí)行該方法。該方法包括提供(S10)多個3D曲線。例如,可以由用戶提供該多個3D曲線。例如,該多個3D曲線包括被不受約束地描繪的曲線。不受約束地描繪曲線意味著用戶繪制能夠被轉(zhuǎn)化為曲線的筆畫,該曲線可以是參數(shù)的??梢灾苯釉谄聊簧侠L制該筆畫,如果該屏幕例如是觸敏屏幕,或者在觸敏標簽上。這使得創(chuàng)建表面變得容易,并且對設(shè)計者來說是直觀的,這些設(shè)計者(例如專門的設(shè)計者)習(xí)慣于在紙上描繪設(shè)計。該方法也包括確定(S20)曲線對之間的交叉。在給定曲線對之間的交叉是指示特定曲線對彼此特別接近的區(qū)域?!氨舜私咏币馕吨o定對中的兩條曲線之間的距離是在預(yù)定閾值之下。彼此“特別”接近意味著在交叉處的兩條曲線之間的距離小于該曲線在其他區(qū)域處之間的距離。兩條曲線之間的交叉(crossing)可以是兩條曲線之間的相交(intersection)。然而,由于曲線是用戶提供的,所述曲線不會完全彼此相交,盡管用戶希望使它們相交。從而,交叉是經(jīng)典相交的延伸,并且獲得用戶的意愿使曲線相交。在示例中,確定(S20)交叉包括:在曲線的相應(yīng)對之間的被確定為點對的至少一個交叉,每個點都屬于曲線的相應(yīng)對中的不同的一個。換言之,至少一個交叉不是嚴格相交。因此,該方法獲得了期望的曲線之間的相交,盡管曲線沒有完美地相交。這在提供(S10)曲線之前,在定義曲線時提供了高靈活性。接著,該方法包括定義(S30)基本圖形(即,初始圖形)。該基本圖形包括:表示交叉的節(jié)點、連接表示相鄰交叉的節(jié)點對的弧。如果兩個交叉都與相同的曲線相關(guān)聯(lián),并且在它們之間不存在其他交叉,那么認為兩個交叉是相鄰的。接著,該方法包括從所述圖形確定(S40)網(wǎng)格,該網(wǎng)格包括由3D位置所定義的頂點以及連接所述頂點對的邊。網(wǎng)格是廣泛應(yīng)用于CAD的一種特殊種類的圖形。網(wǎng)格是具有與每個節(jié)點(在網(wǎng)格中被稱作“頂點”,而弧被稱作“邊”)相關(guān)聯(lián)的3D位置的圖形。最后,該方法包括使用表面擬合(S50)網(wǎng)格。的確,在CAD中,廣泛地使用網(wǎng)格,通過使用表面擬合網(wǎng)格來創(chuàng)建表面。該方法可以應(yīng)用任何用于使用表面擬合網(wǎng)格的現(xiàn)有CAD系統(tǒng)的模型。該擬合表面可以是細分表面,或者NURBS。這種表面是參數(shù)的,并且允許對表面的進一步利用(不僅是對其的簡單表示)。具體地,當(dāng)將被創(chuàng)建的表面表現(xiàn)為產(chǎn)品時,例如零件或者零件的組件,細分表面提供為這種建模對象所需的高水平幾何精確度。從而,該方法允許表面到一組在3D中不相交的曲線的擬合,這是由于交叉概念的使用。相比于現(xiàn)有技術(shù)中要求曲線互相接觸的方法,本發(fā)明允許藝術(shù)家在3D中繪制曲線,而不需要考慮它們嚴格相交,這是存在巨大優(yōu)勢的。此外,一旦提供了曲線,該方法可以完全自動化。因此,用戶不需要顯示任何引導(dǎo)曲線等。該方法評估交叉,從交叉定義圖形,接著通過從圖形創(chuàng)建網(wǎng)格而使用表面擬合圖形。由于從圖形創(chuàng)建了網(wǎng)格,確保了尊重用戶意圖(即,所創(chuàng)建的表面表示所提供的曲線)?,F(xiàn)在將參考圖4-14描述該方法的示例。圖4表示了該方法示例的流程圖。圖5-14圖示說明了圖4方法的步驟的示例。在這個示例中,該方法包括將所述多個3D曲線投影(S22)到支持物上,該支持物是3D形狀(表面或者體),該3D形狀(例如,概略地)表示用戶想要創(chuàng)建的表面的形態(tài)。從而,獲得多個相應(yīng)的投影曲線。接著,示例的方法包括確定(S23)投影曲線對之間的交叉。最后該方法包括檢索(S24)與投影曲線對之間的交叉相對應(yīng)的曲線點對。換言之,確定(S20)與所述3D曲線的投影之間的交叉相對應(yīng)的3D曲線之間的交叉。因此,在這個示例中,通過支持物執(zhí)行對交叉的確定(S20),該支持物允許實現(xiàn)對在哪里應(yīng)當(dāng)檢測到交叉的更好控制。的確,支持物充當(dāng)指示器形狀。參考圖5-7,用戶可以從目錄創(chuàng)建或者選擇這種初始的指示器形狀50(即,該支持物)。的確,作為一個可選的處理步驟,可以使用指示器形狀。在繪制3D曲線之前,用戶首先使用任何構(gòu)建3D形狀的快速方法,創(chuàng)建粗略的初始形狀,也有可能從目錄中檢索該形狀。測定體積的油泥模型軟件可以被用于制作指示器形狀的目的。接著,用戶在該指示器形狀周圍,或者甚至在該指示器形狀自身上以3D繪制曲線,有效地使用作為黑板的形狀。因此,該用戶可以創(chuàng)建曲線62,其投影到指示器形狀50上。最終可以自動地由該方法生成和更新表面70,具體地,在通過它們的投影62(在圖6上被標注為指示器形狀50上的虛線)確定曲線之間的交叉之后。隨后的表面70的構(gòu)建可以僅僅取決于曲線62。如果被使用,指示器形狀50可以用于協(xié)助檢測曲線交叉。已經(jīng)發(fā)現(xiàn)的是該指示器形狀允許更多對交叉的穩(wěn)定檢測,并因此是有利的。以這種方式,用戶在曲線如何彼此相交上具有更多的控制。將所述多個3D曲線投影(S22)到支持物上包括:使多個3D曲線離散(S221)(即采樣)為折線,眾所周知,折線由一組線段組成。接著,投影(S22)可以包括將所述線段投影(S222)到支持物上。從而獲得多個對應(yīng)的投影線段(即,線段的投影)。在這點上,所述3D曲線被表示為源于所述3D曲線離散的折線的投影。該支持物可以包括面(平面),并且因此,該折線的投影可以是折線本身。換言之,該折線的線段的投影,例如“投影線段”也可以是線段。還有,確定(S23)投影曲線對之間的交叉包括確定(S231)與屬于相同體素的不同曲線相對應(yīng)的投影線段對,接著確定(S232)在所確定的投影線段對之間的雙垂線,并且最后確定(S233)所述雙垂線的末端。這種處理方式允許對交叉的快速確定(S20)。當(dāng)用戶描繪3D曲線時,3D曲線通常不會嚴格彼此相交,并且該算法必須估計這些相交(通過交叉的概念),嘗試領(lǐng)會設(shè)計者期望表示什么。示例的方法將每條曲線都轉(zhuǎn)換為折線形式(很多小線段),以減少鄰近度計算的成本,并且將所述線段投影到支持物上,以查找它們之間的交叉。接著,該方法通過計算兩個線段相交并且垂直于它們二者(雙垂線)的唯一的線,來查找線段之間的交叉,正如圖8所圖示說明的兩條投影線段Da和Db。如果這兩個相交(圖8上的x和y)處于線段Da和Db上,并且它們之間的距離小于閾值,那么該方法可以將其解釋為這兩個線段好像彼此相交(換言之,確定了交叉)。該方法可以保存由該兩條曲線上的點x和y所描述的交叉。為了減少這個測試所花費的時間,正如圖9所圖示說明的,該方法可以使用體素。如果是這種情形,該方法可以將空間劃分為立方體網(wǎng)格90,并且將僅僅測試處于相同立方體92內(nèi)部的線段94(是否在它們之間存在交叉)。在該示例中,確定(S40)所述網(wǎng)格包括:向所述圖形增加(S401)弧和/或節(jié)點,直到所述圖形的所有貼片都被劃分為具有三條或四條弧的面。將被確定(S40)的網(wǎng)格可以是三角網(wǎng)格或者四邊形網(wǎng)格(每面相應(yīng)具有三條或四條邊)。四邊形網(wǎng)格提供了高質(zhì)量的最終表面。在所述圖形是“不規(guī)則的”且沒有準備好直接變?yōu)榫W(wǎng)格的情況下,增加(S401)允許每個面的邊數(shù)量的減少。一旦該圖形具有僅有三條或四條弧的貼片(即,環(huán)路),那么該圖形離變?yōu)槿腔蛩倪呅尉W(wǎng)格就更近了。一旦確定(S20)了交叉,該方法創(chuàng)建為每個交叉指示相鄰點的圖形。如果兩個交叉處于同一曲線上,且在它們之間沒有其他相交,那么所述兩個交叉是相鄰的。從這個圖形生成了第一中間網(wǎng)格。使用遞歸算法,該方法檢測圖形中的被理解為圖形中的貼片的循環(huán)。貼片是圖形中具有3-6個邊的面。因此,在這一點上,該網(wǎng)格由貼片組成,但是將網(wǎng)格劃分,使得該方法可以將這個非正式網(wǎng)格轉(zhuǎn)化為基礎(chǔ)模型,例如細分網(wǎng)格。接下來,非劃分的貼片將被稱作“基本貼片”。對于每個經(jīng)劃分的貼片,該方法保存關(guān)于哪個基本貼片被分解來構(gòu)成劃分貼片的信息。潛在地,貼片可以具有不同于3到6個邊,但是在下面將清楚,可以將分解方案設(shè)計為任意數(shù)量的邊。的確,已經(jīng)發(fā)現(xiàn)的是,覆蓋3到6條邊的范圍是最佳可能策略之一,因為其他情況是罕見的并且對于設(shè)計者來說不是特別有用的。因此,示例的方法首先將六邊形和五角形切割為三角形或者四邊形。如圖10所示,可以通過增加一個邊104將六邊形100拆分為一個四邊形102和一個三角形103,或者通過增加一個頂點107和五條邊108將六邊形100拆分為五個四邊形106。如圖11所示,通過增加一個邊113將五角形110拆分為兩個四邊形112。在該示例的方法中,確定(S40)該網(wǎng)格還包括:為所述圖形增加(S402)弧和/或節(jié)點,直到?jīng)]有T型結(jié)點留下。當(dāng)曲線與另一條曲線交叉(即,與另一條曲線交叉)時,T型結(jié)點出現(xiàn),于是終止。如果該曲線結(jié)束的地方不是該表面的外部邊,在該網(wǎng)格中創(chuàng)建T型結(jié)點。在基礎(chǔ)表面模型中T型結(jié)點并不總是被接受的。該示例的方法的目標之一是完美保持一般性,并且支持所有類型的表面模型。為此,該方法提供了一種模式,即該方法在網(wǎng)絡(luò)中傳播所有切割,有效地消除了T型結(jié)點。這允許最后的更高質(zhì)量的表面。當(dāng)該網(wǎng)格僅包括四邊形和三角形時,這可以作為拓撲產(chǎn)生的最后步驟。對其的算法將可能在其他邊的邊上傳播T型結(jié)點,直到該算法在其上循環(huán)為止,或者當(dāng)該算法達到該表面的界限時,當(dāng)T型結(jié)點不在是問題時。為了避免該算法中的無限循環(huán),如果該算法再次到達初始基本貼片,該方法就可以停止傳播。然而,在另一個示例中,該方法可以執(zhí)行T型結(jié)點表面模型,例如T型樣條曲線。在這種情形中,步驟(S402)是不必需的,該方法的其余部分是可以完整地應(yīng)用的。可以簡單地關(guān)閉該傳播,并且保留該T型結(jié)點。圖12和13圖示說明了增加(S402)的示例。在兩幅圖中,網(wǎng)格120具有T型結(jié)點122。在圖12的情形中,通過增加邊124來消除T型結(jié)點122,而在圖13的情形中,通過增加邊126和頂點128來消除T型結(jié)點122。在該示例的方法中,確定(S40)所述網(wǎng)格的方法也包括:根據(jù)網(wǎng)格細分方案,為所述圖形增加(S403)弧和/或節(jié)點。該網(wǎng)格細分方案可以是任何公知的網(wǎng)格細分方案,例如,Catmull-Clark細分方案。這允許對網(wǎng)格的細化,并且獲得每個面的規(guī)則邊數(shù)量。這在與該表面擬合(S50)的預(yù)期中平滑了該網(wǎng)格,從而產(chǎn)生了更加平滑的表面。交叉包括在曲線的相應(yīng)對之間的被確定為點對的至少一個交義,每個點都屬于曲線的相應(yīng)對中的不同的一個,現(xiàn)在將討論這種情形。換言之,這是一種曲線并未完全地彼此相交,但是打算彼此相交。在這種情形中,正如圖4中示例的情形,確定(S40)該網(wǎng)格包括:將所述點對中心的3D位置與表示所述至少一個交叉的節(jié)點關(guān)聯(lián)(S406)起來。的確,為了使用表面擬合(S50)網(wǎng)格,該方法可以預(yù)先將3D位置關(guān)聯(lián)(S406,S407)到該網(wǎng)格的頂點。對于表示交叉的頂點,該方法可以利用形成交叉的兩個點的中心。當(dāng)然,對于作為完美相交的交叉(這在示例中,或許從未出現(xiàn)),可以使用該相交的位置。對于該網(wǎng)格的其他頂點(在確定(S40)該網(wǎng)格包括向圖形增加節(jié)點(S401,S402,S403)的情形中),該方法可以包括將3D位置與給定增加節(jié)點關(guān)聯(lián)(S407)起來,所述3D位置取決于相對于增加節(jié)點前的圖形的給定節(jié)點的拓撲位置。例如,如果給定增加節(jié)點的拓撲位置處于增加節(jié)點前的圖形的一條弧上,則根據(jù)與弧的末端處的節(jié)點相關(guān)聯(lián)的3D位置,通過偏移由弧表示的曲線計算位置。圖14圖示說明了這種情形。參考圖14,表示了三條曲線140,142,144。已經(jīng)確定了曲線140和曲線142之間的交叉(x1,y1)和曲線140和曲線144之間的交叉(x2,y2)。這些交叉對應(yīng)于網(wǎng)絡(luò)中相應(yīng)的最終頂點,標注為A和B,并且A和B分別與x1和y1、以及x2和y2的相應(yīng)的中間位置相關(guān)聯(lián)。在這個示例中,該方法已經(jīng)將頂點X增加到該網(wǎng)格了。頂點X拓撲地屬于曲線140。在這種情形中,通過偏移曲線140來計算與頂點X相關(guān)聯(lián)的3D位置,使得其經(jīng)過A和B的3D位置,從而評估在對應(yīng)于該曲線上X的拓撲位置的偏移曲線上的位置(這種位置通過將X增加到該網(wǎng)格進行提供)。如果給定增加節(jié)點的拓撲位置處于在將節(jié)點增加到圖形之前圖形的具有四條邊的貼片的內(nèi)部,與給定增加節(jié)點相關(guān)聯(lián)的3D位置可以是由公知的Coons方法計算的位置。在其他任何情形中,可以通過相鄰節(jié)點的3D位置取平均來計算與給定增加節(jié)點相關(guān)聯(lián)的3D位置。在后者的情形中,可以重復(fù)該取平均,計算的3D位置被逐次地改善,以獲得更加平滑的結(jié)果,從而獲得收斂到預(yù)期的結(jié)果。正如本領(lǐng)域技術(shù)人員將理解的,該方法因此可以保持跟蹤每個頂點屬于哪個基本貼片。此外,在四個邊的貼片的情形中,(u,v)坐標(當(dāng)拆分貼片時總是被更新)也可以被保持在存儲器中。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1