Posted on 2022-01-09 12:10
eryar 閱讀(1217)
評論(0) 編輯 收藏 引用 所屬分類:
2.OpenCASCADE
OpenCASCADE DRAW Command Source
eryar@163.com
OpenCASCADE Draw Harness是基于Tcl腳本命令語言的工具,可以用來演示OCCT中的造型功能。Draw Harness中提供的命令基本包含了OCCT中所有的功能:
- 執行OCCT中的造型功能;
- 執行OCCT中的數據交換功能;
- 顯示和三維交互功能;
- 學習、評估及原型算法驗證;
- 為OCCT提供自動化測試功能;
- 也可以擴展Draw Harness,增加自定義命令;
因為Draw Harness是基于Tcl腳本語言開發的,所以可以運行在支持Tcl的平臺上,如Windows,macOS, Linux,甚至是瀏覽器上。
Tcl是命令腳本語言,如我們使用如下兩行命令,即可以顯示一個長方體:
box b 1 2 3
vdisplay b

原來一直建議在對OCCT有個基本了解后,可以熟悉一下Draw Harness。因為在Draw Harness中可以測試一下算法,通過Draw Harness驗證后,可以通過Draw Harness的命令找到對應的C++源碼,算是官方的代碼示例。原來根據命令查找C++源碼的辦法不太優雅,沒想到OCCT已經提供了一個命令getsourcefile
可以直接返回命令所在的C++源碼文件,這樣可以大大提高查找效率。這個命令也是用Tcl腳本實現的,在src/DrawResources中的StandardCommands.tcl文件:

這個命令用法很簡單,參數就是需要查詢的命令。如查詢上面創建長方體并顯示用到的兩個命令box和vdisplay:

這樣我們就可以直接在相關的C++源碼文件中查找到相關的命令:

使用getsourcefile可以快速查找到Tcl命令對應的C++源文件,是比較優雅的方式。
最近看到OCCT的活躍開發者KGV將Draw Harness移植到了Web上,大家可以去化驗一下。體驗地址是:https://gkv311.github.io/occt-draw/

并且在https://draw.sview.ru 給出很多測試案例:
