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

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>
            亚洲制服av| 欧美一区二区三区免费视| 一区二区三区成人| 99精品久久久| 亚洲午夜一区| 亚洲自拍啪啪| 欧美亚洲日本网站| 久久久久久网| 欧美成人免费视频| 亚洲黄色在线| 日韩一级二级三级| 亚洲欧美日韩天堂| 久久亚洲精品一区二区| 欧美韩国日本综合| 国产精品高潮呻吟久久av黑人| 国产精品九九| 在线播放不卡| 亚洲图片你懂的| 久久久久久日产精品| 亚洲高清免费| 亚洲欧美日韩一区| 欧美激情va永久在线播放| 国产精品嫩草99av在线| 在线国产欧美| 午夜精品国产| 亚洲高清av| 久久成人国产精品| 欧美日韩综合精品| 在线精品视频一区二区| 亚洲一区二三| 亚洲国产精品嫩草影院| 亚洲欧美国产毛片在线| 欧美麻豆久久久久久中文| 国产一区二区视频在线观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国产精品欧美日韩一区二区| 精品成人一区二区| 亚洲一区免费网站| 欧美大片一区| 久久久久亚洲综合| 国产精品久久久一区麻豆最新章节 | 国产精品呻吟| 99精品福利视频| 免费欧美在线| 欧美在线免费视屏| 国产精品美女xx| 亚洲性线免费观看视频成熟| 久久久xxx| 亚洲精品在线免费| 浪潮色综合久久天堂| 国产日韩一区二区三区在线| 亚洲一区二区三区在线观看视频 | 国产精品国产三级国产专播精品人 | 欧美视频一区二区在线观看 | 久久久久久网址| 亚洲综合国产精品| 欧美网站在线观看| 一区二区三区高清| 亚洲激情啪啪| 欧美阿v一级看视频| 1000精品久久久久久久久| 久久人人97超碰国产公开结果| 亚洲一区二区三区在线观看视频| 欧美激情亚洲激情| 日韩一区二区福利| 日韩一区二区精品葵司在线| 欧美另类一区| 亚洲一区二区三区四区视频| 亚洲日本一区二区三区| 欧美激情在线免费观看| 日韩天天综合| 一本在线高清不卡dvd| 欧美性开放视频| 香蕉免费一区二区三区在线观看| 亚洲在线观看视频网站| 国产色视频一区| 老司机免费视频一区二区三区| 久久精品国产一区二区三区免费看| 合欧美一区二区三区| 欧美大片在线观看| 欧美日本一区| 欧美亚洲网站| 欧美一区久久| 亚洲人成亚洲人成在线观看| 亚洲免费大片| 国产欧美在线| 欧美承认网站| 国产精品久久久久久久9999| 久久久国产精品亚洲一区| 麻豆精品在线视频| 亚洲一区二区免费| 久久精品毛片| 中日韩视频在线观看| 欧美在线看片a免费观看| 亚洲精品久久久久久一区二区| 一本一本久久a久久精品综合妖精| 国产视频欧美视频| 91久久精品久久国产性色也91| 亚洲免费在线精品一区| 亚洲一区二区黄色| 午夜精品亚洲一区二区三区嫩草| 黄色成人91| 亚洲天堂成人在线观看| 亚洲第一黄色| 午夜精品电影| 亚洲一区二区高清| 欧美1区3d| 久久久精品午夜少妇| 欧美日韩国产区| 久久综合久久综合久久综合| 欧美四级在线| 亚洲国产成人av好男人在线观看| 国产精品影视天天线| 亚洲国产福利在线| 国模套图日韩精品一区二区| 一区二区三区精品在线| 亚洲人精品午夜在线观看| 午夜电影亚洲| 亚洲一区精品在线| 欧美精品一区二区三区一线天视频 | 亚洲一区二区三区国产| 日韩视频二区| 蜜桃av噜噜一区| 久久亚洲精品欧美| 国产农村妇女毛片精品久久莱园子| 亚洲精品日韩在线| aⅴ色国产欧美| 免费观看在线综合| 欧美国产日韩视频| 在线播放日韩专区| 久久久久成人精品| 久久深夜福利| 狠狠入ady亚洲精品| 久久国产福利| 麻豆精品在线观看| 在线观看av不卡| 久久这里只有| 欧美黄色一区二区| 亚洲黄色天堂| 欧美黑人国产人伦爽爽爽| 亚洲第一精品久久忘忧草社区| 亚洲二区在线观看| 久久视频一区| 亚洲高清中文字幕| 日韩一级裸体免费视频| 欧美日韩一区自拍| 亚洲一区二区三区免费观看| 欧美在线视频一区二区| 国产主播在线一区| 老鸭窝毛片一区二区三区| 亚洲第一精品夜夜躁人人爽| 日韩亚洲欧美精品| 国产精品久久久久天堂| 香蕉久久精品日日躁夜夜躁| 久久久久久亚洲精品中文字幕 | 亚洲欧美制服中文字幕| 国产精品视频999| 久久激情久久| 亚洲福利久久| 亚洲视频观看| 欧美理论电影在线观看| 久久婷婷av| 欧美成人精品高清在线播放| 亚洲国产日韩欧美在线99| 欧美精品午夜| 亚洲欧美中文日韩在线| 欧美凹凸一区二区三区视频| 亚洲欧洲一区二区天堂久久 | 狠狠色伊人亚洲综合成人| 久久字幕精品一区| 亚洲人成亚洲人成在线观看| 亚洲在线观看视频网站| 韩国三级电影一区二区| 欧美精品在线视频观看| 欧美一区二区三区精品电影| 91久久精品日日躁夜夜躁欧美| 在线亚洲+欧美+日本专区| 国产日韩高清一区二区三区在线| 久久三级视频| 亚洲视屏一区| 亚洲成色999久久网站| 亚洲一区视频在线| 激情久久久久久久| 欧美色欧美亚洲另类二区| 久久精品国产99国产精品| 日韩视频免费观看高清完整版| 久久亚洲春色中文字幕| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲第一黄网| 国产精品入口尤物| 欧美精品久久久久久久久久| 欧美一区二区三区男人的天堂 | 久久九九免费视频| 亚洲天堂视频在线观看| 亚洲国产欧美久久| 久久综合激情| 欧美伊人久久大香线蕉综合69| 亚洲日本一区二区| 国产综合香蕉五月婷在线| 国产精品jizz在线观看美国 |