• <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>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            OpenCASCADE Connect Edges to Wires

            Posted on 2021-03-06 11:34 eryar 閱讀(2210) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

            OpenCASCADE Connect Edges to Wires

            eryar@163.com

             

            1 Introduction

            在邊界表示法(BREP)中,WIRE是由首尾依次相連的EDGE組成的閉合結構,有的內核也叫做LOOP。BREP結構中,就是通過WIRE來限定FACE的邊界范圍。FACE中的幾何曲面都是用參數曲面形式來表示,簡單的通過參數U,V范圍來限定,只能得到一些簡單規則的曲面片。不規則的任意形狀的曲面片,只能通過WIRE來限定。例如,地球這個球面,中國的邊境線就相當于WIRE,限定出中國的疆土。

            有時在構造WIRE的時候,拿到的是一些無序的EDGE,如何將無序的EDGE生成WIRE,OpenCASCADE中提供了多種方法,下面分別來對這些方法進行介紹。

             

            2 BRepBuilderAPI_MakeWire

            BRepBuilderAPI_MakeWire是生成WIRE最直接的類,底層使用類BRepLib_MakeWire。生成WIRE的時候有兩種方式:一種是依次Add邊EDGE;一種是添加一些邊,這些邊可以是無充的。兩種方式的處理邏輯是不同的,對于第一種依次添加EDGE的方式,則要求添加的EDGE是相連的。若不相連或者有其他錯誤,會直接給出錯誤信息:

             

            對于添加一些邊EDGE的方式,會對添加的EDGE做一個相連檢查。

             

            3 ShapeAnalysis_WireOrder

            ShapeAnalysis_WireOrder主要用于將無序的EDGE生成WIRE時,EDGE的首尾依次相連的順序Order。這個類的方式就簡單一些,直接根據EDGE的兩個端點坐標來檢查相連狀態。這個功能原來也介紹過:OpenCASCADE中散亂Edge生成Wire

            https://www.cnblogs.com/opencascade/p/WireOrder.html

             

             

            4 ShapeAnalysis_FreeBounds

            ShapeAnalysis_FreeBounds這個類中提供static函數ConnectEdgesToWires()用于將無序的EDGES生成一些WIRE。所以這個類可以用于檢測一些無序的EDGE中存在幾個WIRE。

             

            5 BRepAlgo_Loop

            BRepAlgo_Loop用于將一個FACE上的多個EDGE生成多個WIRE。功能與ShapeAnalysis_FreeBounds中的ConnectEdgesToWires類似,但多個要求,這些EDGE都是一個FACE上的EDGE,而且對這些EDGE的Orientation也有要求。若Orientation不是依次相連,則也會生成WIRE失敗。

             

            6 Conclusion

            綜上所述,OpenCASCADE考慮了將無序EDEG生成WIRE的情況。由于是多人協同開發,造成重復的代碼實現。建議將重復實現整理歸納,只保留一份穩定性、性能好的實現。

             


            為了方便大家在移動端也能看到我的博文和討論交流,現已注冊微信公眾號,歡迎大家掃描下方二維碼關注。
            Shing Liu(eryar@163.com)
            99999久久久久久亚洲| 色偷偷88欧美精品久久久| 99热都是精品久久久久久| 久久国产精品免费一区| 久久综合色老色| 久久精品国产网红主播| 久久久久亚洲AV综合波多野结衣| 伊人情人综合成人久久网小说| 精品综合久久久久久888蜜芽| 久久国产免费直播| 久久99国内精品自在现线| 伊人伊成久久人综合网777| 久久青青草原精品影院| 久久久久久精品成人免费图片| 日本免费一区二区久久人人澡| 亚洲精品无码成人片久久| 久久久久无码精品| 久久久久久免费一区二区三区| 中文字幕久久久久人妻| 亚洲国产天堂久久久久久| 国产精品久久久久影院嫩草| 久久99精品国产麻豆宅宅| 三级韩国一区久久二区综合| 久久精品国产精品国产精品污| 亚洲αv久久久噜噜噜噜噜| 久久综合色区| 久久精品国产亚洲Aⅴ蜜臀色欲| 国产精品99精品久久免费| 无码日韩人妻精品久久蜜桃| 怡红院日本一道日本久久 | 亚洲伊人久久成综合人影院| 国产精品99久久久久久人| 午夜精品久久久久久中宇| 免费精品国产日韩热久久| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久亚洲国产欧洲精品一| a高清免费毛片久久| 久久精品99久久香蕉国产色戒| 久久天天躁狠狠躁夜夜96流白浆| AV无码久久久久不卡蜜桃| 97精品依人久久久大香线蕉97|