CAD应用框架配置技术研究

2011-07-31 05:33黄松波
图学学报 2011年4期
关键词:用户界面框架定义

黄松波,雷 毅



CAD应用框架配置技术研究

黄松波,雷 毅

(北京航空航天大学机械工程及自动化学院,北京100191)

为满足CAD软件研发中应用框架扩展、复用及调整的需求,论文提出了应用框架基于配置的动态设计方案,并给出了实现的模块划分及流程;同时研究并给出了CAD软件功能配置的层次结构及内容,基于此研究,相同的软件框架在不同的配置下可以开发成为不同的CAD应用或控件,而且不同的CAD软件通过配置合并可以实现框架的集成及功能复用。该技术已在实际的CAD软件开发中得到应用验证。

计算机辅助设计;应用框架;配置;框架重用;界面生成

近年来,随着应用深入及技术的发展,企业对CAD软件提出了新的要求,包括:①为满足大量二维CAD用户向三维CAD应用过渡的需求,CAD产品功能整合趋势加快,传统二维CAD的功能及交互方式越来越多地集成在三维CAD中;②企业中不同角色人员需要使用不同的CAD功能,如工程师使用CAD设计功能,审核人员需要浏览及批注功能,管理人员往往只需要浏览功能等。CAD系统要根据不同的角色需求定制为不同的软件工具,而非用一个大而全的CAD软件满足所有角色的需求,这样会大大节省软件的采购费用;③企业越来越多的人员需要使用PLM系统浏览及使用CAD软件产生的设计数据,这种CAD浏览构件要能作为一个控件嵌入到管理软件中,无论管理软件是传统的C/S客户端模式,还是B/S的浏览器模式,不同角色的人员对控件的功能需求不一样,比如质检人员需要测量功能,而文控人员需要打印功能等;④企业加强内部的规范化管理,希望由企业统一管理员工使用的软件及软件功能等。为满足上述要求,往往会导致CAD软件框架以及功能的重新开发,给软件开发商的研发过程及维护带来沉重负担。

在CAD平台及框架技术研究领域,成基华详细介绍了主要的CAD运算平台及其发展趋势;Richard N Taylor、陆薇提出了基于组件及消息机制的软件架构,并对CAD平台的构件模型及流程控制机制进行了研究;王云鹏、陈杰提出了基于总线的CAD软件体系结构,从系统设计和开发的角度,详细分析了各组成部分及其功能;潘吟飞构架了一种以Web服务为基础的CAD协同设计框架模型,给出了一种基于优先权控制的分层式协同设计过程模型;王云鹏提出了衡量二次开发平台质量的标准,并介绍了开发基于动态库的二次开发平台所涉及的几项关键技术;李华提出了一种在非CAD平台环境下显示CAD图形的技术与方法;郭刚提出了一种以中间集成平台为基础的CAD与PDM系统间数据双向集成的解决方案。

上述研究,为CAD软件框架及平台技术发展做出了重要贡献,但均侧重在CAD平台开放性、CAD平台如何支持协同设计以及CAD与PDM集成等方面,对如何使用CAD平台快速针对不同需求提供不同的应用方案,以及不同的CAD应用如何实现集成复用研究较少。本文将CAD软件或构件要实现的内容抽象成配置参数,提出基于CAD平台的应用框架配置方案,通过配置功能可以快速实现相同CAD平台上不同CAD应用及构件的表达形式,通过配置的整合可以实现二、三维CAD应用框架集成等,较好地解决了上述问题。

1 应用框架配置技术

(1)模块划分

为实现通过配置控制CAD软件或构件的表达形式,CAD应用框架需要将针对单一应用实现的框架改变为被动等待配置输入的框架。应用框架没有直接实现任何产品定义,因此不同的CAD应用可以使用相同的应用框架,将产品的表达形式交给外部配置来控制。

本文将基于配置的应用框架分为物理框架、配置数据、配置解析器、虚拟框架、界面生成器五大部分,各部分的工作流程如图1所示。

图1 配置框架的模块划分

物理框架是CAD软件展示给用户的应用程序框架,大部分CAD软件采用微软MFC(Microsoft Foundation Classes)生成的Application、Frame、Document、View形式的应用程序框架,也可以是其它的实现方式。物理框架维护了CAD软件的名称描述、文档模板、用户界面(包括菜单、工具条等)、用户界面与软件功能的对应关系等。在本方案中,这些内容由虚拟框架提供给物理框架,物理框架在模块内部没有具体实现,而是被动等待内容的输入。

配置数据包含所有物理框架需要输入的内容,并将这些内容按逻辑关系组织起来。应用配置可使用一组XML文件来描述,具体内容在下文中详细描述。

配置解析器根据配置文件的格式将配置内容解析成虚拟框架识别的描述形式,输入到虚拟框架。配置解析器与虚拟框架之间定义了数据接口,无论配置数据采用何种文件格式,配置解析器都返回相同的格式来描述具体内容,当因配置数据的格式变化而需要使用不同的配置解析器时,因为返回数据的格式没有变化,所以虚拟框架等其它模块无需任何改动。

虚拟框架是可配置框架实现的核心模块,它根据配置解析器输入的内容,维护运行时与配置内容对应的数据结构,生成逻辑上的产品描述框架。虚拟框架维护配置内容中各组成部分的唯一标识及相互关系,然后将物理框架所需的内容传递给物理框架,如产品名称、文档模板等。当需要生成软件界面时,虚拟框架将配置中的界面描述内容传递给界面生成器,由界面生成器生成对应的界面对象,虚拟框架将返回的界面对象传给物理框架,由物理框架显示出软件界面。

界面生成器根据虚拟框架传入的界面配置内容创建对应的界面对象,返回给虚拟框架。使用不同的界面生成器,可以实现不同的界面风格,但无论界面生成器有何不同,要求传入的界面描述和最终返回界面对象的接口是一致的。

使用上述配置框架,不同的CAD软件可使用相同的应用程序框架,其差别主要表现在配置内容上,因为各模块之间使用通用的接口描述来交换数据,因此也降低了模块间的耦合性。

(2)配置内容

一般地讲,CAD软件可划分为平台层和应用层,平台层提供通用的数据管理、交互管理、显示管理等以及其它运算模块的支持,应用层实现软件的功能性定义及软件的表现形式。功能性定义描述软件能实现哪些功能,如草图功能、拉伸、过渡特征等功能;软件的表现形式包括软件包含的运行库文件组织方式、用户界面等。本文提出的框架配置用来组织软件的功能性定义、表现形式以及功能性定义与表现形式之间的映射关系。

功能性定义分为四个层次:产品定义、应用类型、运行环境、运行环境支持的功能等,例如一个典型三维CAD软件的功能性定义如图2所示。

图2 典型三维CAD功能定义示例

软件表现形式可以概括为:软件使用的运行库文件及物理位置、各层次功能性定义的属性描述、软件界面等。

框架配置描述上述内容的同时,也是功能性定义与表现形式的联系纽带,例如,将应用类型、运行环境与对应的运行库和属性描述联系起来,将功能与运行库、用户界面联系起来等。

通过对功能性定义及表现形式的抽象,CAD应用框架的配置内容可用图3的逻辑图来描述,在虚拟框架中实现此逻辑结构中的各实例化对象。

框架配置的各部分的内容为:

1)产品:由产品属性及多个应用模板构成。

2)产品属性:描述CAD软件的名称、注册信息、版本信息等,每个CAD应用有唯一的产品属性。

3)应用模板:包含自身的模板属性、加载的模块列表、支持的运行环境等。具体应用模板例如三维设计应用、二维绘图应用等。

4)模板属性:定义应用模板的标示、名称、注册信息、文档类型、对应的实现对象等,每个应用模板有唯一的模板属性。

5)运行环境:是应用模板下的一种应用场景,如零件设计应用模板可以支持草图设计、特征设计、渲染三种运行环境,这三种运行环境无论在用户界面还是使用功能上都有较大区别。运行环境包括环境的标识、可以使用的功能列表、以及用户界面定义等。

6)功能列表:是一个运行环境可使用的所有功能的集合,每个功能包括功能的标示、名称、说明、快捷键定义、对应的实现对象等,用户可通过改变功能列表的内容实现功能的增删、功能实现对象的改变、功能名或热键的自定义等,而不需要更新软件的版本。

7)用户界面:描述一个运行环境主要的界面要素,如菜单、工具条、状态条、自定义窗口、位图资源等,同时还定义界面要素与功能标示的对应关系,通过功能标示将界面元素和对应的功能联系在一起。

8)模块:用于抽象一组软件功能对产品定义的改变,例如,可以用CAE模块来描述一组CAE分析功能,在零件设计应用模板中通过加载CAE模块来使用这些CAE功能。模块的配置内容包含是否添加了新的运行环境,或描述对已有环境做了那些修改,包括增加和删除功能,改动界面等。一个应用模板可以加载多个模块,模块加载和卸载时,应用模板综合所有已加载模块的配置内容更新所包含运行环境的功能列表及用户界面配置。

图3 CAD软件配置内容

上述框架配置内容将产品的功能性定义和表现形式一一映射,通过模块加载卸载的方式也统一了产品内部开发与二次开发过程,加载或卸载一个二次开发模块就是加载或卸载一个模块的配置。开发方式的统一提高了软件框架的兼容性和易维护性。

(3)关键实现环节

当需要集成两个产品的应用时,通过创建一个新的配置,其中包含两个产品需要集成的应用模板,软件初始化时加载该配置即可;通过修改运行环境的功能列表内容,可调整产品具体功能定义,如增删功能、修改功能实现指向的执行库、修改功能的名称/激活键等;通过模块的配置内容,结合模块加载卸载功能可实现产品专业化功能的应用和卸载;通过修改产品属性的和用户界面描述,可重新定义产品的外观。

框架配置内容通过使用不同的物理框架,可以将相同的CAD功能表现为独立CAD软件或控件;使用不同的界面生成器可以展现不同的界面风格。

使用配置控制应用程序框架,在应用框架初始化时便可达成,对CAD平台的其它部分没有影响,典型的配置框架初始化流程如图4所示。

CAD软件初始化时,首先初始化物理框架,物理框架初始化先触发虚拟框架的初始化。虚拟框架通过配置解析器依次读入并创建产品属性、应用模板及模板属性;依次读入并创建各应用模板包含的模块,并将模块添加到所属的应用模板中;应用模板根据模块中的运行环境描述创建运行环境,合并各模块中相同运行环境的功能列表及用户界面描述内容,生成各运行环境最终支持的功能列表及用户界面。虚拟框架读入并创建上述内容后,用产品属性设置物理框架的产品名称、注册信息等内容,然后根据应用模板创建文档模板添加到物理框架中。用户通过物理框架新建文档时,物理框架通过文档模板激活虚拟框架中对应的应用模板;虚拟框架将应用模板当前运行环境的功能列表注册到物理框架中,并通过界面生成器生成界面对象,将界面对象传递给物理框架;物理框架显示出新建文档对应的用户界面,用户可以通过用户界面激活所需的功能。

图4 基于配置的应用框架初始化流程

2 总 结

通过外部配置动态生成CAD软件的表现形式,使CAD软件可以对产品属性、功能、界面等实现动态扩充或裁剪,为CAD软件的开发提供了灵活高效、又便于维护的开发手段。通过配置可以使同一个CAD平台不需要任何开发而是仅改变配置内容展现为不同的CAD应用;使用不同的物理框架可以将相同的CAD功能表现为独立的CAD应用或者嵌入其它系统的CAD控件;通过将二维CAD软件的配置添加到三维CAD软件配置中可以实现二维CAD软件功能完全复用地集成到三维软件框架中;企业可以将配置文件由服务器统一管理,不同角色人员授权使用不同的配置文件,实现对产品的集中控制和管理。

应用框架的配置技术已经在课题组开发的独立运行的二维CAD软件中得到应用,也在将二维CAD软件所有功能集成到三维CAD软件中得到应用,在这两类应用中,二、三维CAD软件的应用框架、功能实现不需要做任何开发改动,验证了该技术的优越性。

[1] 成基华, 范玉青, 袁国平, 等. CAD/CAM开发平台及其发展趋势[J]. 计算机辅助设计与图形学学报, 2000, 12(2): 154-159.

[2] Richard N Taylor, Nenad Medvidovic, Kenneth M Anderson, et al. A component and message-based architectural style for GUI software [J]. IEEE Transactions on Software Engineering, 1996, 22(8): 390-406.

[3] 陆 薇, 刘 强, 周 琛, 等. 基于组件的开放式CAD系统模型[J]. 软件学报, 1998, 9(9): 1-5.

[4] 王云鹏, 雷 毅, 黄松波, 等. 多层次开放式CAD开发平台技术[J]. 计算机工程, 2004, 30(1): 42-44.

[5] 陈 杰, 何援军. 基于软件总线CAD软件体系结构研究[J]. 计算机辅助设计与图形学学报, 2004, 16(9): 1319-1323.

[6] 潘吟飞, 许端清, 陈 纯. 基于Web服务的图形CAD网络化协同设计框架[J]. 计算机集成制造系统, 2005, 11(5): 606-612.

[7] 王云鹏, 雷 毅, 潘 翔, 等. CAXA电子图板的二次开发技术[J]. 计算机辅助设计与图形学学报, 2002, 14(2): 1-4.

[8] 李 华, 聂建国. 在非CAD平台环境下显示CAD图形的实用技术与方法[J]. 计算机工程与应用, 2002, 38(9): 92-94.

[9] 郭 钢, 冯亮亮. CAD/PDM系统间数据双向集成技术和应用研究[J]. 计算机工程与应用, 2010, 46(15): 222-248.

Research on Configuration Technology for CAD Application Framework

HUANG Song-bo, LEI Yi

( School of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing 100191, China )

In order to extend, reuse and adjust the application framework in CAD software development, this paper presents a dynamic application framework design based on configuration, researchs and provides the hierarchy and contents of function configuration for CAD software. Base on the research, the same application framework can be developed for different CAD software or controls using different configuration, and frameworks integration and function reuse between different CAD softwares can be acheived by merging their configurations. The configuration technology has been verified in a practical CAD software development.

CAD; application framework; configuration; framework reuse; UI generation

TP 391.72

A

1003-0158(2011)04-0014-06

2011-05-13

国家“863”重点资助项目(2009AA043302)

黄松波(1972-),男,山东济宁人,讲师,硕士,主要研究方向为计算机辅助设计与制造。

猜你喜欢
用户界面框架定义
框架
基于CiteSpace的国外用户界面体验图谱量化分析
广义框架的不相交性
物联网用户界面如何工作
UI用户界面色彩设计研究
成功的定义
关于原点对称的不规则Gabor框架的构造
一种基于OpenStack的云应用开发框架
基于B/S的跨平台用户界面可配置算法研究
修辞学的重大定义