OpenCASCADE AIS Manipulator

简介: OpenCASCADE AIS Manipulator eryar@163.com Abstract. OpenCASCADE7.1.0 introduces new built-in interactive object AIS_Manipulator providing interface for moving objects within 3D viewer.

OpenCASCADE AIS Manipulator

eryar@163.com

Abstract. OpenCASCADE7.1.0 introduces new built-in interactive object AIS_Manipulator providing interface for moving objects within 3D viewer. The class features three kinds of transformation modes for attached objects: translation through axis, scaling within axis, rotation around axis. The object can be activated using vmanipulator command within Draw Test Harness.

Key Words. OpenCASCADE, 3D Viewer Interactive, Model Editor, Manipulator

1. Introduction

三维造型是几何内核关键功能,对于三维模型如果有良好的用户交互体验,那么对于模型的布置调整就像玩游戏一样便利,给用户带来更高效率。对于工程应用类软件,如造船、工厂CAD设计软件,建完模型后一个重要步骤就是调整模型的位置,即对模型的合理的布置,这就涉及到模型的交互布置。

有的CAD设计软件调整模型位置用一个对话框,将平移、旋转的参数都列出在对话框中,当选中一个要调整的模型时,就显示出这个对话框,输入移动矢量,或旋转轴及角度数据,来对模型的位置进行调整。这种对话框中数据很多,有的数据还需要用户去计算,用户较差。

有的CAD设计软件调整模型位置用到了模型编辑器(Model Editor),即只需要通过鼠标的交互操作就可以轻松将模型调整到想要的位置。如下图所示:

wpsC029.tmp

Figure 1. Model Editor of AVEVA Plant(PDMS)

如上图所示为AVEVA Plant(PDMS)的操纵器可以只通过鼠标交互来完成模型方位的调整,给用户以良好的体验。不需要去计算那么多数据。OpenSceneGraph中也有类似的操纵器功能。

OpenCASCADE7.1.0也引入了操纵器这个激动人心的功能,可见OpenCASCADE的开发团队正提升用户体验,本文通过在Draw Test Harness中来测试这个功能。基于这个功能,可以给自己的三维建模软件的模型调整提供良好的用户体验。

2. Test in Draw Harness

OpenCASCADE的Draw Test Harness的文档还没有更新,从命令的帮助中可以看到vmanipulator的用法如下图所示:

wpsC02A.tmp

Figure 2. vmanipulator help info

使用vmanipulator命令需要先关联attach一个模型,如下图所示:

wpsC02B.tmp

Figure 3. Attach manipulator to an ais object

当鼠标移动到坐标轴或旋转圆上的时候,就可以对模型进行位置的调整了:

wpsC02C.tmp

Figure 4. Translate the AIS Object

如上图所示为将鼠标移动到X轴上,高亮后将模型沿着X轴方向进行移动。也可以将鼠标移动到旋转圆上,等高亮后,即可以绕轴进行旋转。

3. Conclusion

OpenCASCADE7.1.0版本中引入了模型操纵器的功能,使OpenCASCADE三维视图中的模型位置调整更加方便。由些可以看出OpenCASCADE在可视化方面的改进还是很大的,希望更多的行业能应用上这个开源库,在应用中去创造价值。

目录
相关文章
|
2月前
|
Python
Calculating Dates
Calculating Dates
27 1
|
7月前
[simulink] --- simulink中stateflow的使用
[simulink] --- simulink中stateflow的使用
160 0
[simulink] --- simulink中stateflow的使用(下)
[simulink] --- simulink中stateflow的使用(下)
248 0
[simulink] --- simulink中stateflow的使用(上)
[simulink] --- simulink中stateflow的使用
187 0
AtCoderABC257E - Addition and Multiplication
AtCoderABC257E - Addition and Multiplication
83 0
|
存储
LeetCode 227. Basic Calculator II
实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。
61 0
LeetCode 227. Basic Calculator II
|
Go
HDOJ 1012 u Calculate e
HDOJ 1012 u Calculate e
114 0
HDOJ 1012 u Calculate e
|
算法
HDOJ 1202 The calculation of GPA
HDOJ 1202 The calculation of GPA
118 0