我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > UG教程下載

UG點(diǎn)集處理技術(shù)在直接切片中的應(yīng)用

時(shí)間:2010-11-15 09:29:32 來源:

  UG是集CAD/CAM/CAE于一體的高端軟件,廣泛應(yīng)用于機(jī)械、航空等領(lǐng)域,UG/OPEN提供了良好的高級語言接口,使得UG的造型功能與計(jì)算機(jī)功能有機(jī)結(jié)合在一起,便于用戶進(jìn)行二次開發(fā)。本文利用UG二次開發(fā)中點(diǎn)集處理技術(shù)實(shí)現(xiàn)直接切片中對截面圓錐曲線、三次Bezier曲線等不規(guī)則曲線的直線化處理,并且可以控制其精度。在后續(xù)切片文件處理過程中,對于輪廓信息中的圓錐曲線、三次Bezier曲線等不規(guī)則曲線的讀取處理上,不管是算法設(shè)計(jì)還是精度控制,都是比較困難和復(fù)雜的。而本文的方法在很大程度上降低了切片文件讀取算法設(shè)計(jì)的復(fù)雜度,還可以根據(jù)加工要求設(shè)定切片的精度。

  一、點(diǎn)集處理技術(shù)在切片過程中的應(yīng)用

  1.獲得截面信息

  根據(jù)實(shí)體參數(shù)及已知切片厚度,利用循環(huán)語句建立基準(zhǔn)平面;并用這些基準(zhǔn)平面與實(shí)體求交,獲得截面信息。

  2.對截面信息進(jìn)行點(diǎn)集處理

  這個(gè)過程就是將剛才的截面組成類型進(jìn)行轉(zhuǎn)化。截面的原始組成是由多種類型的線條組合而成的,現(xiàn)在將所有的線條都按一定規(guī)律轉(zhuǎn)換為點(diǎn),使每個(gè)截面都是由點(diǎn)集構(gòu)成。

  在GRIP語言中,生成點(diǎn)集的常用方法有四種,分別是等弦長、等參數(shù)、等弧長和給定弧長。四種方法中,等弦長對于精度控制具有較好的優(yōu)勢,并且可操作性能也很好,所以

  在這個(gè)環(huán)節(jié)中就選用這種方法進(jìn)行點(diǎn)集處理。

  等弦長法生成點(diǎn)集的命令語句為:CPSET/CHORD,obj,tolerance,results。

  其中obj為一條線實(shí)體,tolerance為弦高公差,它決定生成點(diǎn)集的情況,也決定最后切片的精度,所以是一個(gè)非常重要的參數(shù)。最后生成的點(diǎn)集存放在results數(shù)組里面。

  通常一個(gè)截面是由多條實(shí)體線組成,所以在進(jìn)行點(diǎn)集處理時(shí)要分段處理,在編寫GRIP程序時(shí)要尤其注意這一點(diǎn)。如圖1所示,由四條實(shí)線構(gòu)成的一個(gè)封閉截面,其中一條為直線,三條為不規(guī)則曲線。處理成點(diǎn)集后的效果如圖2所示,它是根據(jù)精度弦高公差為0.001cm來進(jìn)行的點(diǎn)集處理,可以看到直線段處只有兩個(gè)點(diǎn),即直線的起點(diǎn)和終點(diǎn)。這個(gè)特點(diǎn)使得在保持精度的同時(shí),大大減少處理點(diǎn)集的復(fù)雜程度。圖3為最后的轉(zhuǎn)變結(jié)果,將一個(gè)封閉的截面轉(zhuǎn)變?yōu)榭煽鼐鹊狞c(diǎn)集。

  GRIP語句實(shí)現(xiàn):

  Lp10:

  param/’enter the tolerance’,’

  弦高公差=’,tol,resp

  jump/l10:,stm:,,resp

  i=1

  Lp11:

  cpset/chord,obj1(i),tol,results

  i=i+1

  if/i<=c,jump/lp11:

  3.對點(diǎn)集進(jìn)行截面恢復(fù)

  該過程是將圖3得到的點(diǎn)集再轉(zhuǎn)變?yōu)榉忾]的截面,但是要用直線來代替原來的線型,從而降低對切片文件進(jìn)行解讀時(shí)的復(fù)雜程度。該過程需要的GRIP命令,直線生成命令為:

  obj=LINE/point1,point2。該過程的核心是如何控制和利用上述過程中results數(shù)組里的點(diǎn)。

  圖4為截面的恢復(fù)結(jié)果,可將圖4與圖1進(jìn)行對比,得出結(jié)論:在降低線型復(fù)雜度的前提下,

  依然可以保持非常高的精度。

  GRIP語句實(shí)現(xiàn):

  p=1

  Lp12:

  obj2=LINE/results(p),result(p+1)

  p=p+1

  jump/Lp12:

  二、技術(shù)難點(diǎn)的解決

  (1)在點(diǎn)集處理時(shí)無法獲得每個(gè)截面點(diǎn)集中點(diǎn)的數(shù)量,同時(shí)對點(diǎn)集進(jìn)行截面恢復(fù)時(shí),在results數(shù)組中取點(diǎn)也無法確定邊界點(diǎn)。那么在生成直線命令中:obj=LINE/point1,point2,其中會(huì)遇到point1或point2為空點(diǎn),致使程序報(bào)錯(cuò)退出。

  解決辦法是用GPA語句存取全局參數(shù),其中&NULENT表示空實(shí)體,用語句:IF/LN1<>&NULENT,其中JUMP/Loop來判斷實(shí)體LN1是否為空實(shí)體,然后再對它進(jìn)行使用和修改,這樣就避免了上述直線命令中出錯(cuò)的問題。

  (2)由于在使用點(diǎn)集命令:cpset/chord,obj1(i),tol,results時(shí),是將所有的點(diǎn)有序存放在全局?jǐn)?shù)組results中。在處理每一層截面時(shí),都是利用循環(huán)語句重復(fù)使用results數(shù)組,由于每一層截面點(diǎn)集處理后獲得點(diǎn)的數(shù)量不同,那么在截面恢復(fù)階段會(huì)出現(xiàn)將該層多于上一截面點(diǎn)集中的點(diǎn)重復(fù)恢復(fù)到這一層,引起截面的變形。解決辦法是在每次使用results數(shù)組時(shí),對它進(jìn)行初始化,也就是對它進(jìn)行清空,保證這個(gè)數(shù)組中沒有實(shí)體。

  GRIP語句實(shí)現(xiàn):

  p=1

  Lp13:

  delete/results(p)

  p=p+1

  if/results(p)<>&NULENT,jump/

  Lp13:

  

  

  三、結(jié)論

  本文利用了UG二次開發(fā)的點(diǎn)集處理技術(shù),將其用于直接切片技術(shù)中,達(dá)到僅使用直線一種線型來完成截面描述的目的。并且可以控制切片精度,簡化了激光快速成型中對于切片

  文件讀取算法的設(shè)計(jì),提高了切片的效率。