青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

BRep Shapes Based on Tessellated Geometry

Posted on 2018-08-07 22:01 eryar 閱讀(968) 評論(0)  編輯 收藏 引用

BRep Shapes Based on Tessellated Geometry

eryar@163.com

Key Words. BRep Shape, Tessellated Geometry, Mesh, STL

1. Introduction

OCCTTopoDS允許定義只包含顯示數據的BRep體,如只包含邊的顯示數據:多段線;面的顯示數據:網格,而不包含幾何曲線和曲面。只包含顯示數據的BRep體有時候很有用,如只需要顯示一下而不對其做任何修改。但是OCC7.3.0版本之前是不支持這些顯示數據的。這里說的不支持的意思是不支持顯示數據的功能,如不能顯示只包含顯示數據的BRep體等等。

OCC7.3.0版本之后陸續想添加對只包含顯示數據的BRep的支持,包括如下功能:

計算包圍盒;

計算網格面積;

計算兩個BRep之間的距離;

計算HLR(隱藏線消除);

相關的內容在其官網上,網址: https://tracker.dev.opencascade.org/view.php?id=28125

 

2. Display Mesh

OCC中支持的網格文件只有STL文件,在Draw Test Harness中提供了讀取STL文件的命令readstl,命令參數如下圖所示:

 

Figure 1. Draw readstl command

第一個參數shape是讀取STL生成的BRep名稱;

第二個參數fileSTL文件名;

第三個參數triangulation是可選參數,如果輸入triangulation,則采用新的方式即直接生成網格;否則采用原來的方式,即將網格的每個三角形生成一個TopoDS_Face;

 

下面將這些命令寫在一個Tcl腳本文件中,把OCC數據data文件夾中的STL文件進行顯示, 

pload ALL
readstl s [pwd]/data/stl/bearing.stl triangulation
vdisplay s

下面對上述腳本進行解釋。

第一行pload ALL是加載OCC所有的腳本命令;

第二行使用readstl命令,且設置成triangulation讀取模式;

第三行是在三維視圖窗口中顯示讀取的STL模型;

 

直接在Draw Test Harness中輸入上述命令也可以,反正只有幾行?;蛘甙堰@幾行命令保存成一個文件,再使用source命令來加載也可以。下面是在3D Viewer中顯示讀取的STL模型:

 

Figure 2. Shaded STL model in 3D Viewer

使用快捷鍵S/W來切換顯示模式,S表示Shaded,是著色渲染模式;W表示Wireframe,是線框顯示模式。下圖為切換到線框顯示模式的效果:

 

Figure 3. Wireframe STL model in 3D Viewer

從上圖可知,采用直接顯示網格的方式顯示的STL模型在線框模式的時候,效果不是很理想。一般的三維軟件對于這種網格的線框模式就是直接顯示每個三角形。如下圖所示:

 

Figure 4. Wireframe of the STL model

所以,如果有需要在OCC中顯示STL模型的線框,則需要自己再作處理,可以選擇一些邊加到BRep體中,不一定像上圖所示那樣顯示每一個網格三角形。

3. Source Code

根據原來介紹的通過Draw的命令查找其源實現的方法,找到readstl命令的源碼在文件XSDRAWSTLVRML.cxx中,源碼如下所示:

//=============================================================================
//function : readstl
//purpose  : Reads stl file
//=============================================================================
static Standard_Integer readstl(Draw_Interpretor& theDI,
                                Standard_Integer theArgc,
                                const char** theArgv)
{
  if (theArgc < 3)
  {
    theDI << "wrong number of parameters" << "\n";
    return 1;
  }
  else
  {
    if (theArgc == 4 &&
        strcmp("triangulation", theArgv[3]) == 0)
    {
      // Read STL file to the triangulation.
      Handle(Draw_ProgressIndicator) aProgress = new Draw_ProgressIndicator (theDI, 1);
      Handle(Poly_Triangulation) aTriangulation = RWStl::ReadFile (theArgv[2], aProgress);
      TopoDS_Face aFace;
      BRep_Builder aB;
      aB.MakeFace(aFace);
      aB.UpdateFace(aFace, aTriangulation);
      DBRep::Set(theArgv[1], aFace);
    }
    else
    {
      TopoDS_Shape aShape;
      Standard_DISABLE_DEPRECATION_WARNINGS
      StlAPI::Read(aShape, theArgv[2]);
      Standard_ENABLE_DEPRECATION_WARNINGS
      DBRep::Set(theArgv[1], aShape);
    }
  }
  return 0;
}

當使用選項triangulation時,采用新的讀取STL函數得到網格數據,再用BRep體的底層函數生成一個TopoDS_Face,直接將網格數據aTriangulation設置在Face中。

當不使用選項triangulation時,還是采用老的方式來讀取STL模型。老的方式讀取速度慢,且將網格中每個三角形生成一個TopoDS_Face,占用大量內存,是效率不高的方式,所以標記為作廢狀態。開發者應盡量采用新的方式。

  

4. Conclusion

OCC7.3版本開始支持只包含顯示數據的BRep體,這樣只包含顯示數據的BRep體可以直接顯示,與原來的將網格數據中的每個三角形都生成TopoDS_Face的方式相比,將會大大提高顯示效率。

因為網格數據中沒有包含線框的信息,所以直接顯示的網格模型切換到線框模式的效果不好,有時甚至不顯示線框。

 

Figure 5 Propeller STL model

上圖所示的STL螺旋槳模型切換到線線框模式后,就沒有了。這時OCC的選擇功能也不能使用,即選不中這個模型了。

如果要顯示網格模型的線框,需要自己根據實際情況添加一些Edge以達到理想效果。

 

 

5. References

1. https://tracker.dev.opencascade.org/view.php?id=28125

  


為了方便大家在移動端也能看到我的博文和討論交流,現已注冊微信公眾號,歡迎大家掃描下方二維碼關注。
Shing Liu(eryar@163.com)

 


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品国产999大香线蕉| 欧美日韩国产片| 久久艳片www.17c.com| 欧美有码在线观看视频| 亚洲欧美电影院| 亚洲欧美日韩一区二区三区在线观看 | 一本久久精品一区二区| 99精品热视频只有精品10| av成人老司机| 先锋影音网一区二区| 久久日韩精品| 亚洲电影免费在线观看| 麻豆九一精品爱看视频在线观看免费| 久久久久久久一区| 欧美gay视频| 日韩一级黄色av| 亚洲欧美偷拍卡通变态| 久久久精品国产一区二区三区 | 欧美在线一级视频| 另类天堂av| 日韩手机在线导航| 久久精品一区二区三区四区| 欧美激情精品久久久久久变态| 欧美喷潮久久久xxxxx| 国产日韩一区二区三区在线| 亚洲国产高清在线| 亚洲欧美另类在线| 欧美成人午夜激情| 亚洲影院一区| 欧美成人中文字幕在线| 国产九色精品成人porny| 亚洲图片欧美日产| 欧美日韩成人在线播放| 国产亚洲欧美日韩精品| 亚洲精品欧美在线| 久久成人这里只有精品| 亚洲精品国产拍免费91在线| 欧美伊人久久| 国产精品国产亚洲精品看不卡15 | 欧美中文在线字幕| 亚洲国产精品t66y| 欧美一区二区网站| 国产精品国产一区二区| 亚洲欧洲精品一区二区三区波多野1战4 | 久久九九国产| 国产精品久久久久一区二区三区共| 精品51国产黑色丝袜高跟鞋| 亚洲一区二区三区精品视频| 欧美成人高清| 久久不射中文字幕| 国产精品伦理| 亚洲性视频网站| 亚洲精品久久久久久久久久久久| 久久这里有精品视频| 国产一区自拍视频| 久久er99精品| 亚洲一区综合| 国产精品素人视频| 亚洲欧美日韩天堂| 亚洲一区二区免费在线| 国产精品成人在线| 一本色道久久综合狠狠躁篇的优点 | 欧美在线视频一区二区| 亚洲久久一区二区| 麻豆久久精品| 亚洲国产欧洲综合997久久| 久久久久久久一区| 先锋影院在线亚洲| 国产视频在线观看一区| 欧美一区二区视频在线观看| 亚洲永久免费av| 国产精品腿扒开做爽爽爽挤奶网站 | 国产精品资源| 欧美亚洲自偷自偷| 亚洲综合精品四区| 国产一区二区av| 久久综合色一综合色88| 久热爱精品视频线路一| 亚洲高清久久网| 亚洲激情影院| 欧美午夜片欧美片在线观看| 亚洲综合视频1区| 亚洲欧美日韩精品一区二区| 国产尤物精品| 亚洲精品美女| 国产精品久久久久久模特| 午夜精品一区二区三区在线视| 亚洲午夜激情网页| 国产日韩在线视频| 免费看亚洲片| 欧美日韩一区在线观看| 久久精品国产久精国产爱| 欧美在线亚洲综合一区| 亚洲第一精品在线| 亚洲免费观看| 国产在线精品二区| 亚洲毛片av| 国产亚洲va综合人人澡精品| 亚洲成人在线网站| 国产精品美女久久久久aⅴ国产馆| 久久久久国产成人精品亚洲午夜| 噜噜噜躁狠狠躁狠狠精品视频| 国产伦精品一区二区三区免费| 免费观看欧美在线视频的网站| 欧美啪啪一区| 开元免费观看欧美电视剧网站| 欧美日韩在线播| 久久野战av| 国产精品日本| 亚洲精品一区二区三区四区高清| 国产日韩一区二区| 日韩视频不卡中文| 亚洲国产综合91精品麻豆| 亚洲欧美一区二区精品久久久| 99热在线精品观看| 欧美资源在线| 亚洲欧美在线观看| 欧美日韩1区2区| 欧美激情亚洲国产| 一区二区自拍| 性欧美xxxx大乳国产app| 一区二区三区视频在线| 嫩草伊人久久精品少妇av杨幂| 午夜国产精品视频| 欧美日韩在线播放一区| 亚洲国产成人午夜在线一区| 韩日成人av| 欧美在线视频一区二区三区| 午夜亚洲视频| 欧美视频一区在线| 亚洲美女在线看| 亚洲精品久久久一区二区三区| 久久天天狠狠| 你懂的视频欧美| 亚洲高清视频在线| 久久亚洲欧美国产精品乐播| 久久久天天操| 韩国av一区二区三区四区| 欧美资源在线观看| 六月婷婷久久| 一区在线观看视频| 久久综合激情| 亚洲电影免费观看高清完整版在线观看| 在线国产精品一区| 欧美成年人网站| 亚洲精品一区在线观看香蕉| 在线视频欧美日韩精品| 欧美日韩精品欧美日韩精品| 99精品热6080yy久久 | 亚洲欧洲精品一区二区精品久久久| 国产精品激情av在线播放| 在线一区欧美| 欧美一区二区福利在线| 国产日韩av高清| 久久久久久9999| 亚洲国内高清视频| 亚洲伊人第一页| 国产在线观看一区| 欧美99在线视频观看| 欧美国产激情二区三区| 一区二区三区四区五区在线| 国产精品日本| 免费成人高清视频| 一区二区三区高清视频在线观看| 欧美伊人影院| 亚洲人成艺术| 国产精品久久久免费| 久久久久久久综合| 99日韩精品| 狂野欧美激情性xxxx| 99精品国产在热久久| 国产精品中文字幕欧美| 欧美+亚洲+精品+三区| 一本色道久久综合亚洲91| 久久精品国产精品亚洲精品| 亚洲毛片播放| 国产主播在线一区| 欧美日精品一区视频| 久久精品动漫| 在线亚洲免费视频| 亚洲国产成人久久综合| 久久精品国产亚洲aⅴ| 日韩一级黄色av| 国模一区二区三区| 欧美色123| 久久综合中文色婷婷| 亚洲欧美成人精品| 亚洲精品自在久久| 男女av一区三区二区色多| 亚洲欧美日韩精品久久奇米色影视 | 久久一日本道色综合久久| 一本久久综合亚洲鲁鲁| 亚洲大胆女人| 国产日韩欧美亚洲| 国产精品对白刺激久久久| 欧美韩日精品| 欧美gay视频激情| 亚洲综合好骚| 亚洲激情视频网站| 欧美xxx在线观看|