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

eryar

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

OpenCASCADE BRep Precision

Posted on 2022-10-05 08:51 eryar 閱讀(1250) 評論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

OpenCASCADE BRep Precision

eryar@163.com

Abstract: Several geometric representations maybe attached to a topological(B-Rep) object. These representations are similar but rarely identical. For modeling algorithms, it is necessary to know exactly the precision associated with this approximation. The numeric value of this precision is called tolerance. It defines the zone in which all geometrical representations of the object are located.

Keywords: OpenCASCADE, BRep, Precision, Tolerance

1 Introduction

在計算機中表示浮點數是有精度限制的,浮點數的相等比較一般使用鄰域比較技術,就是在指定精度的前提下比較兩個浮點數是否相等。在邊界表示法BRep中同一個拓樸體可以附加幾種幾何表示,如拓樸點Vertex有如下幾何表示方法:

  • 一個三維點;
  • 一條曲線和曲線上的參數u;
  • 一個曲面上的一對參數u,v;

這幾種幾何表示方法表示的是同一個對象,但因為浮點數精度限制,這幾種幾何數據并不能完全相同的。對于造型算法有必要知道拓樸體上的精度值。BRep上關聯的精度值稱為容差Tolerance。Vertex點的容差是包圍點且以精度值為半徑的球體;Edge邊的容差是包圍曲線且以精度值為半徑的管道;Face的容差是包圍曲面且以精度值為厚度板:

精度是幾何造型內核一個重要指標,且影響數值算法性能及穩定性Robust。在OpenCASCADE中,精度還有一個要求:

2 Unit and Precision

對于幾何內核中的數值1代表什么,一般人可能習慣性地將其與毫米mm單位關聯,覺得是1mm。建模時單位的選擇會對精度有很大影響,因為不同單位會導致數據小數位數的變化。如對芯片內部結構建模,芯片的尺度是納米,若以毫米以單位,則要構造出芯片內部有些結構,對幾何內核精度要求會更高;若以納米為單位,則對幾何內核精度要求會低些。

由此可見,幾何內核中的數值1無單位的,需要根據模型的尺度選擇合適的單位。單位只針對三維模型空間中的曲線曲面,由于曲線曲面用參數方程表示,所以曲線的參數空間是一維空間,曲面的參數空間是二維空間。參數空間的數是沒有單位的。如一個圓,不管其位置和半徑如何,其參數空間總是從0~2PI。所以在設置精度時,需要區分是模型空間還是參數空間。

3 BRep Precision

在OpenCASCADE中通過類BRep_Builder來設置邊界表示法中包含幾何信息的點、邊和面來設置容差。如設置面的容差函數為:

修改容差也可以通過類BRep_Builder中的Update相關函數,更高級直接的修改容差的類是ShapeFix_ShapeTolerance。

 查詢容差需要使用類BRep_Tool:

從查詢容差函數的實現代碼中可以看出,在OpenCASCADE中容差的最小值是Precision::Confusion(),即1.e-7。即使設置的容差小于1.e-7,查詢容差的時候也是1.e-7。即OpenCASCADE中BRep表示的建模極限是1.e-7。如以米為單位,要去對納米的物體建模,在OpenCASCADE中是做不到。

5 Primitive Tolerance

使用OpenCASCADE內置的構造基本體的算法來構造BRep體時,默認的容差值就是Precision::Confusion(),(1.e-7)即使用了最高精度。如創建圓錐體時其高度Height值最小為Precision::Confusion()。

創建長方體Box時各邊長度的最小值也是Precision::Confusion():

4 Geometry Precision

在OpenCASCADE中幾何曲線和曲面都是用參數方程來表示的,幾何的意思就是數學方程,是精確的數學表示沒有容差。

但是幾何相關的算法如求交Intersection、投影Project及定位Classifier都與精度密切相關。如定位算法Classifier判斷點是否在線/面上等。而求交的算法實現都是數值方法,數值算法的迭代次數和終止條件都與精度直接相關,從而影響算法性能及穩定性。如計算解析曲面求交算法中默認容差:

解析曲面幾何求交算法中的默認容差:

有些容差值是寫在代碼中不能修改,這些容差值都要比BRep中的極限容差值1.e-7要小,即幾何算法中硬編碼的一些容差要小于BRep中的容差值。由此可見幾何算法中的精度要高于BRep中的精度,從而保證算法的正確性。

6 Fuzzy Tolerance

在布爾運算中,BRep體的容差值會作為幾何算法的精度輸入。在Draw Test Harness中可通過如下命令設置容差:

Draw[1]> help settolerance

settolerance    : shape [mode=v-e-f-a] val(fix value) or tolmin tolmax

Draw[2]> settolerance s1 a 0.001

下面以兩個模型做布爾減CUT操作為例,看看不同的容差布爾支算所需要時間有什么不同。通過左邊Tcl腳本導入兩個模型,再使用命令settolerance設置容差為0.01,最后布爾運算花費0.2414661秒。

將命令settolerance注釋掉,使用模型默認容差1e-7,看所需要的時間:

從上面的例子看到容差的提高所需時間沒有太大區別。若BRep的容差會作為幾何算法的容差輸入,理論上設置BRep容差會對布爾運算有影響。

在二次解析曲面求交的數值算法中,容差參數直接省略沒有使用。在二次解析曲面求交的幾何算法中,容差主要用來判斷一些接觸時是否相交。在更底層的數值算法庫math中使用了內置硬編碼的更高的精度。如下圖所示為多項式求根的數值算法中內置的精度為1.0e-30,遠高于BRep中的1.0e-7。這樣做避免了BRep容差對底層算法的影響,但是高精度犧牲了一些數值算法性能。

由此可見,容差主要影響接觸時情況的處理,處理結果直接影響求交的結果。在布爾運算中使用默認容差為1e-7不相交的,但實際應用場景只要1e-3的容差,則會相交。會導致布爾運算結果與預期不符。為了提高布爾運算穩定性引入Fuzzy容差的概念。在相交計算中Fuzzy容差的使用代碼如下:

其他相交計算中關于Fuzzy容差的處理都是類似的,具體可以參考類IntTools_EdgeFace和IntTools_FaceFace。通過引入Fuzzy容差設置,在原有BRep容差基礎上加上Fuzzy/2來擴大容差范圍,可以處理布爾運算中接觸的情況,提高布爾運算穩定性。下面使用Tcl腳本演示Fuzzy容差的使用場景:

box b 10 10 10

pcylinder c 5 20

ttranslate c 5 5 0.00001

bfuzzyvalue 0.00001

bcut r b c

當使用布爾運算標準容差時,可以把bfuzzyvalue這行注釋掉。

創建一個長方體和圓柱體,并將圓柱體沿Z方向移動0.00001。

上圖左邊為使用標準容差,默認為1e-7。右邊為設置Fuzzy容差效果。

7 Conclusion

綜上所述,幾何內核中的數是沒有量綱的,可以根據模型的尺度選擇合適的單位。OpenCASCADE中BRep體模型最小建模精度為1.e-7。幾何數據使用參數方程表示,是精確的數學表示,但是幾何算法是有精度的。有些幾何算法中有些精度是硬編碼的不能修改,這類精度值都要高于1.e-7。有些精度是通過BRep中的拓樸點,邊和面傳遞過來的。為了提高布爾運算的穩定性,引入Fuzzy容差,解決一些接觸的容差問題。

 

8 下載PipeCAD

現在可以直接在Github上下載PipeCAD個人版免費使用:

https://github.com/eryar/PipeCAD/releases

國內用戶可以加入PipeCAD QQ交流群964851855,在群文件中下載PipeCAD最新版本。

PipeCAD自帶Sample示例項目,可以通過用戶SYSTEM,密碼XXXXXX來登錄項目體驗PipeCAD。關于PipeCAD的使用方法可以先查看PipeCAD相關的操作視頻:

https://space.bilibili.com/1548012589

歡迎大家下載使用,反饋意見或參與開發,來一起完善PipeCAD。大家可以掃描下方二維碼加入PipeCAD QQ群,一起交流使用PipeCAD的經驗心得。PipeCAD QQ交流群 964851855。

注意事項:目前PipeCAD正處于測試階段,建議根據需要將項目數據進行備份,以防數據丟失。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美精品v国产精品v日韩精品| 欧美成人一区在线| 亚洲无亚洲人成网站77777| 欧美日韩亚洲综合在线| 亚洲欧美另类中文字幕| 午夜精品久久久久久久蜜桃app| 国产日韩综合| 欧美高清不卡| 欧美深夜福利| 美女主播精品视频一二三四| 免费日韩视频| 亚洲欧美视频在线观看| 久热成人在线视频| 欧美大片91| 久久国产精品免费一区| 久久国产福利国产秒拍| 亚洲精品一区二区三区不| 一本色道久久综合一区| 狠狠色狠狠色综合日日tαg| 亚洲免费高清视频| 亚洲激情成人在线| 久久综合久久久久88| 久久精品一区二区国产| 欧美精品一区二区三区久久久竹菊| 亚洲欧美乱综合| 国产精品国色综合久久| 亚洲国内精品| 亚洲最黄网站| 欧美精品国产一区| 亚洲国产欧美一区二区三区久久| 国内精品一区二区三区| 亚洲欧美卡通另类91av | 一区二区日韩精品| 亚洲免费av电影| 欧美日韩精品免费看| 91久久精品www人人做人人爽| 亚洲国产高清aⅴ视频| 欧美一区免费| 亚洲第一页中文字幕| 亚洲第一天堂av| 国产精品高清一区二区三区| 在线一区二区三区四区五区| 亚洲欧洲av一区二区三区久久| 国产精品久久久久久久久搜平片 | 在线视频中文亚洲| 欧美精品免费在线| 亚洲视频在线观看视频| 性色av一区二区三区| 136国产福利精品导航| 欧美日韩卡一卡二| 久久国产视频网站| 亚洲啪啪91| 欧美成熟视频| 久久精品最新地址| 亚洲一品av免费观看| 曰本成人黄色| 国产欧美一区二区精品婷婷| 久久综合久久久久88| 欧美亚洲三级| 亚洲一区三区电影在线观看| 亚洲国产精品成人一区二区| 亚洲一区影院| 日韩亚洲综合在线| 亚洲国产成人在线| 亚洲国内精品| 亚洲黄色成人| 一本久久综合亚洲鲁鲁| 亚洲精品永久免费| 在线观看中文字幕不卡| 国产麻豆综合| 国产亚洲精品一区二555| 国产精品乱码一区二三区小蝌蚪| 欧美日韩在线观看一区二区三区| 模特精品裸拍一区| 欧美日韩精品一区| 国产精品一区二区在线| 欧美日韩一区二区三区| 欧美体内she精视频| 国产精品久久久久久久久借妻 | 国产专区综合网| 国内精品久久久久久 | 99精品国产99久久久久久福利| 亚洲激情成人| 午夜精品福利在线观看| 欧美综合二区| 欧美 日韩 国产 一区| 欧美激情亚洲自拍| 国产精品国码视频| 在线观看欧美精品| 亚洲一区国产一区| 欧美激情按摩在线| 午夜一级在线看亚洲| 欧美日韩不卡一区| 亚洲激情在线观看视频免费| 亚洲欧美一区二区激情| 亚洲韩国青草视频| 久久精品久久99精品久久| 欧美涩涩视频| 日韩写真在线| 麻豆91精品| 亚洲精品国产精品国产自| 免费永久网站黄欧美| 奶水喷射视频一区| 欧美成人视屏| 亚洲欧洲视频在线| 亚洲电影av| 欧美精品一区二区视频| 99香蕉国产精品偷在线观看| 亚洲区第一页| 欧美精品日韩精品| 在线亚洲精品| a4yy欧美一区二区三区| 欧美视频日韩| 久久精品视频网| 麻豆成人在线| 欧美一区2区视频在线观看| 亚洲欧美日本国产专区一区| 午夜精品久久久久久久99水蜜桃| 亚洲精品一区中文| 亚洲国产日韩在线一区模特| 久久婷婷国产综合精品青草| 国产一区二区三区精品欧美日韩一区二区三区 | 午夜精品一区二区三区电影天堂| 国产亚洲成人一区| 亚洲精品一区二区三区四区高清| 国产精品成人在线| 亚洲国产一二三| 国产视频亚洲精品| 亚洲精品护士| 伊人成年综合电影网| 亚洲毛片视频| 亚洲精品1区2区| 久久国产手机看片| 亚洲欧美日韩直播| 欧美日韩精品一区二区天天拍小说 | 91久久国产综合久久| 国内精品模特av私拍在线观看| 99re在线精品| 一区二区欧美视频| 欧美高清在线播放| 最新日韩在线视频| 亚洲精品一区二区三区四区高清 | 99国产精品| 亚洲午夜精品久久久久久app| 欧美成人a视频| 91久久精品www人人做人人爽| 亚洲欧洲免费视频| 欧美福利在线| 中文精品一区二区三区| 亚洲一区二区三区777| 国产精品高清网站| 欧美一区二区福利在线| 玖玖国产精品视频| 另类亚洲自拍| 亚洲激情视频网| 亚洲欧美在线免费观看| 国产日韩欧美高清| 老司机久久99久久精品播放免费| 亚洲第一精品福利| 亚洲一区在线播放| 亚洲二区在线观看| 欧美色视频在线| 午夜精品久久久久久| 欧美成人蜜桃| 欧美一区二区视频97| 亚洲电影专区| 国产精品美女视频网站| 麻豆精品视频在线| 性欧美办公室18xxxxhd| 亚洲伦理久久| 最新日韩在线视频| 欧美bbbxxxxx| 久久嫩草精品久久久久| 亚洲欧美日韩国产一区二区| 亚洲电影av| 亚洲国产精品免费| 精品电影在线观看| 国产在线国偷精品产拍免费yy| 欧美日韩一级黄| 欧美日韩国产综合新一区| 免费在线欧美视频| 欧美激情久久久久久| 欧美高清在线视频| 男女视频一区二区| 欧美激情综合五月色丁香小说 | 欧美一区二区三区免费看| 午夜一级在线看亚洲| 久久大逼视频| 美女视频一区免费观看| 欧美成人中文| 欧美特黄一区| 国产综合欧美在线看| 亚洲电影天堂av| 亚洲自啪免费| 免费观看国产成人| 亚洲精品一区久久久久久 | 黑人操亚洲美女惩罚| 亚洲国产aⅴ天堂久久| 亚洲深爱激情| 老色鬼精品视频在线观看播放|