Open CASCADE学习|Draw Harness

目录

显示长方体

提供帮助信息

执行文件

记录交互式命令

使用getsourcefile可以快速查找到Tcl命令对应的C++源文件

在Tcl中内置了一些变量,并赋予了一定的功能。内置变量列表如下:

退出

加载插件

在屏幕显示变量

返回绘图变量信息

视图

mu, md, 2dmu, 2dmd, zoom, 2dzoom

fit, 2dfit

u, d, l, r

平移

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个像素时。如果未给定索引,则所有视图都将沿指定的方向平移。

相关推荐

  1. OpenCASCADE:引擎简介与编程指南

    2024-01-08 21:20:02       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 21:20:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 21:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 21:20:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 21:20:02       20 阅读

热门阅读

  1. Leetcode 1732. Find the Highest Altitude

    2024-01-08 21:20:02       39 阅读
  2. SQL注入是什么呢?

    2024-01-08 21:20:02       39 阅读
  3. Vue面试题

    2024-01-08 21:20:02       48 阅读
  4. 「HDLBits题解」Vector3

    2024-01-08 21:20:02       41 阅读
  5. Hive实战处理(二十三)hive整合phoenix

    2024-01-08 21:20:02       31 阅读
  6. 深入理解 Golang 中的值类型和引用类型

    2024-01-08 21:20:02       41 阅读
  7. 什么是CHATGPT

    2024-01-08 21:20:02       35 阅读
  8. 【Istio】安装Istio1.20.1

    2024-01-08 21:20:02       38 阅读
  9. Trino:分区表上的SQL提交 & 查询流程浅析

    2024-01-08 21:20:02       35 阅读
  10. HarmonyOS@Extend装饰器:定义扩展组件样式

    2024-01-08 21:20:02       34 阅读
  11. DDD领域驱动设计(六)

    2024-01-08 21:20:02       39 阅读