微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于Qt 及OpenCASCADE的建模技术研究

基于Qt 及OpenCASCADE的建模技术研究

时间:01-25 来源:互联网 点击:

摘要:Qt是挪威TrollTech公司推出的一个跨平台的C++图形用户界面库,提供给应用程序开发者建立图形用户界面所需的所有功能.OpenCASCADE采用基于OpenGL的专用CAD类库,可应用于CAD软件开发.仿真软件设计和三维图形显示等领域.将Qt和OpenCASCADE在C++环境下结合起来能够进行建模软件的开发.介绍了Qt及OpenCASCADE类库的主要功能,简要叙述了边界表示法,给出了几何和拓扑的定义,对OCC中的数据类型和数据结构进行了阐述.经过实际的编程开发,结果表明,Qt及OpenCASCADE类库能够建立多种复杂模型,且拥有较好的显示效果,适合作为几何建模软件的开发工具.

0 引言

特定平台具有特定的系统特性.应用开发环境及系统运行环境,若想使编制好的软件能够运行在多个平台上,需选用具备跨平台开发程序的工具开发软件.Qt是挪威TrollTech公司推出的一个跨平台的C++图形用户界面库,提供给应用程序开发者建立图形用户界面所需的所有功能.

使用"一次编写,随处编译"的方式用于构建多平台图形用户界面程序,使用单一的源代码树和简单的重编译,能够在Windows,MacOS X,Linux,Solaris,HP-UX 和其他使用X11的Unix版本下编制程序.Qt完全面向对象且很容易扩展,它已经成为全世界范围内数千种成功的应用程序的基础,并为世界上数千个大公司,包括IBM.摩托罗拉和夏普等提供开发软件.综合以上因素,选择Qt作为建模平台的开发工具.

OpenCASCADE(Open Computer Aided Software forComputer Aided Design and Engineering) 是由法国的MDTV(Matra Datavision)公司设计开发的CAD 系统,于1999年开放源代码.

OpenCASCADE 采用C++开发基于OpenGL 的专用快速开发的CAD 类库,提供基本几何体表达与操作.CAD 模型显示与操作.多种CAD 文件格式读取与保存等功能,可应用于CAD软件开发.仿真软件设计和三维图形显示等方面.

 

基于OpenCASCADE 进行CAD 系统开发,能够将OpenCASCADE 类库的二维和三维建模.布尔操作.可视化的特性及VC++程序实时性好的特点有效地结合,进行仿真应用等,因此选用它作为建模内核创建模型.

1 Qt 简介

Qt类似于X Window上的Motif,Openwin,GTK等图形界面库和Windows 平台上的MFC,OWL,VCL,ATL等,提供给应用程序开发者建立图形用户界面所需的所有功能,目前包括基于Framebuffer 的Qt Embedded.快速开发工具Qt Designer.国际化工具Qt Linguist 等部分.自1995 年以来QT/C++应用程序就在商业应用中占据核心地位.QT也是流行的Linux桌面环境KDE的基础,KDE 是所有主要的Linux 发行版的一个标准组件.Qt支持的操作系统有Microsoft Windows 95/98,Mi-crosoft Windows NT,Linux.Solaris,SunOS,HP-UX,Digi-tal UNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等.Qt提取了窗口和操作系统的底层基础构造函数,为软件开发工程师提供了一致的逻辑界面,Qt API在所有支持的平台上都是相同的.

Qt用C++语言实现,其良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的.还提供了一种称为signals/slots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单[6].

Qt有一个图形界面的所见即所得工具--Qt De-signer.根据这一工具可以任意构造需要的图形界面,而且利用UIC工具将生成的UI文件转换为CPP文件和H文件,使界面软件部分和系统实现软件部分融合到一起.

Qt Designer 提供了Qt 基本的可绘制窗口部件,比如QWidget,QLabel,QPushButton,QVBoxLayout 等.在设计器中通过鼠标直接拖放这些窗口部件,能够高效.快速地实现GUI界面的设计,界面直观形象,所见所得.

2 OpenCASCADE简介

OpenCASCADE包括3D曲面和实体建模组件.可视化组件.数据交换组件和适合快速开发的应用程序开发框架,提供二维和三维几何体的生成.显示和分析,是一款可以用来进行计算机可视化的几何内核,并且是开放源代码的.OpenCASCADE提供了点.线.面.体和复杂形体的显示和交互操作,经过深度开发后可实现纹理.光照.图元填充.渲染等图形操作和放大.缩小.旋转.漫游.模拟飞行.模拟穿越等动态操作.OpenCASCADE定义了图形数据的存储格式以及大量的图形算法,可以帮助开发人员快速地进行面向对象程序的开发.目前支持3种操作系统:Linux,Windows NT和Sun Solaris.

OpenCASCADE 由一系列的C++类构成,相关的类组织成包,包组织成库文件,最后相关库组织成模块,通过有机组织的库文件提供了基础类.模块数据管理.建模算法.模型的显示.应用框架.数据交换6个模块.

 

Op

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top