APP下载

自顶向下的常用机构库研究①

2018-05-04张文彬沈精虎

计算机系统应用 2018年4期
关键词:编码数据库机构

张文彬, 沈精虎, 夏 凡

(青岛大学 机电工程学院,青岛 266071)

随着现代工业技术的提高与发展,许多传统的典型机构(如凸轮机构、连杆机构、齿轮机构等)被广泛应用于各种现代机械产品的设计中,同时也涌现出大量能够在某些特殊领域应用的新型机构(如柔性机构、仿生机构、微型机构等). 机构的选型应用与机构创新设计成为机械设计领域研究的热点,选择何种机构用以满足产品的特定运动要求是机械产品设计过程中十分重要的一个环节. 然而,就机构设计本身而言,大部分的机构设计(大约占设计实例中的70%)并不是凭空创造的,而是以现有的机构为模板进行适当的修改[1].

目前,在教育、企业及科研领域,机构手册仍旧是进行机构选型和设计的重要参考工具[2]. 虽然机构手册被广泛的应用,但仍存在众多不足,例如:(1) 机构手册比较厚重,不易携带. (2) 机构示例图多为二维视图,不够直观. (3) 缺乏机构的动态仿真及运动学分析. (4) 新型机构添加不便,更新成本高.

在此背景下,对三维CAD设计软件进行二次开发在国内外得到了广泛研究. 例如,美国德克萨斯州大学开发设计的Shastar系统,是一个集几何造型、仿真、查询及建模为一体的设计系统; 华中科技大学国家CAD支撑软件工程技术研究中心,以三维参数化CAD平台为基础,二次开发出了一种嵌入式典型零部件设计系统[3]. 以上成果所开发的对象主要是零件,所实现的功能主要是零件的三维造型,从产品的整体机构设计和仿真等综合应用方面涉及很少.

1 常用机构库的功能设计

1.1 功能需求分析

机构库是要面向用户的,能否满足用户的使用需求是评定系统优良的主要标准. 所以,系统的设计首先要考虑用户的需求. 通常,从以下几个方面来考虑系统的功能. (1) 无论多么复杂的机械都是由若干简单的机构单元按特定的方式组合而成,设计人员希望能够快速查找到能够实现特定功能的所有机构,以供选择. (2)机构数量繁多,根据分类方式的不同,同一机构可能属于不同的类别,如果没有合理的分类管理方式,将会导致筛选机构的工作量加大,存储空间的浪费等. (3) 机构往往是需要装配到组件当中的,设计人员希望从外部调取进来的机构能够与自己建的组件完美结合,因此,设计人员希望能够对某一机构进行变型设计,同时修改机构中某一零件尺寸时,仍能保持正确的装配关系. (4) 机构在不断的完善,设计人员希望能够把常用的机构合理存储起来,并且方便维护管理.

1.2 功能设计实现

明确了本系统设计需求之后,通过综合分析比较,选用功能强大的三维参数化设计软件Creo作为常用机构库的开发平台,以Creo本身自带的Creo/TOOLKIT作为二次开发工具[4],借助Visual Studio 2010集成开发环境,利用MFC可视化对话框技术,结合SQL Server数据库,设计出机构检索模块、仿真模块、运动曲线分析模块、有限元分析模块、机构快速设计模块和机构库动态管理等模块,最终完成的系统构架和用户主交互界面分别如图1和图2所示.

2 常用机构库设计开发中的关键技术

2.1 机构的自顶向下设计

自顶向下(Top-Down)设计是一种从抽象到具体的渐进过程,符合产品的实际设计过程[5]. 它是在产品设计初期就根据产品的功能要求事先定义产品的架构,同时考虑到组件与组件、组件与零件、零件与零件之间的约束和定位关系,产品的方案设计和结构设计完成后,再进行单个零件的详细设计,这种设计方法符合设计人员的思维习惯[6]. 在Creo软件平台是通过运动骨架来实现自顶向下的设计,常用机构库里的机构采用这种设计方法能够为后期设计人员调用所需机构进行快速修改提供便利.

图1 常用机构库构架图

图2 常用机构库的主交互界面

2.2 机构的分类和信息存储

机构数量丰富,形式多样,如何选择合理科学的方法对机构进行分类,直接决定了机构检索的效率. 在本系统的设计过程中,选择树形拓扑结构将机构按类分解,逐层细化,在做到层次分明的基础上,再对各机构进行编码. 机构与编码一一对应,每组编码数字都包含着机构的类型、功能等信息. 例如,按机构运动形态分类(编码为01),其下层圆周运动(编码为0101),直线运动(编码为0102),具体编码规则按图3所示,通过编码,用数字化的方法进行机构信息处理,大大提高了机构信息整理和存储的效率. 本系统是通过借助SQL Server数据库平台,创建机构的信息列表,用以完成机构分类信息和特征信息的存储和管理.

图3 机构分类编码方式

2.3 机构特征对象的操作

机构特征提取的基本方法思路是:首先,利用库函数ProSolidFeatVisit( )实现机构的特征提取,再利用库函数ProElemtreeElementVisit( )实现机构特征元素树的访问,并通过过滤函数实现待修改属性信息的提取;其次,建立用户自定义数据结构,将提取的属性信息存入数据结构; 最后,从用户自定义数据结构中读取数据,用于模型重构. 图4为特征提取方法示意图. 具体的代码编写可以根据这种方法思路写出.

2.4 数据库访问技术

常用机构库里的机构信息大部分储存在数据库中,若要实现这些信息的调用,离不开系统应用程序对数据库的访问,而数据库访问接口则是连通系统应用程序访问数据库的关键技术. 本系统采用目前主流的数据库访问接口ADO(ActiveX Data Object)技术. ADO是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据. ADO中最重要的对象有3 个,分别为 Connection、Command 和 Recordset[7]. 这里仅介绍打开SQL Server数据库集并读取数据的方法,调用Recordset对象的Open方法,需要定义RecordsetPtr型变量,然后才能打开一个数据集. 如:m_pRecordset=m_pConnection→Execute(“select * from T_Class where Parent is null”,0,adCmdText); 它的第一个参数可以是一个表的名字、一个SQL语句或者一个命令对象等,第二个参数就是之前建立的连接对象的指针.

3 应用实例

以封闭行星轮系圆柱齿轮凸轮机构的设计为例,在常用机构库的主交互界面中可以通过3种检索方式检索到此机构,分别为目录查询、分类索引和模糊查询,找到机构后,可以观察机构的三维模型,同时可以结合运动简图和特性介绍初步了解机构,然后通过“运动仿真”观看机构运动情况,通过“运动曲线”查看机构各零部件的运动学特性,如果机构能达到工况要求,需要进一步设计该机构,按“加载机构”按钮,将所选用的机构加载到Creo环境中,此时“设计机构”按钮可用,点击此按钮,弹出机构设计交互界面,由于机构库中的所有机构是通过自顶向下设计完成,零件之间存在数据关联和装配关系,因此在机构设计初期已经对关键尺寸做好标识,形式为“key_名称”,机构快速设计时对这些关键尺寸进行修改即可. 图5为封闭行星轮系圆柱齿轮凸轮机构的齿条设计.

4 结束语

常用机构库的设计开发是根据机构设计相关理论和用户需求角度展开的,同时依托用户数量庞大的三维设计平台,保证了本系统应用的广泛性和实用性. 由于机构库里的机构全部采用自顶向下的设计方法设计完成,设计人员在进行机构修改设计时,会大大提高机构的设计效率,缩短新产品的开发周期,为企业新产品抢占市场赢得时间; 其次,常用机构库的开发弥补了机构手册的不足,实现了机构的快速检索,动态仿真,动态管理等功能,方便设计人员快速找到符合工况需求的机构. 需要注意的是,用户如果自行向机构库中添加新机构,一定要按本系统的入库规则进行,如机构的命名,机构的分类编码,机构的关键尺寸确定等,新用户使用本系统可参照常用机构库的“帮助”模块,由于篇幅所限,常用机构库的其它模块不再详细介绍与具体展示.

图4 特征提取方法示意图

图5 齿条尺寸信息修改与模型变更前后对比

1 徐新胜,李丹,严天宏,等. 面向柔性客户需求的产品变型设计方法. 计算机辅助设计与图形学学报,2012,24(3):394-399.

2 许爱芬,贾巨民,温秉权,等. 多行星排齿轮变速机构构型及效率研究. 机械传动,2014,38(12):158-160.

3 胡晓颖. 基于Pro/Engineer的三维零件库管理系统设计与实现[硕士学位论文]. 济南:山东大学,2014.

4 赵静. 面向产品造型的人机交互系统开发. 食品与机械,2016,32(9):80-83.

5 梁飞,沈精虎,孙凯. 基于Pro/E自顶向下的贴胶机设计. 机械科学与技术,2015,34(8):1263-1266.

6 吕国林,褚学宁,储德新,等. 自顶向下设计的多骨架建模方法. 计算机辅助设计与图形学学报,2015,27(3):548-558.

7 Anonymous. How do multivalue venders tackle the ‘big data’challenge? Database Trends & Applications,2011,25(1):24-27.

猜你喜欢

编码数据库机构
生活中的编码
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare
数据库
一周机构净增(减)仓股前20名
一周机构净增(减)仓股前20名
一周机构净增仓股前20名
一周机构净减仓股前20名
数据库