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

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

eryar@163.com

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

1. Introduction

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

OCC7.3.0版本之后陸續(xù)想添加對(duì)只包含顯示數(shù)據(jù)的BRep的支持,包括如下功能:

計(jì)算包圍盒;

計(jì)算網(wǎng)格面積;

計(jì)算兩個(gè)BRep之間的距離;

計(jì)算HLR(隱藏線消除);

相關(guān)的內(nèi)容在其官網(wǎng)上,網(wǎng)址: https://tracker.dev.opencascade.org/view.php?id=28125

 

2. Display Mesh

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

 

Figure 1. Draw readstl command

第一個(gè)參數(shù)shape是讀取STL生成的BRep名稱;

第二個(gè)參數(shù)fileSTL文件名;

第三個(gè)參數(shù)triangulation是可選參數(shù),如果輸入triangulation,則采用新的方式即直接生成網(wǎng)格;否則采用原來(lái)的方式,即將網(wǎng)格的每個(gè)三角形生成一個(gè)TopoDS_Face

 

下面將這些命令寫在一個(gè)Tcl腳本文件中,把OCC數(shù)據(jù)data文件夾中的STL文件進(jìn)行顯示, 

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

下面對(duì)上述腳本進(jìn)行解釋。

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

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

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

 

直接在Draw Test Harness中輸入上述命令也可以,反正只有幾行。或者把這幾行命令保存成一個(gè)文件,再使用source命令來(lái)加載也可以。下面是在3D Viewer中顯示讀取的STL模型:

 

Figure 2. Shaded STL model in 3D Viewer

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

 

Figure 3. Wireframe STL model in 3D Viewer

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

 

Figure 4. Wireframe of the STL model

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

3. Source Code

根據(jù)原來(lái)介紹的通過(guò)Draw的命令查找其源實(shí)現(xiàn)的方法,找到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;
}

當(dāng)使用選項(xiàng)triangulation時(shí),采用新的讀取STL函數(shù)得到網(wǎng)格數(shù)據(jù),再用BRep體的底層函數(shù)生成一個(gè)TopoDS_Face,直接將網(wǎng)格數(shù)據(jù)aTriangulation設(shè)置在Face中。

當(dāng)不使用選項(xiàng)triangulation時(shí),還是采用老的方式來(lái)讀取STL模型。老的方式讀取速度慢,且將網(wǎng)格中每個(gè)三角形生成一個(gè)TopoDS_Face,占用大量?jī)?nèi)存,是效率不高的方式,所以標(biāo)記為作廢狀態(tài)。開(kāi)發(fā)者應(yīng)盡量采用新的方式。

  

4. Conclusion

OCC7.3版本開(kāi)始支持只包含顯示數(shù)據(jù)的BRep體,這樣只包含顯示數(shù)據(jù)的BRep體可以直接顯示,與原來(lái)的將網(wǎng)格數(shù)據(jù)中的每個(gè)三角形都生成TopoDS_Face的方式相比,將會(huì)大大提高顯示效率。

因?yàn)榫W(wǎng)格數(shù)據(jù)中沒(méi)有包含線框的信息,所以直接顯示的網(wǎng)格模型切換到線框模式的效果不好,有時(shí)甚至不顯示線框。

 

Figure 5 Propeller STL model

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

如果要顯示網(wǎng)格模型的線框,需要自己根據(jù)實(shí)際情況添加一些Edge以達(dá)到理想效果。

 

 

5. References

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

  


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

 


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            亚洲欧洲一区二区天堂久久| 蜜桃久久av| 久久精品亚洲一区二区| 国产日韩一区二区三区在线| 欧美亚洲综合另类| 麻豆精品精华液| 日韩午夜在线| 国产欧美日本一区视频| 久久久久久尹人网香蕉| 亚洲欧洲综合另类在线| 中文国产成人精品| 国产视频精品va久久久久久| 久久亚洲一区二区三区四区| 亚洲精品国产日韩| 欧美一区高清| 亚洲精品一区在线观看香蕉| 国产精品xxxxx| 久久精品中文| 亚洲美女中文字幕| 久久露脸国产精品| 一区二区三区免费网站| 国产欧美欧美| 欧美欧美在线| 欧美一区二区视频在线观看2020| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲天堂黄色| 狠狠综合久久| 欧美日韩在线视频一区二区| 久久精品1区| 日韩视频一区二区三区| 另类成人小视频在线| 亚洲主播在线播放| 亚洲国产欧洲综合997久久| 国产精品久久久久7777婷婷| 美女视频黄a大片欧美| 午夜在线a亚洲v天堂网2018| 亚洲日本电影在线| 久久夜色精品一区| 午夜在线精品偷拍| 99国产一区| 亚洲国产精品一区二区第四页av| 国产精品女主播| 欧美另类99xxxxx| 久久男人资源视频| 性欧美暴力猛交69hd| 99热这里只有精品8| 欧美激情一区在线观看| 久久九九免费| 欧美在现视频| 亚洲主播在线| 一区二区三区三区在线| 亚洲欧洲日韩在线| 影音先锋久久| 韩国精品久久久999| 国产欧美精品一区二区色综合| 欧美日韩一区免费| 欧美精品日韩综合在线| 女仆av观看一区| 久久综合九色九九| 久久精品午夜| 久久久另类综合| 久久久久国产一区二区三区四区| 午夜在线视频观看日韩17c| 亚洲午夜激情| 亚洲欧美激情一区二区| 亚洲一区二区三区色| 亚洲在线视频网站| 午夜精品视频在线观看| 亚洲欧美日韩综合aⅴ视频| 亚洲午夜精品一区二区三区他趣| 99国内精品| 一区二区三区精密机械公司| 中文精品99久久国产香蕉| 一区二区三区久久久| 亚洲网站视频| 欧美一区二区三区四区在线| 欧美一区二区三区免费视| 欧美亚洲一区二区三区| 久久九九国产| 美女图片一区二区| 欧美国内亚洲| 欧美日韩亚洲一区| 国产精品久久久久久av福利软件| 国产精品视频男人的天堂| 国产精品网站一区| 狠狠久久五月精品中文字幕| 亚洲第一在线综合网站| 亚洲精品日韩久久| 亚洲一级黄色| 久久精品一本久久99精品| 男同欧美伦乱| 日韩视频精品| 午夜日韩福利| 女人天堂亚洲aⅴ在线观看| 欧美伦理a级免费电影| 国产精品www色诱视频| 国产一区二区三区在线观看视频 | 亚洲女同精品视频| 久久久久国产精品人| 奶水喷射视频一区| 国产精品国产三级国产普通话蜜臀| 国产精品一区毛片| 亚洲高清资源| 亚洲午夜久久久久久尤物| 久久激情中文| 91久久久久久| 亚洲欧美国产高清| 你懂的视频一区二区| 国产精品免费看| 尤物99国产成人精品视频| 一本到高清视频免费精品| 欧美诱惑福利视频| 亚洲日本国产| 久久精品国产亚洲aⅴ| 欧美日韩另类丝袜其他| 狠久久av成人天堂| 亚洲一区二区在线看| 欧美**字幕| 亚洲欧美在线网| 欧美极品在线视频| 狠狠色狠狠色综合日日tαg| 亚洲一级网站| 欧美激情一区二区三区| 欧美一区二粉嫩精品国产一线天| 欧美激情中文不卡| 伊甸园精品99久久久久久| 亚洲一级高清| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲小视频在线观看| 欧美成人亚洲成人| 狠狠色2019综合网| 欧美一区二区高清在线观看| 亚洲欧洲美洲综合色网| 久久久五月婷婷| 国产欧美日韩综合| 亚洲一二三四区| 亚洲日本视频| 免费中文日韩| 亚洲第一视频网站| 久久亚洲影音av资源网| 亚洲综合成人婷婷小说| 欧美图区在线视频| 日韩天堂在线观看| 亚洲国产高清一区二区三区| 久久国产综合精品| 国模私拍一区二区三区| 香蕉尹人综合在线观看| 一区二区三区久久精品| 欧美日韩国产一区二区三区| 亚洲精品美女久久久久| 美女精品视频一区| 久久久久9999亚洲精品| 国产一区二区三区久久精品| 香港久久久电影| 亚洲视频碰碰| 国产精品r级在线| 亚洲一区二区三区乱码aⅴ| 亚洲精品一区二区网址| 欧美日韩hd| 一区二区三区四区五区精品视频| 亚洲国产黄色| 欧美国产亚洲精品久久久8v| 亚洲精品国久久99热| 亚洲国产精品悠悠久久琪琪| 欧美.www| 99精品热6080yy久久| 欧美成人免费在线视频| 久久久亚洲人| 最近中文字幕mv在线一区二区三区四区 | 午夜精品视频在线观看| 在线亚洲激情| 国产嫩草影院久久久久 | 久久精品国语| 亚洲大胆女人| 亚洲国产91色在线| 欧美精品在线一区二区三区| 亚洲精品国产精品国自产在线| 亚洲第一福利视频| 欧美日本亚洲韩国国产| 亚洲香蕉在线观看| 亚洲欧美一区二区三区极速播放| 国产亚洲欧美一区二区| 另类成人小视频在线| 蜜臀av国产精品久久久久| 99re在线精品| 亚洲免费综合| 在线观看日韩国产| 亚洲毛片播放| 国产精品视频yy9099| 另类春色校园亚洲| 欧美日本中文| 欧美在线中文字幕| 久久综合色一综合色88| 在线视频欧美精品| 性欧美办公室18xxxxhd| 亚洲日韩视频| 亚洲一区久久久| 亚洲激情在线视频| 亚洲午夜精品国产| 亚洲成人自拍视频|