• <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 布爾運算簡介

            Posted on 2022-02-25 09:27 eryar 閱讀(1701) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

            OpenCASCADE 布爾運算簡介

            eryar@163.com

            布爾運算(Boolean Operations)是根據兩組模型的組合創建出新的模型的造型方法。兩組模型Objects/Tools之間有三種布爾算子:

            • 布爾并:FUSE,將兩組模型合并成一個;
            • 布爾減:CUT,從Objects中減去Tools模型;
            • 布爾交:COMMON,即兩組模型的共有部分;

            布爾運算的輸入是兩組模型,分別叫Objects和Tools。因為兩個參數的前后順序容易混淆,借用機械加工類比來加深記憶:Objects類比為待加工的工件,Tools類比為機床刀具。當執行布爾減運算時,相當于工件Object被刀具Tool切割。

            在OpenCASCADE中布爾運算第一個參數Objects也叫Arguments,第二個參數也是Tools。對應源碼如下:

            布爾運算的大概流程是先對兩個模型進行求交計算,求交結果主要是Edge邊。然后再根據求交計算新得到的Edge邊進行定位分類Classification處理,排除不需要的Edge邊,面等。最后根據邊重構出新的BREP模型。

            布爾運算的健壯性及效率依賴一些底層算法,如求交算法Intersection Algorithm,投影算法Projection Algorithm,擬合算法Approximation Algorithm及定位算法Classification Algorithm等。求交算法主要有面面求交、面邊求交、邊邊求交等。投影和擬合算法主要用于計算邊在面中的P-Curves。定位算法主要用于重構階段,通過定位排除不需要的邊、面等。

            關于重構模型OpenCASCADE提供了一些算法,如通過使用函數BOPAlgo_Tools::EdgesToWires 和 BOPAlgo_Tools::WiresToFaces從線框模型生成面。

            關于定位算法,提供BOPTools_AlgoTools::ComputeState計算點、邊、面相對于其他模型的位置狀態。提供BOPTools_AlgoTools::IsHole來判斷面FACE上的環WIRE是不是孔。

            通過查看源碼,可以看到其實現原理:即根據環WIRE中的邊EDGE的PCurve是順時針還是逆時針來判斷。通過對PCurve采樣點得到一個多邊形,通過計算多邊形面積的正負來判斷。

            OpenCASCADE中關于布爾運算有詳細的文檔Boolean Operations Specification,若對布爾運算感興趣,可以結合源碼來看這些文檔。開源的好處是可以了解算法背后的實現原理,如果有更好的方法,還可以參與貢獻,讓其變得更好。

             

            97久久精品人妻人人搡人人玩| 国产成人久久精品一区二区三区| 7777精品久久久大香线蕉| 久久伊人影视| 欧洲国产伦久久久久久久 | 亚洲国产精品成人AV无码久久综合影院| 乱亲女H秽乱长久久久| 亚洲欧美日韩久久精品第一区| 中文字幕久久精品| 午夜视频久久久久一区| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 国内精品久久久久久99蜜桃| 久久无码AV一区二区三区| 久久精品一区二区三区AV| 亚洲精品国精品久久99热一| 午夜久久久久久禁播电影| 成人综合伊人五月婷久久| 99久久夜色精品国产网站| 欧美午夜A∨大片久久 | 日本久久久久久久久久| 久久久久久噜噜精品免费直播| 久久天天躁狠狠躁夜夜2020老熟妇| 久久中文精品无码中文字幕| 成人综合久久精品色婷婷| 色综合久久中文字幕无码| 久久99精品国产| 热久久最新网站获取| 久久久久人妻精品一区二区三区 | 亚洲精品乱码久久久久久蜜桃 | 伊人久久大香线蕉综合Av| 婷婷久久综合九色综合98| 综合久久给合久久狠狠狠97色 | 国产免费福利体检区久久| 久久久久久久精品妇女99| 国产一久久香蕉国产线看观看| 三级片免费观看久久| 久久精品国产亚洲沈樵| 久久精品日日躁夜夜躁欧美| 久久综合久久综合久久综合| 中文字幕乱码久久午夜| 久久综合伊人77777麻豆|