OpenCascade HLR for Pipe Model
eryar@163.com
摘要Abstract:在工廠輔助設(shè)計(jì)(Plant Design)或船舶輔助設(shè)計(jì)(Ship Design)等CAD設(shè)計(jì)軟件中建完模型后都會(huì)出安裝圖或制作圖,這也是這類輔助設(shè)計(jì)軟件的最終的一個(gè)輸出,還有再就是輸出材料數(shù)據(jù)用來對(duì)物資進(jìn)行管理。OpenCascade提供的Hidden Line Removal算法可以對(duì)模型進(jìn)行隱藏線消除,此功能可用來生成制作圖和安裝圖。本文通過實(shí)例演示了HLR算法的效果。
關(guān)鍵字Key Words:OpenCascade, HLR, Hidden Line Removal,Pipe Model, Plant Design CAD, Ship Design CAD,
一、引言 Introduction
OpenCascade的造型算法中有HLR(Hidden Line Removal)可用來去除在某個(gè)方向上投影生成的隱藏的線。這個(gè)功能實(shí)現(xiàn)了工業(yè)設(shè)計(jì)CAD中生成安裝圖或制作圖時(shí)需要去掉隱藏線的需求。對(duì)HLR算法感興趣的讀者可以結(jié)合OpenCascade的源程序來對(duì)其實(shí)現(xiàn)進(jìn)行研究。
在工廠設(shè)計(jì)系統(tǒng)(PDMS)或造船生產(chǎn)設(shè)計(jì)系統(tǒng)(Marine Design)中都要生成安裝圖或零件制作圖,這些圖紙都是根據(jù)模型自動(dòng)生成的。生成之后需要消隱和標(biāo)注,其中標(biāo)注的內(nèi)容有管路號(hào)、管零件號(hào)、尺寸、標(biāo)高等等。將三維模型沿一個(gè)方向投影后去除隱藏線的算法可用來生成二維的安裝圖或零件制作圖紙。
下面通過具體實(shí)例來演示OpenCascade中的HLR算法。
二、程序演示 Program Demo
在工廠設(shè)計(jì)和船舶設(shè)計(jì)系統(tǒng)中都有對(duì)管路的建模和出圖,下面將從ModelDataExchange中導(dǎo)出的管路模型在OpenCascade中進(jìn)行HLR看看從三維投影到二維的效果。
Figure 2.1 HLR with Hidden Line in Blue
Figure 2.2 HLR for Valves
圖2.2中的藍(lán)色部分的線是被擋住的線,可以去除。
Figure 2.3 Top Projection HLR
Figure 2.4 Top Projection without Hidden Line
Figure 2.5 Top Projection in Single Line
Figure 2.6 Projection in arbitrary direction
Figure 2.7 Projection in arbitrary direction
上面的程序演示中左邊的3D視口中顯示的為管路的三維模型,2D視口以二維數(shù)據(jù)顯示了投影后得到的圖形。轉(zhuǎn)換為二維圖形后,數(shù)據(jù)可以轉(zhuǎn)換到常見的二維圖紙格式來保存,如保存為DXF、DWG等格式。
三、結(jié)論 Conclusion
OpenCascade的HLR算法可將三維模型轉(zhuǎn)換為二維圖形,這個(gè)功能可用來自動(dòng)生成CAD軟件的零件制作圖和安裝圖。從上圖所示的效果來看,消隱效果還不錯(cuò),速度還比較快。就是單線消隱的不是很滿意,如果要對(duì)管子對(duì)進(jìn)單線顯示,還需要再做處理。
可以看出OpenCascade的功能還是很強(qiáng)大,可以用OpenCascade來造型、建模、出圖,基本可以用來開發(fā)一個(gè)CAD的軟件。