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),即只需要通过鼠标的交互操作就可以轻松将模型调整到想要的位置。如下图所示:

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的用法如下图所示:

Figure 2. vmanipulator help info

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

Figure 3. Attach manipulator to an ais object

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

Figure 4. Translate the AIS Object

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

3. Conclusion

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

 

OpenCASCADE AIS Manipulator的更多相关文章

  1. OpenCASCADE View Manipulator

    OpenCASCADE View Manipulator eryar@163.com Abstract. When you finish modeling objects in the scene, ...

  2. OpenCascade MeshVS Usage

    OpenCascade MeshVS Usage eryar@163.com Abstract. MeshVS means Mesh Visualization Service. It can be ...

  3. Convert BSpline Curve to Arc Spline in OpenCASCADE

    Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...

  4. OpenCASCADE Shape Location

    OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...

  5. OpenCASCADE BRep Projection

    OpenCASCADE BRep Projection eryar@163.com 一网友发邮件问我下图所示的效果如何在OpenCASCADE中实现,我的想法是先构造出螺旋线,再将螺旋线投影到面上. ...

  6. OpenCASCADE Expression Interpreter by Flex & Bison

    OpenCASCADE Expression Interpreter by Flex & Bison eryar@163.com Abstract. OpenCASCADE provide d ...

  7. OpenCASCADE Data Exchange - 3D PDF

    OpenCASCADE Data Exchange - 3D PDF eryar@163.com Abstract. Today most 3D engineering model data are ...

  8. OpenCASCADE Interpolations and Approximations

    OpenCASCADE Interpolations and Approximations eryar@163.com Abstract. In modeling, it is often requi ...

  9. OpenCASCADE Ring Type Spring Modeling

    OpenCASCADE Ring Type Spring Modeling eryar@163.com Abstract. The general method to directly create ...

随机推荐

  1. less学习

    // 1.变量:颜色可做+- // from @nice-blue: #5B83AD; @light-blue: @nice-blue + #111; #header { color: @light- ...

  2. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  3. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  4. 深入理解C#

    简单认识.NET框架    (1)首先我们得知道 .NET框架具有两个主要组件:公共语言进行时CLR(Common Language Runtime)和框架类库FCL(Framework Class ...

  5. 在Ubuntu 16.10安装mysql workbench报未安装软件包 libpng12-0错误

    1.安装mysql workbench,提示未安装软件包 libpng12-0 下载了MySQL Workbench 6.3.8   在安装的时候报错: -1ubu1604-amd64.deb 提示: ...

  6. CodeSimth - .Net Framework Data Provider 可能没有安装。解决方法

    今天想使用CodeSimth生成一个sqlite数据库的模板.当添加添加数据库的时候发现: .Net Framework Data Provider 可能没有安装. 下面找到官方的文档说明: SQLi ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. Android Studio —— 重装 HAXM

    Android Studio -- 重装 HAXM 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. Android SDK 自带模拟器一直以慢.卡 ...

  9. CSS3新特性应用之结构与布局

    一.自适应内部元素 利用width的新特性min-content实现 width新特性值介绍: fill-available,自动填充盒子模型中剩余的宽度,包含margin.padding.borde ...

  10. 编译器开发系列--Ocelot语言5.表达式的有效性检查

    本篇将对"1=3""&5"这样无法求值的不正确的表达式进行检查. 将检查如下这些问题.●为无法赋值的表达式赋值(例:1 = 2 + 2)●使用非法的函数 ...