天天看點

opencascade讀取iges并用vtk離散的一些問題

最近抽時間在弄iges檔案内容讀取的工作,然後将其離散化在vtk中可以顯示處理以及後續的一些工作,主要目的是識别CAD檔案導出的模型,然後進行離散處理,友善後續的處理。離散工作比較簡單,opencascade裡面的brepmesh直接支援将topoDS_shape類型的模型按照設定的精度要求離散成三角網格。目前面臨的主要問題是,用opencascade裡面的igesreader函數,參照dataexchange裡面的例子來讀取iges檔案裡面的模型的時候,遇到了幾個問題,第一就是參考面也識别了,第二曲面沒有裁剪。

1.用sample裡面自帶的import函數導入iges的結果如下:

opencascade讀取iges并用vtk離散的一些問題

問題非常明顯。

2.導入vtk中離散三角網格顯示如下:

opencascade讀取iges并用vtk離散的一些問題
opencascade讀取iges并用vtk離散的一些問題

這樣顯示更難看出問題所在。

昨天在群裡面跟大家讨論交流學習之後,感謝eryar的幫助(ps:他的關于opencascade的blog寫的很不錯的http://www.cnblogs.com/opencascade/),發現其實用draw test harness裡面的igesread可以很好的顯示iges的結果,具體怎麼處理的還得繼續研究,這裡主要說說怎麼顯示吧:

1.打開draw test harness:

opencascade讀取iges并用vtk離散的一些問題

2.設定繪制界面

opencascade讀取iges并用vtk離散的一些問題

3.讀入模型

opencascade讀取iges并用vtk離散的一些問題

最終結果顯示為:

opencascade讀取iges并用vtk離散的一些問題

這個跟其他專業cad軟體導入的結果是一模一樣的。

是以,後續主要任務,找到igesread源碼,弄清楚怎麼處理過程,進而才能夠解決讀取的問題。

當然,如果有知道怎麼解決的,能夠幫忙解決那就非常感謝。有感興趣的,也可以交流讨論。