基于Catia Automation API工程图模板定制方法

时间:2022-04-21 08:33:25

基于Catia Automation API工程图模板定制方法

摘要:在CATIA三维模型生成的工程图中,当图纸出现变动,如需要加长、缩小时,或者使用其他工程图模板,工程图图框与标题栏均需要重复绘制,效率十分低下,为了解决这一问题,提出了用CATIA Automation API实现工程图框图框与标题栏自动生成的技术。基于CATIA Automation API的宏程序使用VB语言好学易用,适合用来对CATIA做简单的自动化定制开发。本文详细阐述了工程图模板定制技术的方法和过程,详解了定制方法所涉及到的CATIA对象以及相关的函数方法,并根据企业需求给出了工程图模板定制的程序设计的流程图,并依据该流程图定制出符合企业自身的工程图模板自动生成宏程序,解决了工程图图框与标题栏均需要重复绘制的问题,为其他类似的工程图模板定制提供了参考。

关键词:CATIA 二次开发 工程图

中图分类号:TP391.72 文献标识码:A 文章编号:1007-9416(2015)03-0000-00

1前言

CATIA V5是CATIA是法国达索系统公司的优秀的CAD/CAE/CAM一体化软件,是目前航空业使用最广、影响最大的三维设计类软件。目前,国内航空企业尚无法彻底摆脱二维图,大多处于三维设计与二维制造局面,因此三维数模与二维图纸相关联的要求越来越明显,使用CATIA生成二维图成了必然手段。

虽然CATIA中允许自动生成工程图模板,但其格式并不满足企业的相关标准规定。为使图纸规范化,以提高工作效率,我们需重新定制工程图模板。

常规的CATIA工程图模板定制方法有两种:定制模板文件和定制宏程序。

1.1定制模板文件

该方法通过在Sheet BackGround模式下用草图工具绘制图幅、图框和标题栏然后另存为CATDrawing格式模板文件,然后直接用Insert BackGround命令直接调用即可。该法简单易行,但由于实际工作中图纸允许加宽,导致模板数量繁多,工作量巨大,且不一定满足不同时期的需求;更换模板极为不便,需要重新调整视图位置,自动化程度不高。

1.2定制基于Catia Automation API的宏程序

该方法是通过定制宏程序,调用CATIA绘图命令,进行图幅、图框和标题栏的绘制。由于程序中使用变量代替图纸宽度,并自动读取当前图幅参数,因此,图框的大小和标题栏的位置可根据图幅大小不同自动调节。只要定制一套程序,使用所有图幅,用户操作简单,自动化程度高。

本文将采用定制宏语言的方法定制工程图模板,以实现工程图模板的自动化。

2定制宏程序方法

2.1 Automation API简介

Automation API主要基于CATIA预先编制好的开放函数,通过其丰富的API函数即可完成绝大多数CATIA的自带功能,不需要开发人员具有高深的编程技巧,也不需要开发人员对CATIA软件驱动层和内核编码规则有深入的了解,而且基于VB的开发语言好学易用,使得CATIA的初级二次开发简单且较为实用。在CATIA Automation中,所有的API都已经被封装成了对象驱动模式,其主根位于Application之中,并逐层分解为3种形式的对象,即Documents、Cameras、Windows[1],其中工程图宏程序定制所用的对象在Documents中。

2.2相关对象、方法及属性介绍

CATIA提供了用于Workbench的对象,这些对象提供属性和方法与外部进程交互。工程图中主要使用以下对象:

(1)Drawingsheet 图纸对象;

(2)DrawingView 视图对象;

(3)DrawingText 文本对象;

(4)Factory2D 绘图对象;

(5)Selection 选择对象。

各对象之间有层次之分,调用子对象必须先调用父对象。例如调用Factory2D对象的CreateLine方法,必须先获取Drawingsheets对象(假设已经进入Drafting模块),然后依次获取Drawingsheet、DrawingViews、DrawingView对象[2],才能调用它。对象层次关系如图1所示

定制模板主要用到以下方法:

(1)Factory2D.CreateLine() 绘制直线;

(2)DrawingTexts.Add() 添加文本。

2.3宏程序结构介绍

在CATIA Drafting模块中提供了一个名为Frame and Title Block命令,用于管理背景视图的宏程序[3]。该类宏主要包括以下几类子程序:

(1)Sub CATMain()。主程序,程序由此开始执行。

(2)以Sub CATDrw_开头。显示在Manage Frame and Title Block界面下,供用户调用,

(3)以Sub开头,但没有CATDrw_前缀。仅供其他程序调用,无返回值。

(4)以Function开头。赋值函数,有返回值。

3定制工程图宏程序具体实现

3.1需求分析

根据企业工程图定制的需要,我们需要实现以下功能;

(1)自动根据图幅大小生成相应的模板;

(2)在图面大小更改时自动更换模板大小,并保留原有的明细信息;

(3)删除整个模板的的操作,插入其他类型的模板。

因此对应三个功能,需要三个功能函数,即以Sub CATDrw_开头的函数:

Sub CATDrw_Creation( targetSheet as CATIABase )

Sub CATDrw_Resizing( targetSheet as CATIABase )

Sub CATDrw_Deletion( targetSheet as CATIABase )

3.3完成效果图

完成开发完成后,通过CATIA调用写好的CATStript,选择Creation方法能自动根据选择的图纸的

图框创建完成后,由于种种原因,需要对工程图图纸大小进行变动时,使用Resizing方法可以保证所有输入的数据自动移到新模板中,如图5

使用Deletion函数则能删除创建工程图模板,让图纸能插入其他的模板。

4 结语

本文详细阐述了基于CATIA Automation API的工程图模板定制方法和步骤,并且结合企业工程图的特点,编制基于CATIA Automation API的工程图辅助设计程序,CATIA工程图中调用该宏程序来自动生成工程图模板。使工程图设计工作简单化、程序化,减轻设计者的重复性劳动强度。

参考文献

[1] 胡挺,周立军.CATIA二次开发技术基础.电子工业出版社,2006年.

[2] V5Automation. 法国达索公司,2006年.

[3] 詹友刚.CATIA V5工程图教程.机械工业出版社,2013年.

上一篇:4700万高龄农民工养老医疗谁来解决? 下一篇:永不褪色的承诺