APP下载

基于ICAPI的汽车零部件三维参数化设计研究

2016-12-08郑金铎王涛马士祯鞠锦建

汽车零部件 2016年3期
关键词:二次开发

郑金铎,王涛,马士祯,鞠锦建

(临工集团济南重机有限公司,山东济南 250104)



基于ICAPI的汽车零部件三维参数化设计研究

郑金铎,王涛,马士祯,鞠锦建

(临工集团济南重机有限公司,山东济南 250104)

摘要:基于CAXA实体设计二次开发应用程序接口(ICAPI)以及VC++6.0,针对汽车产品典型零部件结构特点及设计要求,通过三维参数化模型库的构建,实现了汽车产品典型零部件的三维参数化设计,降低了设计人员的劳动强度,提高了设计效率。

关键词:ICAPI;二次开发;三维参数化设计

0引言

ICAPI(IronCAD Application Programming Interface,IronCAD应用程序接口)是CAXA实体设计为用户提供的二次开发程序接口,用户可以应用ICAPI创建基于CAXA实体设计二次开发的应用程序,通过ICAPI可编接口函数,用户可以实现CAXA实体设计提供给最终用户的几乎所有功能。另外,用户可以几乎不受限制地订制和改进一些额外功能,因此通过ICAPI的二次开发可以完成机械产品专用CAD(Computer Aided Design,计算机辅助设计)设计系统的开发,以降低企业设计人员的劳动强度,提高设计效率。

CAXA实体设计为用户提供了自定义参数化零件库功能,任何用户认为有重复利用需要的设计都可以作为一种设计元素在自定义参数化零件库中保存起来,在需要的时候,可以方便地从设计元素库拖到设计环境中,实现零部件的设计重用。设计元素可以是一个设计好的特征、零件、装配、图标或是一种特殊的图案。图1所示为用户自定义的汽车典型零部件三维参数化模型库。

1系统构建的关键技术

在CAXA实体设计提供的二次开发环境下,利用CAXA二次开发应用程序接口(ICAPI)实现零件的参数化设计。采用该方法,首先构建零部件的三维模型,并定义其参数构成和关联约束,然后利用高级开发语言(文中利用VC++6.0)调用设计参数驱动零件三维模型。

系统构建以汽车产品典型零部件为例展开讨论,通过构建汽车典型零部件的三维参数化驱动模型,实现汽车产品设计过程中典型零部件的参数驱动。

1.1CAXA实体设计三维参数建模的基本要求

三维参数化模型包括零件的几何拓扑关系、尺寸参数等信息。建立零部件的三维参数化模型的关键是保证其能够正确地完成参数化设计。建模时应遵循以下要求[1]:

(1)使用CAXA实体设计提供的参数化造型功能构建的三维模型,应尽量减少特征数,以较好地支持参数化。

(2)如果三维参数化模型是一个部件(子装配),该模型不仅含有能够驱动零件几何形状的尺寸参数,还应包括零件之间的装配约束关系,这是为了保证在参数驱动时,子装配零件之间具有相对正确的位置。

(3)直接用于驱动零部件几何尺寸形状的参数作为顶层参数,称之为一级参数,封装了零部件的几何信息;在CAXA二维草图截面上定义的参数称之为二级参数,又称为特征级造型参数。用一级参数的表达式来表示特征级造型参数,当改变零件的尺寸参数(一级参数)时,可以驱动特征级造型参数改变,从而驱动零件的尺寸及形状发生改变。各个参数之间关系如下:

f1(一级主参数)→(二级主参数)

f2(一级主参数,二级主参数)→(一般参数)

CAXA实体设计提供了多种构建零件三维模型的功能,如智能图素、三维球工具、编辑二维草图截面等功能,利用这些功能,根据三维实体建模的基本要求可以方便地构建零件的三维模型。在三维模型的基础上,经过对其二维草图和特征包围盒施加约束和定义参数,可以对零件的三维模型进行尺寸驱动和位置驱动,并将建好的参数化模型存入CAXA实体设计提供的设计图素库(Catalogs)中,供设计人员在参数化设计时使用。典型零部件的三维参数模型及其参数构成如图2所示。

1.2CAXA实体设计二次开发的相关技术

CAXA实体设计为用户提供的二次开发应用程序接口(ICAPI),使得用户可以根据自己的需要访问系统的各项功能和底层数据,并利用第三方工具来扩展功能,达到用户程序与CAXA实体设计的无缝集成。利用VC++6.0,基于COM组件的集成方案直接利用ICAPI提供的大量接口和函数进行用户程序的编写,是一种比较有效的二次开发方式。

ICAPI在设计时努力使二次开发用户在调用一个API函数后,CAXA实体设计始终保持数据的正确状态。如果二次开发用户调用一个API后成功返回,CAXA实体设计则始终保持一个正确的状态,即便是因为设计模型还没有结束而停留在一个中间状态,CAXA实体设计也始终处于一个正确状态,这样CAXA实体设计就不会出现异常。如果API调用失败,CAX实体设计会清楚它产生的内部数据,以保持一个正确的状态[2]。

图3所示为ICAPI对象总图,每一个对象都支持一个或多个接口。在每个独立的接口中都集成了一套强大的功能。这些接口包含了一组用来操作、查询和创建它们包含的对象的函数。要详细了解这些接口和接口函数的功能,可以参阅CAXA的ICAPI帮助文件。

2系统实现

系统开发利用CAXA实体设计所提供的二次开发接口ICAPI,采用Visual C++6.0作为开发工具,在CAXA实体设计环境下,实现了专用机械产品三维参数化快速设计,下面以汽车悬架系统典型零部件为例来讨论系统功能的实现。

2.1零部件设计流程及实现方式

汽车悬架系统设计的流程图如图4所示。

把基于ICAPI编写的典型零部件应用程序加载在该零部件三维模型上,并将其三维模型保存在设计元素库中,这样将模型拖入设计环境时会自动弹出该零部件的设计向导,在人机交互式设计向导界面上按照要求依次输入设计驱动参数后,单击确定,即可完成该零部件的设计。

2.2典型零部件设计功能实现

例如汽车悬架系统中钢板弹簧属于比较典型的零件,在进行其设计时,设计人员将其从设计元素库中拖到CAXA实体设计环境下,加载在该模型上的应用程序被激活,系统自动弹出设计向导对话框,设计人员根据对话框的内容,依次输入设计参数,单击确定,便可完成汽车悬架系统中钢板弹簧的设计,如图5所示。设计完成之后的计算结果显示界面如图6所示,图7是设计完成的三维模型。

如果进行部件(子装配)总成的设计,在进行参数驱动、完成三维造型的同时,内部零件之间也必须保证相对位置正确,这就需要在参数化模型设计时,要考虑零件之间的装配约束关系,这一点很重要,它将直接影响到参数驱动完成后的模型是否正确,所以在进行参数化造型时必须考虑。

图5钢板弹簧设计向导图6计算结果

3结束语

以Visual C++6.0作为开发工具,在CAXA实体设计环境下,实现了专用机械产品三维参数化快速设计。应用该系统进行专用机械产品设计时,能有效降低设计人员的重复劳动,提高设计效率。但是在系统的具体实现时,不仅局限于汽车产品,可以推广到其他机械产品领域,以后还可以考虑系统与知识库及模型数据库的链接,把行业标准、经验数据等加入到模型中去,使之更好地服务于设计人员。

参考文献:

【1】靳江艳,方忆湘,刘恩福.CAXA实体设计环境下的蝶阀产品参数化设计[J].河北科技大学学报,2007,28(3):230-233.

【2】朱雅达.CAXA实体设计的二次开发[J].CAD/CAM与制造业信息化,2002(8):51-52.

Study of Automobile Parts 3D Parametric Design Based on ICAPI

ZHENG Jinduo,WANG Tao,MA Shizhen,JU Jinjian

(Lingong Group Jinan Heavy Machinery Co.,Ltd.,Jinan Shandong 250104,China)

Keywords:IronCAD Application Programming Interface (ICAPI); Secondary development;3D parametric design

Abstract:Based on the CAXA solid design secondary development application interface (ICAPI) and VC++6.0, according to the structure characteristics and design requirements of the typical parts of automotive products, the 3D parametric design for typical parts of automobile products was realized by which the labor intensity could be reduced and the design efficiency could be improved.

收稿日期:2015-12-15

作者简介:郑金铎(1981—),男,硕士研究生,工程师,研究方向为汽车工程、机械CAD/CAM。E-mail:zhengjinduo@163.com。

中图分类号:TP391.72

文献标志码:A

文章编号:1674-1986(2016)03-043-03

猜你喜欢

二次开发
AutoCAD 与PDMS 二次开发在三维复杂形体设计建模上的应用
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
例谈课本习题的“二次开发”
基于“核心素养”的英语教材二次开发
二次开发教材 拓展学生思维
高中物理教材导入的“二次开发”
单机游戏的二次开发