1. DRAW的启动
如果是使用的OCC二进制包,在其安装包下有draw.bat,双击即可启动。但不推荐这种方式,主要是无法Debug。推荐直接编译源码,使用源码启动,这样在Visual Studio中可以直接Debug Draw的命令。
如果配置好OCC的开发环境,启动Draw很简单,将其设为启动项即可启动。
2. Debug Tcl命令
Draw是Tcl命令解析器,器命令最终会调用OCC的函数。想确定这个TCL指令是怎么实现的,有一个专门的命令,可以找到命令的源码:getsource。
例如:Draw中创建立方体的命令是:box a 1 2 3,查找它的实现是:getsource box。其输出为:src/BRepTest/BRepTest_PrimitiveCommands.cxx。这时我们就可以找到这个文件看其实现原理。
通过其源码,可以看到其实现在box函数中,box这个函数最终调用BRepPrimAPI_MakeBox API创建Brep拓扑对象。具体流程可以直接Debug。
3. 常用的Draw命令
1. General commands:通用命令
source | 执行Tcl脚本文件 |
help [command] | 查找命令的帮助信息 |
spy [filename] | 将交互式执行的命令写入文件 |
chrono | 启动、停止计时器 |
2. Variable management commands: 变量管理命令
isdraw varname | 测试是不是Draw变量 |
whatis varname | 返回Draw变量简短描述 |
dump varname | 返回Draw对象类型描述,坐标系,参数等信息 |
rename varname | 对Draw变量重命名 |
copy varname tovarname | 复制变量 |
datadir [directory] | 不带参数返回当前数据目录; 带参数设置数据目录 |
save variable [filename] | 将变量写入文件 |
restore filename [variablename] | 从文件中读取数据到变量 |
3. Graphic commands: 图形相关命令
axo | 创建轴侧视图 |
pers | 创建透视图 |
top、bottom、left、right、front、back | 创建顶、底、左、右、前、后视图 |
mu4 | 创建4个小视图 |
v2d | 创建2d视图 |
mu [index] value | 放大视图 |
md [index] value | 缩小视图 |
pu,pd,pl,pr | 向上、下、左、右平移视图 |
u,d,l,r | 向上、下、左、右旋转视图 |
dtext [x y [z]] string | 显示文字 |
erase [varname varname ...] | 删除对象 |
4. Geometry commands:几何命令
命令 | 描述 | OCC API |
box | 创建立方体 | BRepPrimAPI_MakeBox |
explode | 提取实体的子形状,如体提取边。原理是用TopExp_Explorer进行遍历 | TopExp_Explorer |
line name x y [z] dx dy dz | 创建线,xyz是点的初始位置,dxyz是方向矢量 | |
circle name x y [z [dx dy dz]] [ux uy [uz]] radius | 创建2d或3d圆 | |
ellipse | 创建椭圆 | |
hyperbola | 创建双曲线 | |
parabola | 创建抛物线 | |
beziercurve、2dbeziercurve
| 贝塞尔曲线 | |
bsplinecurve、2dbsplinecurve | 2d、3d B样条曲线 | |
pbsplinecurve、2dpbsplinecurve | 2d、3d周期性B样条曲线 | |
point name x y [z] | 创建点 | |