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

eryar

PipeCAD - Plant Piping Design Software.
PlantAssistant - Translate AVEVA RVM/SP3D VUE to glTF, STEP, etc.
posts - 606, comments - 590, trackbacks - 0, articles - 0

OpenCASCADE BRep Precision

Posted on 2022-10-05 08:51 eryar 閱讀(1258) 評論(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| 亚洲欧美一区二区三区久久| 亚洲国产激情| 亚洲专区在线| 欧美视频二区| 日韩亚洲不卡在线| 欧美激情视频给我| 另类激情亚洲| 亚洲国产高清一区| 麻豆成人精品| 久久久亚洲综合| 影视先锋久久| 久久人人爽人人| 久久av一区二区三区| 免费成人高清视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲视频久久| 国产精品超碰97尤物18| 亚洲视频一二区| 一区二区日韩精品| 国产精品美女久久久浪潮软件| 亚洲欧美日产图| 亚洲欧美国产日韩天堂区| 国产精品激情电影| 欧美一级在线视频| 欧美在线观看一区二区| 韩国成人精品a∨在线观看| 久久久噜噜噜久久久| 久久午夜精品一区二区| 亚洲欧洲日本国产| 亚洲激情黄色| 国产精品国产三级国产| 欧美一级在线视频| 久久九九精品99国产精品| 亚洲高清影视| 99精品国产99久久久久久福利| 国产精品福利网站| 久久精品99国产精品酒店日本| 久久精品亚洲国产奇米99| 在线免费观看视频一区| 亚洲九九精品| 国产亚洲精品成人av久久ww| 欧美 日韩 国产 一区| 欧美—级a级欧美特级ar全黄| 亚洲一区二区三区国产| 久久高清国产| 日韩一区二区精品视频| 亚洲一区二区三区中文字幕| 在线精品视频在线观看高清 | 日韩午夜黄色| 国产亚洲欧美色| 亚洲国产成人porn| 国产精品亚洲视频| 亚洲国产精品激情在线观看| 国产欧美 在线欧美| 亚洲福利视频网站| 国产女人18毛片水18精品| 亚洲高清资源综合久久精品| 国产欧美va欧美va香蕉在| 欧美二区视频| 国产精品自拍一区| 亚洲国产精品黑人久久久| 国产日韩在线亚洲字幕中文| 亚洲欧洲日产国产网站| 国产在线国偷精品产拍免费yy| 亚洲精品国产精品国自产观看浪潮| 国产日产高清欧美一区二区三区| 亚洲国产成人av好男人在线观看| 国产日韩欧美在线视频观看| 亚洲精品美女久久7777777| 国产真实乱偷精品视频免| av成人动漫| 亚洲三级免费电影| 欧美在线视频观看免费网站| 亚洲综合电影| 欧美激情五月| 久久躁狠狠躁夜夜爽| 亚洲欧美一区二区三区极速播放| 久久亚洲二区| 久久久五月婷婷| 国产欧美精品在线播放| 一本色道婷婷久久欧美| 日韩一级在线观看| 欧美激情一区二区三区| 欧美韩国日本综合| 国模精品一区二区三区| 午夜视频精品| 欧美在线观看视频一区二区| 国产精品第2页| 在线视频精品一区| 亚洲在线一区| 国产精品乱人伦中文| 99综合在线| 亚洲亚洲精品在线观看| 国产精品高清在线| 午夜国产一区| 久久嫩草精品久久久精品一| 国产一区二区久久| 亚洲综合首页| 久久精品日韩| 伊人久久综合| 欧美成人在线网站| 亚洲精品一区二区三区四区高清| 日韩一区二区免费看| 欧美午夜免费| 午夜在线观看免费一区| 久久一综合视频| 影音国产精品| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲成人自拍视频| 亚洲精品免费一二三区| 裸体素人女欧美日韩| 欧美大胆a视频| 亚洲国产精品一区二区第一页 | 欧美日韩成人综合天天影院| 亚洲国产精品va在线观看黑人| 亚洲精品一区二区三区不| 欧美老女人xx| 亚洲综合成人在线| 久久综合一区| 日韩一二三区视频| 欧美午夜一区| 久久精品亚洲一区二区| 欧美成人r级一区二区三区| 一道本一区二区| 国产精品一区二区你懂得| 久久久成人精品| 亚洲美女电影在线| 久久精品视频亚洲| 日韩亚洲成人av在线| 国产精品一区二区三区四区五区| 久久久久久一区| 中文亚洲免费| 欧美激情视频网站| 亚洲男同1069视频| 亚洲二区视频在线| 国产精品卡一卡二| 男人插女人欧美| 先锋影音网一区二区| 亚洲精品一区二区三区婷婷月| 久久看片网站| 亚洲欧美怡红院| 日韩视频一区二区在线观看 | 久久久综合激的五月天| 亚洲精品欧美精品| 国产精品久久久一区麻豆最新章节 | 亚洲黄色av| 欧美在线免费视屏| 99视频一区| 伊人久久婷婷| 国产视频在线观看一区| 欧美精品久久久久久久| 欧美一级在线视频| 亚洲视频久久| 亚洲人成小说网站色在线| 久久综合九色综合网站| 午夜精品成人在线视频| 一区二区三区|亚洲午夜| 亚洲国产精品va在看黑人| 国产一区二区久久精品| 国产精品成人v| 欧美日韩1区2区| 欧美成人亚洲| 裸体素人女欧美日韩| 久久亚洲春色中文字幕| 久久国产精品第一页| 午夜一区二区三区在线观看| 亚洲午夜精品17c| 一区二区三区欧美日韩| 亚洲精品之草原avav久久| 亚洲国产精品成人综合色在线婷婷| 久久综合九色综合欧美就去吻 | 免费亚洲电影在线| 久久久精品动漫| 久久精品99久久香蕉国产色戒| 午夜精品一区二区三区在线| 亚洲影院在线观看| 亚洲小说欧美另类婷婷| 亚洲一区二区欧美日韩| 亚洲在线日韩| 欧美一区二区三区在| 欧美一区二区观看视频| 欧美在线视频免费| 久久激情五月婷婷| 久久亚洲欧洲| 久久综合五月| 欧美黄色一区二区| 亚洲黄网站黄| 99精品国产高清一区二区| 在线亚洲精品福利网址导航| 一区二区三区波多野结衣在线观看| 99这里只有精品| 亚洲综合第一| 久久黄色小说| 欧美1区视频| 欧美日韩亚洲一区二区三区在线| 欧美日韩一区二区三区免费| 欧美性猛交xxxx乱大交退制版|