目录
使用getsourcefile可以快速查找到Tcl命令对应的C++源文件
在Tcl中内置了一些变量,并赋予了一定的功能。内置变量列表如下:
[mu, md, 2dmu, 2dmd, zoom, 2dzoom](#mu, md, 2dmu, 2dmd, zoom, 2dzoom)
[fit, 2dfit](#fit, 2dfit)
[u, d, l, r](#u, d, l, r)
[pu, pd, pl, pr, 2dpu, 2dpd, 2dpl, 2dpr](#pu, pd, pl, pr, 2dpu, 2dpd, 2dpl, 2dpr)
Draw Harness是一个Open CASCADE的Tcl(Tool Command Language)解释器。作为OCCT的一个组成部分,Draw Harness为OCCT算法评估、测试和自动化提供了一个开箱即用的工具,其中包括建模、数据交换和可视化等功能。
Tcl/Tk是一种用于易于使用的脚本语言,可以用来对程序进行扩展及完成一些自动化的工作,加上内置的一些命令,其功能要比Windows中的DOS的批处理命令功能更强大,使用更方便。Tcl脚本语言是开源免费的,可以方便获取且免费使用。
OpenCASCADE 中使用了Tcl/Tk来实现了一个自动化测试体系。使用在OpenCASCADE中使用自定义的Tcl命令,可以快速来检验算法的结果。通过编写脚本文 件,实现了测试的自动化。所以学习一下Tcl/Tk脚本语言,并在实际的工作中加以应用,可以将一些机械的劳动交给计算机自动完成。
Draw Harness中提供的命令基本包含了OCCT中所有的功能:
-
执行OCCT中的造型功能;
-
执行OCCT中的数据交换功能;
-
显示和三维交互功能;
-
学习、评估及原型算法验证;
-
为OCCT提供自动化测试功能;
-
也可以扩展Draw Harness,增加自定义命令;
-
因为Draw Harness是基于Tcl脚本语言开发的,所以可以运行在支持Tcl的平台上,如Windows,macOS, Linux,甚至是浏览器上。
显示长方体
box b 1 2 3
vdisplay b
提供帮助信息
help [command [helpstring group]]
执行文件
source filename
记录交互式命令
spy [filename]
使用getsourcefile可以快速查找到Tcl命令对应的C++源文件
getsourcefile box
在Tcl中内置了一些变量,并赋予了一定的功能。内置变量列表如下:
|------------------|------------------------------------------------------|
| 变量名称 | 功能描述 |
| argc | 指命令行参数的个数。 |
| argv | 指包含命令行参数的列表。 |
| argv0 | 是指被解释的文件或由调用脚本的名称的文件名。 |
| env | 用于表示是环境变量数组元素。 |
| errorCode | 为最后的Tcl错误的错误代码。 |
| errorInfo | 为最后Tcl错误的堆栈跟踪信息。 |
| tcl_interactive | 分别将其设置为1和0交互和非交互模式之间切换。 |
| tcl_library | 用于设置的标准Tcl库的位置。 |
| tcl_pkgPath | 提供一般都安装包的目录列表。 |
| tcl_patchLevel | 指的是Tcl解释目前的补丁级别。 |
| tcl_platform | 用于表示使用对象,包括byteOrder, machine, osVersion平台和操作系统数组元素。 |
| tcl_precision | 指的是精度,即位数转换为浮点数时,字符串保留。默认值是12。 |
| tcl_prompt1 | 指的是主提示符。 |
| tcl_prompt2 | 指无效的命令二次提示。 |
| tcl_rcFileName | 为用户提供了具体的启动文件。 |
| tcl_traceCompile | 用于控制字节码编译的跟踪。用0表示无输出,1为概要和2为详细。 |
| tcl_traceExec | 用于控制执行的字节码的跟踪。用0表示无输出,1为概要和2为详细。 |
| tcl_version | 返回Tcl解释器的最新版本。 |
退出
exit
加载插件
pload -DrawPlugin OCAF
设置变量
set file documentation
在屏幕显示变量
puts $file
返回绘图变量信息
circle c 0 0 1 0 5
whatis c
c is a 2d curve
dump c
***** Dump of c *****
Circle
Center :0, 0
XAxis :1, 0
YAxis :-0, 1
Radius :5
视图
axo, pers, top, bottom, left, right, front, back, mu4, v2d, av2d, smallview
•axo创建一个大窗口轴测视图;
•pers创建了一个大窗口透视图;
•上、下、左、右、前、后创建一个大的窗口轴视图;
•mu4创建四个小窗口视图:前视图、左视图、顶部视图和axo视图。
•v2d创建一个大窗口2d视图。
•av2d创建两个小窗口视图,一个是2d,另一个是axo
•smallview在给定类型的屏幕右下角创建一个视图。
mu, md, 2dmu, 2dmd, zoom, 2dzoom
•mμ(放大)将一个或多个视图的缩放比例提高10%。
•md(向下放大)按反因子减小缩放。2dmu和2dmd在一个或所有2d视图上执行相同的操作。
•缩放和2dzoom将缩放因子设置为您指定的值。当前缩放因子始终显示在窗口的标题栏中。Zoom 20表示大窗口中的全屏视图;缩放10,小屏幕中的全屏视图。
•wzoom(窗口缩放)允许您用鼠标选择要放大的区域。系统将提示您给出要放大的区域的两个角,这样定义的矩形将占据视图的窗口。
fit, 2dfit
fit计算视图内容的最佳缩放和平移。视图的内容将居中并适合整个窗口。拟合所有视图时,将为所有视图计算唯一的缩放。所有视图都在同一比例上。
u, d, l, r
u、 d,l,r将视图中的对象绕其轴分别向上、向下、向左或向右旋转五度。此命令仅限于轴测视图和透视视图。
平移
pu, pd, pl, pr, 2dpu, 2dpd, 2dpl, 2dpr
pu和pd分别上下摆动;pl和pr分别向左和向右平移。每次视图偏移40个像素时。如果未给定索引,则所有视图都将沿指定的方向平移。