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ì),提高了切片的效率。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF