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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/330069.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

06、Kafka ------ 各个功能的作用解释(ISR 同步副本、非同步副本、自动创建主题、修改主题、删除主题)

目录 CMAK 各个功能的作用解释★ ISR副本 (同步副本)★ 非同步副本★ 自动创建主题★ 修改主题★ 删除主题 CMAK 各个功能的作用解释 ★ ISR副本 (同步副本) 简单来说 ,ISR 副本 就是 Kafka 认为与 领导者副本 同步的副本。 ISR&#xff0…

DataFunSummit:2023年知识图谱在线峰会-核心PPT资料下载

一、峰会简介 AIGC,ChatGPT以及发布的GPT-4相信已经给大家带来足够的冲击,那么对于知识图谱的应用产生哪些变化和变革?知识图谱在其中如何发挥作用呢?通过LLM是否有可能辅助创建通用大规模知识图谱?AIGC时代下行业知识…

win10下vscode+cmake编译C代码操作详解

0 工具准备 1.Visual Studio Code 1.85.1 2.cmake 3.24.01 前言 当我们只有一个.c文件时直接使用vscodeCode Runner插件即可完成编译,如果我们的工程很复杂包含多个.c文件时建议使用cmake来生成对应的make,指导编译器完成编译,否则会提示各…

【前端设计】小球loading动画

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

NOSQL与REDIS配置与优化

目录 一、关系数据库与非关系型数据库 1.关系型数据库 2.非关系型数据库 3.关系型数据库和非关系型数据库区别 4.非关系型数据库产生背景 二、Redis 1.Redis介绍 2.Redis 优点和使用场景 三、Redis 安装部署 1.环境准备 2.安装redis 3.修改配置文件 4.定义systemd服…

记一个React组件入参不当导致页面卡死的问题

一、问题描述 1.1 触发现象 点击按钮后页面卡死 1.2 最小 Demo CodeSandBox&#xff1a;https://codesandbox.io/p/sandbox/react-hook-component-stuck-755wcyinscode&#xff1a;https://inscode.csdn.net/ import ./App.css; import React, { useState, useEffect } f…

【Flutter 开发实战】Dart 基础篇:常见的数据类型

Dart 支持许多数据类型&#xff0c;包括我们常见的 Numbers&#xff08;数值类型&#xff09;、Strings&#xff08;字符串类型&#xff09;、Booleans&#xff08;布尔类型&#xff09;&#xff0c;也支持一些包括 Collections&#xff08;集合类型&#xff09;、Records&…

75.乐理基础-打拍子-八三、八六拍的三角形打法

内容来源于&#xff1a;三分钟音乐社 上一个内容&#xff1a;八几拍的V字打法-CSDN博客 在八几拍中几乎只会遇到八三和八六拍&#xff0c;它的V字打法&#xff0c;每个一拍都是一个V字&#xff0c;但是它还有某种程度上更方便的方式去打&#xff0c;按图1 八六拍的三角形&…

由于无法找到mfc100u.dll怎么解决,mfc100u.dll丢失的6个解决方法分享

本文将为您详细介绍mfc100u.dll文件以及丢失时的六个不同解决方法&#xff0c;帮助您更好地了解和解决这一问题。 一、mfc100u.dll是什么文件&#xff1f; mfc100u.dll是Microsoft Foundation Classes&#xff08;微软基础类库&#xff09;中的一个动态链接库文件。它是Visua…

day08 反转字符串 反转字符串Ⅱ 替换数字 翻转字符串里的单词 右旋转字符串

题目1&#xff1a;344 反转字符串 题目链接&#xff1a;344 反转字符串 题意 字符串是数组的形式&#xff0c;使用O(1)的空间将字符串反转 双指针法 法一 代码 class Solution { public:void reverseString(vector<char>& s) {for(int i0,js.size()-1;i<s.s…

2024年如何跻身前1%?

2024年如何跻身前1%&#xff1f; 8个习惯助你成为更好的自己 随着2023年即将结束&#xff0c;大家都在为2024年定下目标、列出清单并下定决心。新的一年不仅是结束和告别旧的自己、犯过的错误以及失败的战斗&#xff0c;也是期待着新的开始。 如果你也希望超越困境&#xff…

【UEFI基础】EDK网络框架(基础说明)

基础说明 UEFI中的网络框架大致如下&#xff1a; 红框部分是实现UEFI的EDK2开源项目中网络框架自带的实现&#xff0c;红框之外的部分需要网卡设备商提供驱动。UEFI下通常推荐使用最右边的形式&#xff0c;即网卡设备商提供实现了UNDI的网卡驱动。因此UEFI网络框架的另一个形式…