Software Engineering and Applications
Vol. 12  No. 04 ( 2023 ), Article ID: 71183 , 10 pages
10.12677/SEA.2023.124061

基于CATIA二次开发的汽车夹具管理系统关键技术研究

樊域宁,仲梁维

上海理工大学机械工程学院,上海

收稿日期:2023年6月29日;录用日期:2023年8月16日;发布日期:2023年8月24日

摘要

焊装是汽车生产中的关键工艺,汽车焊接夹具的研发在汽车制造中占用重要地位,汽车夹具管理系统在夹具柔性化设计中保证了数据的规范统一。针对企业在当前敏捷制造流程中存在的周期长、效率低、智能化设计中工作量大等问题,本文借助二次开发API工具,分析汽车夹具管理系统中的关键技术,主要对系统管理模块、夹具元件管理模块、工装辅助功能设计模块和设计/组装模块进行分析和开发,实现设计过程的优化。通过夹具零件的功能开发和智能管理,提升了设计质量,减少了个体经验给设计质量带来的不稳定性。经检验,由参数化设计的汽车夹具实例可以满足工程要求,工装辅助功能解决了手动修改等一系列繁琐步骤,设计效率提高约40%,于设计的过程提供智能化重用的支持。为汽车产品的迭代升级提供了有力的工具。

关键词

CATIA二次开发,汽车夹具,管理系统

Key Technology Research of Automotive Fixture Management System Based on CATIA Secondary Development

Yuning Fan, Liangwei Zhong

School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai

Received: Jun. 29th, 2023; accepted: Aug. 16th, 2023; published: Aug. 24th, 2023

ABSTRACT

Welding is a key process in automobile production, the development of automobile welding fixture occupies an important position in automobile manufacturing, and the automobile fixture management system ensures the standardization and unification of data in the flexible design of fixture. The present article addresses the challenges faced by enterprises in the current agile manufacturing process, such as long cycle times, low efficiency, and heavy workload in intelligent design. Utilizing secondary development API tools, this study analyzes key technologies within the automotive fixture management system. It mainly focuses on the analysis and development of the system management module, fixture component management module, tooling assistance function design module, and design/assembly module, aiming to achieve optimization in the design process. Through the development and intelligent management of fixture components, the design quality has been enhanced, reducing the instability caused by individual experiences. Experimental validation indicates that the parameterized design of automotive fixtures meets engineering requirements. The tooling assistance function resolves a series of tedious steps, such as manual modifications, resulting in a design efficiency improvement of approximately 40%. It provides intelligent reuse support throughout the design process and serves as a powerful tool for the iterative upgrade of automotive products.

Keywords:CATIA Secondary Development, Automotive Fixtures, Management System

Copyright © 2023 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

在当今汽车工业中,冲压、焊接、涂装、总装被认为是汽车制造过程中的四大工艺 [1] 。其中焊装是汽车生产中的关键工艺。典型的小型乘用车是由400多个冲压件,50多个分总成,通过70~90套焊接夹具按照特定的组合工序装配而成 [2] 。通过焊接,冲压成型得到钣金件可以形成白车身。如果焊接质量出现问题则会导致钣金变形开裂而产生异响,影响到整个汽车加工质量,严重者可造成安全危害 [3] 。焊接夹具焊接生产线的核心,在实际汽车制造中可以1) 提升装配精度,确保产品质量;2) 提升焊接效率,降低制造成本;3) 焊接产品的模块化显著提升,便于互换;4) 降低制造难度便于工人操作等,对于车身质量具有重要的影响 [4] 。

目前,有关于白车身夹具二次开发的相关研究较多,但基于CATIA的夹具二次开发研究较少。如果通过人工方式在CATIA中进行夹具零件的适配操作以及标准件、企业件、数据库的建立,不仅工作量大、效率低、易出错,而且需要基于不同的客户指定不同的方案。本文通过综合应用C#开发语言,结合CATIA Automation二次开发技术,实现夹具零件的属性赋值、工装信息提取、装配体的参数化设计功能 [5] 。

2. 汽车夹具管理系统的体系结构

依据系统的总体设计,对系统的各个功能模块进行了详细设计,其功能架构如图1所示。

系统具备的内容为:1) 系统管理模块。用于管理夹具管理系统站内用户。管理员可以对用户权限进行添加、删除以及更改操作;2) 夹具元件管理模块。用于管理组合夹具原件,主要包括导入元件入库、元件出入库信息查询、元件信息更新等功能;3) 工装智能辅助设计模块。系统提供了数个辅助工具帮助设计者提高工作效率,如夹具的参数化设计,工装结构信息提取等功能;4) 设计/组装模块。该模块提供零件的三维图生成、导出以及插入装配体等功能。用户通过该模块根据工艺需求设计组合夹具,并进行组合夹具的进一步组装。

Figure 1. System functional architecture

图1. 系统功能架构

2.1. 汽车车身焊装夹具的结构分析

车身夹具单元的种类和类型较为复杂,但是依据总的用途可以进行大致的分类 [6] :支撑单元(Support Unit)作为焊装夹具的基本原件,对工件平面和表面粗糙度要求较高,因为其精度直接决定了定位单元的精确性;定位销单元(RPS_PIN Unit)的主要作用是进行车身件的定位,由运动方式可具体分类为固定RPS销单元,伸缩RPS销单元和翻转RPS销单元,RPS (德语Referenz Punkt Systematik)是应用于单件或总成件在产品设计、制造、检测及批量装车所有阶段中的基准点系统,可使零件设计基准点、工艺定位基准点、测量基准点相统一,实现零件精确定位;压紧单元(Clamp Unit)作用于焊装件的夹紧定位;空压单元(Hollow Clamp Unit)与压紧单元相似,但没有压紧单元的支撑部分。对于以上任意一种结构的单元,可以依据调整的方式更深入地分类,具体可以分为Z、ZX、ZY、ZYX向调整单元。图2展示了汽车夹具的各个单元体及其在开发过程中的尺寸定义。根据规格的不同,主参数为A1,假设变化量为Δ,则与A1具备约束关系的尺寸为A3,则A3的变化量应为Δ。由此可得A1,A3具备正向的尺寸关系,同理,A4、C2和H也具备正向的尺寸关系。

Figure 2. Example diagram of fixture unit

图2. 夹具单元实例图

2.2. CATIA二次开发技术

CATIA是由法国达索公司研发的CAD/CAE/CAM一体化软件,在全球范围内处于领先地位 [7] 。其作为强大的工程软件可以进行丰富功能定制,使其更好为用户所用,从而提高工作质量,其出色的开发性能使其成为整个车身焊接夹具行业中使用最广泛的软件。CATIA为用户提供了两种编程接口,分别为自动化编程(V5 Automation)和开放的基于构件的应用编程接口(CAA) [8] 。CAA稳定性好,功能强大,更适用于专业深层次的二次开发需求。然而,由于CAA需要专业编程软件工具,对开发人员的要求较高。相对应的,基于COM技术的V5 Automation涵盖了CATIA二次开发编程对象架构,其帮助文档描述了各个接口中不同对象的方法属性以及使用案例教程,在汽车夹具管理系统开发中,需求和代码开发功能对应,可借此优化多种工装辅助设计功能,实现系统与CATIA的充分连结。开发周期短且稳定易用,能够满足大多数工程应用开发需求。

本文在V5 Automation建立的开发环境中调试编译,调用其中的相关接口,针对重复劳动效率低的问题,综合运用CATIA多个模块,实现了交互选择、属性赋值、工装结构信息提取、参数化设计等功能。

CATIA API与开发对象

CATIA API (Application Programming Interface)属于接口函数,即面向对象编程语言中特有的,仅指定函数成员而不实现成员的函数。所有的数据通过继承、聚合的方法形成树状结构,并用API封装成对象。通过CATIAAPI的使用,可使开发者通过编写代码的方式,生成可重复利用的代码模块,达到在程序内部调用CATIA内部功能的目的。

Application为整个结构的根对象,系统中CATIA进程内部的所有对象都凭该对象的对应方法返回。以CATIA进程已经启动为前提,使用参数含“CATIA.Application”字符串的函数Get Active Object以获得Application对象的运行实例,将其赋给一个INFITF.Application类型变量CATIA = (INFITF. Application) System. Runtime. InteropServices. Marshal. GetActiveObject (“CATIA.Application”)。若程序运行时CATIA尚未启动,则使用参数含“CATIA. Application”字符串的函数Get Type From Prog ID获取程序标识符后,将获得的程序标识符代入函数Create Instance,并把其赋给变量CATIA = (INFITF. Application) Activator. CreateInstance (oType)。最终,通过属性Visible = true,即可实现CATIA程序的显示 [9] 。

Application派生出Collection (集合)和Object类型。其中Collection含Printers、Documents、Windows,Object含System Service、File System。其中多种对象可能对应着同一种方法或属性,例如控制几何元素的方法Add( )、Item( ),获取Document的路径属性如Path。

3. 汽车夹具管理系统关键技术实现与测试

3.1. 基于交互选择的属性赋值技术

在汽车夹具的设计过程中,装配体和零件内有许多需要人工额外编辑的自定义属性。由于零件类型和数量庞大,人工添加的效率和质量都较低。通过CATIA中宏的录制获取属性赋值的接口和方法,以便后续BOM表的导出。

3.1.1. 人机交互选择夹具部件

CATIA的系统交互功能是二次开发中重要的一环。开发者通过V5 Automation自带的Document Object-Selection对象,完成用户在屏幕上零件或装配体的选择,而不是通过代码选择结构树集合元素,避免用户直接接触代码,提高了选择的效率和安全性。Select Element2或Select Element3函数分别代表选择一个物体或选择一个或多个物体。为了过滤掉不必要的元素,使选择更加便捷,以上的交互选择命令都包含一个过滤器参数CAT Selection Filter,该参数为下限为0的字符串数组,通过添加相应的字符串元素实现功能。例如输入过滤器Input Object Type (0) = “TriDim”,即可完成三维元素的过滤,用户在当前函数运行过程中只能在屏幕内选择三维元素,如凸台(Pad)。

3.1.2. 零件属性赋值功能

该功能主要实现自定义属性参数Parameters获取和赋值功能。上文提到通过Selection对象选择的Product对象,此处可利用其属性User Ref Properties来得到该产品参数的集合,以实现对零件属性的增、删、改、查功能。开发过程中在Form中添加SelectElement2方法,实现在文件中通过人工交互选择零件,再给零件“Type”属性赋予文本控件字符串内容的功能。以夹具支撑单元为例,功能实现流程图如图3所示。

Figure 3. Diagram of property assignment check implementation

图3. 属性赋值检查实现流程图

3.2. 工装结构信息提取技术

工装结构信息是指在机械加工过程中机加设备的类型、名称、以及相互之间的关系。工装信息结构的提取有利于在实际生产中了解并管理整个工装结构,在夹具的智能化设计过程中完成对工装结构的总览和零件继承关系的概括。本功能主要实现的是装配体文件中的结构树遍历。相关的零件文件在建立之初就已经添加了自定义属性,引入到装配体文件中。通常会在根装配体节点下方建立若干子装配体节点,将零件文件通过装配过程分类到各子装配体节点中。更进一步,子装配体节点下方可继续建立子装配体节点,对其中的零件进行装配分类。

3.2.1. 终端节点的判断方法

零件的属性都在终端节点中被定义。终端节点是对零件内部元素的包装,该节点内部不包含子节点。本文中构造了判断装配体集合内部是否具有装配体子节点的IsLeaf函数。通过使用装配体集合Products内部的Count属性,确定交互选择的装配体内装配体集合内部元件的数量。如果元素数量大于0,则该函数返回布尔值true,否则返回false。该函数将在下文中的显示工装信息的方法中发挥作用。

3.2.2. 基于递归访问策略的结构树信息提取技术

该技术构造了一个Show Structure Information函数。当遍历到某一层级的节点时,先用IsLeaf函数判断其是否为终端节点。若是终端节点,则该子节点内为零件,将product. get_PartNumber ( )获取到的零件名称在其父装配体下部显示。若是中间节点,则获取其名称后,利用Show Structure Information方法进行深度递归循环遍历,从而判断整个工装的结构树信息,直到循环至终端节点。

通过递归访问结构树方法,工装信息的提取得以实现,并使用树视图(TreeView)实现信息的展示。树视图是一种可通过节点的折叠和展开以实现层次结构信息展示的窗口控件,它内部的节点集合(Nodes)属性可进行节点(TreeNode)的编辑操作。

以下代码实现了在树视图控件内部添加了一个节点,该节点Text属性为当前遍历元素名称。

Tree Node tmpNd = new TreeNode ();

Tmp Nd.Text = product. get_PartNumber ();

Tree View1. Nodes. Add (tmpNd);

实现流程图如下所示,图4展示了该方法提取工装信息运行结果,图5展示了在实际操作中的效果。

Figure 4. Diagram of the extraction process of the workwear information structure

图4. 工装信息结构提取流程图

Figure 5. Diagram of the extraction of the workwear information structure

图5. 工装信息结构提取效果图

3.3. 汽车夹具的参数化设计

参数化设计是智能化、集成化的CAD系统的核心技术,通过修改参数,以实现模型的修改和联动。可以减少软件模块的重复利用,简化数据库冗余零件。一般作用于形状和结构比较确定的零件,通过一组参数约定尺寸关系,以达到参数与设计元件的控制尺寸相对应 [10] 。在以往的参数化设计中,夹具设计往往采用尺寸驱动法,在CATIA内部人工定义对应的参数,操作效率低,重复率高。本文中使用程序驱动法的参数设计,通过代码选择结构树中的约束及其对应参数,达到同一模板批量生成不同尺寸夹具单元的目的。

3.3.1. 参数化设计的方法

在CATIA内部进行参数化设计有两种方法:尺寸驱动法和程序驱动法。在实际使用过程中可以根据两者利弊进行取舍或混合使用。

尺寸驱动法是指,通过创建Parameters (参数集)内部的单个Parameter (参数),并与零件结构树的特定尺寸或约束进行绑定的方法。当需要不同尺寸的同类型零件时,设计人员可根据给定的约束修改相应参数值,使其几何元素或特征的几何拓扑信息发生变化,就能实现在模板零件基本结构不变的前提下,生成一组结构相同但尺寸不同的零件系列。该方法主要通过用户在屏幕内进行点击操作,适用于个别产品的修改和调用。当需求零件数量过大时,就会暴露出操作繁琐、易出错等问题。

程序驱动法利用CATIA API接口函数,在代码编写阶段控制参数和几何表达式的生成,完成相应的建模设计。通过Winform中的控件,设计者仅需要在窗口输入所需的参数名和参数值即可直接修改原模板零件。程序驱动法运行高效、快速,适用于大批量生成零件文档。但由于代码量较多,前期编写的难度较大,时间较长。

3.3.2. 参数化建模流程和界面设计

Figure 6. Parameter value modification process

图6. 参数值修改流程图

在以往的夹具数据库管理系统中,夹具单元作为其中的重要一部分,不需要针对单个零件进行参数化设计,而是在完整的单元装配体模式下进行参数定义。在开发生产的设计、工艺、生产、制造、财务、采购等各个业务系统中,基础数据比较薄弱,存在着元件数据协同不一致,数据利用率低等问题 [11] 。为了解决数据冗余、减少夹具数据库的占用空间,在此处以夹具单元为例。在开发过程中需要找出各个关联尺寸,建立尺寸链管理,形成基于尺寸的约束模型 [12] 。

调用API函数修改结构树中Parameters项中的变量值,将源文件的参数通过公式赋予自定义参数,即可实现通过控制自定义参数修改模板零件约束的效果。图6展示了汽车夹具系统中支撑件参数集内的参数值各个修改过程,以此创建的三维模型的参数变量在结构树中的结果如图7所示。

Figure 7. Parametric design results for automotive fixture supports

图7. 汽车夹具支撑件参数化设计结果

4. 结束语

本文介绍了在C#环境下基于CATIA二次开发进行汽车夹具管理系统的研究。针对设计过程中建模复杂、耗时长、设计效率低的问题,综合开发了系统管理模块、夹具元件管理模块、工装智能辅助设计模块、设计/组装成模块,针对属性赋值,工装结构信息提取以及参数化设计的功能进行关键技术研究,缩短了夹具设计周期。这样设计者可以在结构设计方面投放更多精力,以提高产品质量,同时为汽车夹具管理系统优化提供了一种思路。

文章引用

樊域宁,仲梁维. 基于CATIA二次开发的汽车夹具管理系统关键技术研究
Key Technology Research of Automotive Fixture Management System Based on CATIA Secondary Development[J]. 软件工程与应用, 2023, 12(04): 629-638. https://doi.org/10.12677/SEA.2023.124061

参考文献

  1. 1. 屠攀. 汽车零件柔性焊接夹具设计与研究[D]: [硕士学位论文]. 上海: 东华大学, 2016: 1.

  2. 2. 禹化宝. 基于案例汽车焊装夹具智能设计系统的研究与开发[D]: [硕士学位论文]. 烟台: 烟台大学,2014.

  3. 3. 周方明, 陈丽丽, 颜益, 黄曼. 基于UG的三维汽车后桥焊接零件库系统的设计[J]. 焊接技术, 2016, 45(3): 56-59. https://doi.org/10.13846/j.cnki.cn12-1070/tg.2016.03.019

  4. 4. 杨鸿强. 汽车车身焊装夹具的设计对策[J]. 新型工业化, 2020, 10(11): 30-32. https://doi.org/10.19335/j.cnki.2095-6649.2020.11.013

  5. 5. 朱立达. 基于CATIA二次开发的焊装夹具BOM自动提取[J]. 机械工程师, 2017(7): 109-110.

  6. 6. 熊晓萍. 汽车车身焊接夹具运动机构浅析[J]. 现代制造工程, 2005(1): 80-82. https://doi.org/10.16731/j.cnki.1671-3133.2005.01.034

  7. 7. 胡挺, 吴立军. CATIA 二次开发技术基础[M]. 北京: 电子工业出版社, 2006.

  8. 8. 彭欢. 基于V5 Automation的CATIA二次开发技术研究[J]. 电子机械工程, 2012, 28(2): 61-64.

  9. 9. 刘圣, 郝泳涛. 基于CATIA二次开发的产品BOM属性自动提取[J]. 电脑知识与技术, 2012, 8(7): 1550-1552.

  10. 10. 刘薇娜, 贾帅帅. 基于CATIA二次开发的非标准件参数化设计[J]. 自动化技术与应用, 2017, 36(7): 43-46.

  11. 11. 潘盟. 基于CATIA统一数据标准件库管理系统的二次开发[D]: [硕士学位论文]. 西安: 西安工业大学, 2021. https://doi.org/10.27391/d.cnki.gxagu.2021.000239

  12. 12. 成大先. 机械设计手册(第六版) [M]. 北京: 化学工业出版社, 2017.

期刊菜单