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

原來一直建議在對(duì)OCCT有個(gè)基本了解后,可以熟悉一下Draw Harness。因?yàn)樵贒raw Harness中可以測(cè)試一下算法,通過Draw Harness驗(yàn)證后,可以通過Draw Harness的命令找到對(duì)應(yīng)的C++源碼,算是官方的代碼示例。原來根據(jù)命令查找C++源碼的辦法不太優(yōu)雅,沒想到OCCT已經(jīng)提供了一個(gè)命令getsourcefile
可以直接返回命令所在的C++源碼文件,這樣可以大大提高查找效率。這個(gè)命令也是用Tcl腳本實(shí)現(xiàn)的,在src/DrawResources中的StandardCommands.tcl文件:

這個(gè)命令用法很簡(jiǎn)單,參數(shù)就是需要查詢的命令。如查詢上面創(chuàng)建長(zhǎng)方體并顯示用到的兩個(gè)命令box和vdisplay:

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

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

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