基于ProEngineer的工艺数据库开发(4)

2019-03-27 23:12

基于ProEngineer的工艺数据库开发 第三章 开发平台与工具

个数据库上。所谓单一数据库,就是工程中的资料全部来自一个库,使得每一个独立用户在为一件产品造型而工作,不管他是哪一个部门的。换言之,在整个设计过程的任何一处发生改动,亦可以前后反应在整个设计过程的相关环节上。例如,一旦工程详图有改变,NC(Numerical Control,数字控制)工具路径也会自动更新;组装工程图如有任何变动,也完全同样反应在整个三维模型上。这种独特的数据结构与工程设计的完整的结合,使得设计更优化,成品质量更高,产品能更好地推向市场,经济性价比也高。

Pro/Engineer拥有强大的设计造型等功能: 首先是驱动功能; 其次是参数化功能;

再其次,通过零件的特征值之间,载荷/边界条件与特征参数之间的关系来进行设计;

然后,支持大型、复杂组合件的设计;

最后,贯穿所有应用的完全相关性(任何一个地方的变动都将引起与之有关的每个地方变动)。其它辅助模块将进一步提高扩展 Pro/ENGINEER的基本功能。

同时,在这个软件中,它自带有二次开发工具Pro/Toolkit。通过这个二次开发工具,用户可以开发出适合本身需求的应用程序。

3.2 Pro/ToolKIT

在Pro/ENGINEER17版本及该版本以前,PTC公司提供的开发工具是Pro/DEVELOP,从Pro/ENGINEER18版本起,Pro/ENGINEER系统的开发环境采用Pro/Toolkit。Pro/Toolkit支持在Windows2000/NT/XP操作系统中使用C和C++语言设计程序,采用Microsoft Visual C++6.0作为编译器和连接器,并可以在Microsoft Visual C++6.0的集成环境下完成程序的设计、调试和编译。

PRO/TOOLKIT采用面向对象的程序设计方法(Object-Oriented Programming) 。在PRO/TOOLKIT和应用程序之间主要通过特定的数据结构来传递信息,对应用程序来说这种数据结构并不是直接访问的,而只能通过PRO/TOOLKIT提供的函数来访问。在设计PRO/TOOLKIT程序时,要涉及到大量的由PRO/TOOLKIT函数库提供的C函数,正确理解和使用这些函数是非常重要的。

1. 对象和动作

对象(Object)和动作(Action)是PRO/TOOLKIT中最基本的概念。

Pro/Toolkit的对象实质是一种类型为结构体的数据,结构体中的成员描述了该对象的属性。例如,名为ProFeature的特征对象的结构体定义为:

typedef struct pro_model_item

14

基于ProEngineer的工艺数据库开发 第三章 开发平台与工具

{

ProType type; int id;

ProMdl owner; } ProFeature;

结构体中的type、id和owner成员分别描述了该对象的类型、标识号和上级对象。

2. 对象句柄

在Pro/Toolkit中每一个对象对应于一个结构体,定义该结构体类型的一个具体的结构体变量称为对象句柄,如:ProPart表示零件对象,用下面的形式声明:

ProPart NewPart;

NewPart就是一个对象句柄。由于ProPart是一个指向结构体的指针,其定义为: typedef struct sld_part *ProPart;

因此,NewPart也是一个指向结构体的指针。实际上Pro/Toolkit中对象句柄也可以完全理解为对象指针。

3. Pro/TOOLKIT应用程序的相关函数

User_initializ()是Pro/TOOLKIT应用程序的初始化函数,主要用来对同步模式(synchronous-mode)的Pro/TOOLKIT应用程序进行初始化。

User_terminate()函数在Pro/ENGINEER终止同步返回PRO——TK——ERROR表示初始化成功。(如退出Pro/ENGINEER将终止应用程序的运行),该函数由用户定义,其中可以不执行任何动作。

应用程序的主体部分主要由自定义函数组成,可以在User_initializ()函数中直接调用,或通过User_initializ()函数定义的菜单调用。前者将在载入应用程序的初始化时一次性调用,后者将通过选择用户程序添加在Pro/ENGINEER系统中的菜单项调用。第一种方式虽然简单,但没有多少使用价值。第二种方式与Pro/ENGINEER系统本身的菜单命令用法相同,是同步模式的Pro/TOOLKIT应用程序主要运行方式。为便于理解,介绍两个最基本的函数。

第一个为ProCmdActionAdd()函数

该函数的功能是设置Pro/ENGINEER系统菜单单项的动作,即用户激活Pro/ENGINEER菜单命令时执行的动作函数,其实质是设置菜单项与动作相关联。

第二个为ProMenubarmenuPushbuttonAdd()函数

该函数的功能是在Pro/ENGINEER菜单中添加菜单按钮(push button)。 在CAD/CAPP/CAM集成系统中往往需要通用的数据库接口。然而直到20版的Pro/TOOLKIT仍没有提供数据库编程接口。另外,弹出式对话框是目前最先进最流行的一种人机交互界面,能向用户提供图形与文字共存的可视化环境,使操作更为

15

基于ProEngineer的工艺数据库开发 第三章 开发平台与工具

自然、简便和快速,但Pro/TOOLKIT提供的下拉式菜单(包括菜单栏标题及其菜单项)和对话框开发函数使用复杂,并且所开发的对话框采用unix风格。

3.4 数据库

CAD/CAPP/CAM集成系统中的工艺参数需要进行存储、检索、编辑和维护,因此需要在当前的众多数据库中进行比较选择,选择一种合适的来实现对本系统数据的管理。

目前主流的数据库系统主要有面向大型数据库的:oracl、SQL server和面向小型数据库的:Access 97、MySQL、BD2等。而Access 97是一种桌面数据库,比较适合数据量较少的应用,特别在应用处理少量数据和单机访问的数据库上运行性能较高。SQL Server是基于服务器端的中型数据库,适合大容量数据的应用,在处理海量数据的效率、后台开发的灵活性和可扩展性等方面强大。但其语句结构较烦琐,且一般用户无法直接对SQL SERVER进行远程管理、空间租用的成本比ACCESS稍高。因此结合本课题开发数据库特点,数据库类型比较小且属于单机访问系统,用Access数据库比较合适。

下表3.1对三种常见的数据访问接口ADO、DAO和Jet进行比较:

表3.1 数据访问接口

数据访问功 能 及 含 义 接口 Active数据对象(Active Data Objects)。ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方ADO 法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法[7]。 数据访问对象(Data Access Objects)。是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的DAO 游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的16

基于ProEngineer的工艺数据库开发 第三章 开发平台与工具

关系,定位和查询数据库等工具。 数据连接性引擎技术(Joint Engine Technology)。是一种基于工作站通过Jet DAO的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制。Jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。

综合上述数据访问接口的特点和本系统的数据开发工作,选定DAO类进行开发,数据库的访问采用直接调用方式,从而比较简单。

3.5 Access97

本系统采用Access97作为数据库开发软件。用Access97开发的数据库与程序的接口问题较为简单,采用直接调用方式。数据库开发主要是编辑数据库表格。根据本系统的模块划分情况,需针对不同条件制作多个表格。数据库共包括21个数据表格。Microsoft Access 97 数据库系统正是符合这样的要求,在Access97系统中建立数据库,可以包含多个表。并且,它具有操作简单,引用方便等诸多优点。

在与VC接口上也不存在技术问题。通过VC应用Microsoft Access 97 数据库,可以直接将工艺数据库中的工艺参数赋值给用户输出面板中。

Access97是一种关系型数据库,关系型数据库由一系列表组成,表又由一系列行和列组成,每一行是一个纪录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联、连接),以便查询相关联的信息。Access97数据库以文件形式保存,文件的扩展名是MDB。

Access97数据库由六种对象组成,它们是表、查询、窗口、报表、宏和模块。 表(Table):表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。

查询(Query):查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。

窗口(Form):窗口提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗口显示相关联的表的内容。窗口也称表单。

报表(Report):报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。

宏(Macro):宏相当于DOS中的批处理,用来自动执行一系列操作。Access97列出了一些常用的操作供用户选择,使用起来非常方便。

模块(Module):模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。

17

基于ProEngineer的工艺数据库开发 第三章 开发平台与工具

3.6 编程语言及集成开发环境VC++6.0

程序设计语言是开发应用软件的基本工具,程序设计语言繁多,但总的可以分为三类:机器语言、汇编语言和高级语言。

在CAD/CAPP/CAM集成系统中,可采用多种程序设计语言。目前,CAD/CAPP/CAM系统中应用较多的是高级语言,如Visual Basic、Visual C++等。从功能角度划分,高级语言又可分为:程序设计语言、数据库语言、仿真语言和人工智能语言。从软件运行环境分类,常可分为两类:D0S环境和Windows环境。

DOS下的编程软件主要有:BASIC、FORTRAN、FOXBASE、FOXPRO、FOR、DOS、C、C++、OOBbE、PASCAL、LOGO、LISP、PROLOG等等。这些语言尽管版本逐步升级,但都是从传统的结构化编程角度发展起来的,他们的共同特点是:软件体积小,硬件要求不高,编制小程序比较容易,编制大程序比较困难等。

Windows下的编程软件主要有: isual Basic(VB)、VisualC/C++(VC)、Visua1 fox、Pro(WP)、Power Builder(PB)、Delphi等等。其特点是:硬件、软件要求都比较高,但都是可视化的编程环境,提高了界面设计能力。

下表3.2对几种主流的程序设计语言进行其优缺点比较:

表3.2 程序设计语言特点

语言 C/C++ 特点 它通用性好、易于移植、功能强、使用灵活,程序代码运行速度快、功能强大,几乎可以满足Windows程度设计的一切需要。同时其提供的可视化程序工具和内含的事件驱动程序设计,能大大减少传统windows程序设计的繁琐和复杂,极大地提高了程序开发效率。基于Windows平台的很多软件都是采用C/C++语言。正成为工程应用中的主流设计语言 Fortran Pascal Basic 很接近于人们的自然用语和数学公式,是为科学计算工作者而设计的,应用历史最长,是工程技术人员最熟悉的一种语言,但语言兼容性问题很差,语言标准化性能很低。 结构化程度高,数据类型丰富,数据结构灵活,非常适合于个人计算机。但不支持多重继承、模板、操作符重载、内联函数定义、预处理、宏、全局静态类变量、嵌套类定义等。 它是初学者的人门语言,简单易学、命令少、结构简单,很容易使初学者掌握传统的程序设计方法。虽然经历了QBaslc、Quick Basic、Ture Basic等各种版本,但仍处于人门语言的地位。功能不强大,没有完整的面向对象特性,因此编写大型程序很困难,所18


基于ProEngineer的工艺数据库开发(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第四章存储器管理

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: