Posted on 2021-02-05 21:36
eryar 閱讀(1016)
評論(0) 編輯 收藏 引用 所屬分類:
2.OpenCASCADE
OpenCASCADE Chamfer 3D Basics
eryar@163.com
倒角Chamfer造型功能是幾何內核一般都具有的功能,OpenCASCADE中也提供倒角Chamfer造型功能。如下圖所示:

在Draw Test Harness中的源文件BRepTest_ChamferCommands.cxx可以看到三維倒角功能的類是BRepFilletAPI_MakeChamfer,通常使用倒角類有兩種方式:
l 指定要倒角的邊Edge及倒角距離:這種情況是對倒角邊相鄰的兩個面進行等距離倒角;
l 指定要倒角的邊Edge及兩個倒角距離,還有一個面Face:這種情況是對倒角邊相鄰的兩個面進行不等距離倒角,其中距離1是在面Face上的倒角距離。即當兩個倒角距離不相等時,需要多給一個參數一個面來確定倒角距離。
在Draw Test Harness中對應于三維倒角的命令是: chamf

對于等距倒角可以用Tcl腳本在DRAW中演示如下:
box b 10 10 10
explode b e
chamf ch b b_1 5
vdisplay ch

通過命令box創建一個邊長為10的立方體,通過命令explode將立方體按邊e分解。通過命令chamf來對立方體進行等距倒角:指定立方體b及倒角邊b_1和倒角距離5。
對于不等距倒角可以用Tcl腳本在DRAW中演示如下:
box b 10 10 10
explode b f
explode b_1 e
chamf ch b b_1_1 b_1 3 8
vdisplay ch

通過命令box創建一個邊長為10的立方體,通過命令explode將立方體按面f分解,再將一個面b_1按邊e分解。通過命令chamf來對立方體進行不等距倒角:指定立方體b及倒角邊b_1_1及距離1所在面b_1和兩個倒角距離3,8。

最后,我們打開源碼工程發現倒角庫中有個ChFiKPart包package,對于倒角功能里面縮寫有這樣的規則:Chamfer一般縮寫為Ch;Fillet一般縮寫為Fi或Fil。那么這個K Part指的是什么呢?通過對源碼的分析,K Part指的是倒角或倒圓的結果,如下圖所示:

這里先引入opencascade中倒角中K Part的概念,后面再對其源碼進行深入分析。
今天是小年,馬上就要到農歷牛年的春節了,提前給大家拜年啦!經歷了2020年的新冠疫情,健康的身體才是革命的本錢。感謝大家的信任和支持,祝大家身體健康,萬事如意,牛年牛牛牛!
為了方便大家在移動端也能看到我的博文和討論交流,現已注冊微信公眾號,歡迎大家掃描下方二維碼關注。