2024年4月7日发(作者:)

China Science & Technology Overview

信息技术与应用

基于OCCT的三维矢量弯管软件的开发和研究

(常州固高智能装备技术研究院有限公司,江苏常州 213000)

够导入管材的STEP文件,并能够对于三维管材模型进行可视化的操作。在如今工业快速发展的市场下,具有广阔的市场前景。

关键词:三维矢量弯管;Open CASCADE Technology;软件开发

中图分类号:TP391.7 文献标识码:A 文章编号:1671-2064(2021)22-0031-03

摘 要:本文研究了利用开源几何内核Open CASCADE Technology,开发出一款专门针对三维矢量弯管的软件,借助该软件能

卢宇坤 王梓榆

0.引言

都拥有着广泛的应用,如汽车工业、航天航空等,随着弯

管应用市场进一步扩大,传统的绕弯式弯管机,压弯式弯

管机等已经不能够满足工业上的应用要求,因此发展出了

材模型的显示,便于技术人员更好的加工管材。

管机更为复杂,因此需要在进行弯制前,能够实现对于管

源的几何内核,研究开发出一款专门针对三维矢量弯管机

模型进行操作。开源几何内核再实际的开发应用中具有许

无疑有着广阔的前景和市场。

最新的三维矢量弯管机,这种弯管机的工作原理比传统弯

本文旨在基于Open CASCADE Technology这一开

弯管作为大多数气体、液体的输送结构,在许多领域

柄。在本文的研究与开发中,常需要利用到该特点

[2]

2.三维矢量管材模型软件平台的开发与研究

Studio 2019编程平台和C++编语言来开发。开发出一款

以及对于管材模型操作的软件平台

[3-4]

2.1 可视化界面的开发

基于Open CASCADE Technology平台,采用Visual

具有可视化界面,能够实现三维矢量管材STEP文件导入

可视化界面的开发是整体软件平台的框架,选用Qt作

为可视化界面开发框架具有较好的可操作性。Open CASCAS

CADE与程序的交互环境接口通过AIS_Interactive-Context

类实现,该类通过接受一个高级的API信号控制显示过

程。本文选择在文档类中实现对象的创建与初始化,在视的STEP模型,实现STEP模型的整体展示,并能够对于

多优势,并且针对三维矢量弯管开发相应的软件平台,能

的小型软件平台

[1]

。通过该软件能够便捷地导入外部管材

图类中设置程序交互环境界面背景。部分实现代码如下:

myAISContext =new AIS_InteractiveContext

myAISContext->DefaultDrawer()->UIsoAspect

myAISContext->SetDisplayMode(AIS_Shaded,

if(! aWNTWindow->IsMapped())

{aWNTWindow->Map();}

NOC_SLATEBLUE2);

够大大降低成本,同时还能够保证后续加工的稳定性,这

(myViewer);//创建一个交互文档

1. Open CASCADE Technology简介

Open CASCADE Technology简称OCCT,是基于C++

()->SetNumber(11);//下面设置实体的显示模式

Standard_False);//下面设置图形设备环境背景开发出的一个几何内核,提供了多种C++的类,旨在快速生

系统、制造或分析应用程序、模拟应用程序甚至插图工具

成复杂的特定领域CAD/CAM/CAE应用程序。使用OCCT开

中的二维或三维(2D或3D)几何建模。利用OCCT开发

特定领域CAD/CAM/CAE应用程序,具有功能模块化和可

基本数据结构(几何建模、可视化、交互式选择和特

发的典型应用程序处理通用或专用计算机辅助设计(CAD)

aWNTWindow->SetBackground(Quantity_

其可视化界面的初始化界面如图1所示。

OCCT中,模型是使用B-rep(边界表示法)描述的。

描述一个物体的方法有许多,而在实体建模中,经常

2.2 STEP文件导入技术

扩展性高的优点,以下各项为OCCT所提供主要C++类:

IGES、STEP格式的数据互操作性。

定于应用程序的服务);建模算法;网格数据处理算法;

所以STEP文件导入是实现将STEO文件表示的模型,转

理引用,这种管理机制利用句柄来实现。Open CASCADE中

的句柄由Standard_Transient(临时)类或Standard_

Persistent(持久类)类派生。同时Open CASCADE提

来创建出需要处理的对象,并采用new操作符初始化句

收稿日期:2021-10-08

Open CASCADE 采用C++11中的新特性智能指针来管

换为OCCT使用的B-rep表示的模型。

使用物体的一个封闭的边界来描述一个物体,这个方法就

叫作边界表示法。因为通常情况下来说,一组面的集合可

以组成一个完全封闭的边界,所以说边界表示法是高效且

准确的描述出整个模型的。在OCCT中,有一个总的拓

扑类叫作TopoDS_Shape,以此类作为父类,派生出许多

供了一个宏预处理函数Handle()。通过声明句柄的方式

作者简介:卢宇坤(1998―),男,江苏扬州人,硕士研究生,研究方向:运动控制。

2021年11月下 第22期 总第370期

31

Copyright©博看网 . All Rights Reserved.

信息技术与应用

China Science & Technology Overview

Mesh_Mesh类中的网格信息中,根据所有获得的网格信息,

就可以生成只拥有单个拓扑结构的TopoDS_Shell模型中,

也可以生成拥有多种拓扑结构的TopoDS_Compound模

型中。

Compound模型显示出来,OCCT 也提供了相应的显示模

模块。AIS模块提供了多种的显示有关的功能,通过合理

图1 可视化界面的初始化界

为了将生成的TopoDS_Shell模型或者是TopoDS_

块,这个模块叫作AIS(Application Interactive Services)

的组合使用这些功能,就能够实现几何和拓朴对象的显

示、选择和管理。其中对象的显示可以显示出对象的颜

文件的部分关键代码如下:

quenceOfShape)对象

{

的子类,这些子类能够基本上概括出组成模型的所有基本

拓扑类型,其中与边界表示法最为相关的的几大子类分别

如下:

说的顶点;2个顶点可以构成一条线,那么这条线相对应

TopoDS_Vertex是最基本的拓扑类型,也就是我们常

色,也可以自己指定显示模式。对于对象的选择而言,如

果被选中那么就将此对象进行高亮显示。实现读取STEP

aSeqOfShape为new的Handle(TopTools_HSe-

for(int i=1;i<= aSeqOfShape->Length();i++)

m_pcoloredshapeList ->Add (Quantity_NOC_

aSeqOfShape->Value(i));

}

m_pcoloredshapeList->Display(myAISContext);

外部管材STEP文件在本软件平台中的显示效果如图

的拓扑类型叫作TopoDS_Edge;当许多条TopoDS_Edge

连接起来,就能够构成一个面,也就是TopoDS_Face;将

多个TopoDS_Face拼接,就会获得一个新的拓扑类型,叫作

体,也就是TopoDS_Solid。但我们把多条TopoDS_Edge组

TopoDS_Face组成的集合对应的拓扑类型就是TopoDS_

关系如图2所示。

成一个集合时,这个集合对应的拓扑类型也就是TopoDS_

Wire;把多个TopoDS_Face组成一个集合时,这个由

SLATEGRAY,

Shell。当我们拥有一个包含了各种拓扑类型的集合时,

3所示。

这个集合称之为TopoDS_Compound。所有拓扑结构的

此类来读取STEP格式的文件,每一个STEP文件中,都

示法来表示一个模型,想获取STEP模型,就需要将STEP

模型里的数据全部转换为B-rep表示的模型,这个操作我

在OCCT中,有STEPAPI_Reader类,我们可以运用

图2 各拓扑之间的结构关系

三维模型在程序视图框架中显示出来,而无法对模型实现

旋转、放缩、移动等基本的交互操作。OCCT提供了V3d_

View类,在这个类中有丰富的图形操作函数,通过枚举

想要完成对于模型的旋转、平移、缩放等交互。STEP 模

型操作显示如图4所示。

3.结语

CurAction3d能及时响应渲染模型表面、场景、纹理等,

通过AIS模块可以读取三维模型文件中的特征,并将

2.3 管材模型的操作

图3 STEP模型显示效果

包含了自己的网格信息。因为在OCCT中,是采用B-rep表

们同时调用STEPAPI_Reader类和STEP Mesh_Mesh类

就可以完成。在读取STEP文件的同时,会获得该STEP

32

文件中所有的三角面片的信息,这些信息会保存到STEP

2021年11月下 第22期 总第370期

何内核,研究并开发出了一款三维模型软件,并且该软件

本文基于Open CASCADE Technology这一开源几

Copyright©博看网 . All Rights Reserved.

China Science & Technology Overview

信息技术与应用

应用到三维矢量弯管技术中,从而能够实现管材STEP文

发。如今,在CADCAM系统中,对于STEP文件进行数

这一几何内核,针对性的对于三维矢量弯管开发软件,并

图4 STEP模型操作显示

件的显示,以及对于STEP模型操作的功能,能够让工程

技术人员更好地了解管材的数据结构,以便于后续的开

据交互在整体的协同工作中占据了重要的地位,但是相比于

对STEP模型进行处理,在能够确保降低成本的同时也

现较成熟的三维软件,利用Open CASCADE Technology

能获得较好的稳定性,这无疑能够给管材加工带来极大

CASCADE Technology,开发出具有更多功能的软件平

台,这无疑对有十分重大的意义和更加广阔的市场前景。

参考文献

[1] 杨乐,韩升杰,陈伟,等.基于Open CASCADE的三维模型软件

的开发与研究[J].机械工程师,2015(12):43-45.

[J].西南科技大学学报,2014(2):72-76.

[2] 丁华,王忠.基于Open CASCADE平台的CAD系统开发研究

[3] 罗志猛,柴苍修,冯晓娟,等.数控弯管的空间转角数据转换算法

[J].机电产品开发与创新,2005(5):124-125+128.

机械,2008(3):33-36.

[4] 李克彬,王淑琴,林伟明.三维数控弯管机的研究与开发[J].轻工

的便利。本文研究的软件,能够进一步的再借助Open

The Development and Research of 3D Vector Bending Software Based on OCCT

Abstract:This paper studies the use of the open source geometry kernel Open CASCADE Technology to develop a

(Changzhou Gugao Intelligent Equipment Technology Research Institute Co., Ltd., Changzhou Jiangsu 213000)

LU Yukun,WANG Ziyu

software specifi cally for three-dimensional vector bending. With the help of this software, the STEP fi le of the pipe can be

industrial market, it has broad market prospects.

Key words:three-dimensional vector elbow;Open CASCADE Technology;software development

imported, and the visualization of the three-dimensional pipe model can be performed. At present, in a rapidly developing

2021年11月下 第22期 总第370期

33

Copyright©博看网 . All Rights Reserved.