catia与宏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发帖: 68
积分: 2 于2003-06-28 12:59 在CATIA 中运用宏处理大量数据 贵航集团无人机研究开发中心 曾贞群 一、引言 随着机械设计的不断发展,三维辅助设计软件在产品设计和加工中成为不可缺少的重要工具。由于CATIA 具有超
强的自由曲面功能、逆向工程的功能及全面的组合分析功能,因此在世界范围内的航空航天及汽车工业中得到了
广泛的应用。在飞机设计过程中,飞机的外形建模过程往往是先从外部读入外形数据,然后在CATIA 中对这些数
据进行处理。飞机外形数据通常是由许多点坐标组成,外形越精确,要求的数据就越多。在CATIA 中,输入点的
方法通常是在Shape 的Generative Shape Design 界面下的Point 命令栏中手工将数据输入。飞机外形有成千上
万个数据点,手动输入不仅费时,并且容易出错。本篇文章介绍了采用宏命令来自动读入数据的方法,并对这些
数据自动进行相关的绘图处理。
二、宏的定义
宏是一系列组合在一起的命令和指令,以实现多任务执行的自动化。
宏可以用下列几种脚本语言编写,这取决于操作系统:
☆ Basicscript 2.2 sdk ,用于Unix ;
☆ Vbscript ,Visual Basic 的脚本语言,用于Windows NT 系统 ;
☆ Jscript ,Javascript 的一种应用,用于Windows NT 系统。
三、创建宏和运行宏
1. 创建宏
宏可用于各种软件,其在各软件中的创建和运行基本相似,这里着重介绍宏在CATIA 中的创建和运行过程。
创建过程是:首先打开CATIA ,新建一个文件,然后进入菜单Tools ,打开子菜单Macro 下的Macros (或用Alt+F8
命令),此时打开一个窗口,如图1所示。
图1 宏命令打开窗口
在Macro Name 下的输入框中命名一个宏的名字,如Macro1。然后按Creat 按钮,此时打开Macro Editor 窗口。
在此窗口的文本框内输入宏的代码,保存后,该宏就创建完成了,如图2所示。
图2 创建宏
2.运行宏
首先选择宏,因为宏可保存于内部文件,也可保存于外部文件,所以首先在宏窗口的左下角的下拉框中选择是内
部文件还是外部文件。如果是内部文件,则在宏窗口的文本框中会显示已创建的一系列宏,选择需要的宏,按下
Run 按钮,宏结果就可显示于窗口内。如果是外部文件,则选择宏窗口左侧的Select 按钮,选择宏所在的文件目
录,按下Run 按钮,同样,宏结果也显示于窗口内。
四、宏在CATIA 中的应用
1.利用宏输入数据
宏在CATIA 中的应用非常广泛,它与CATIA 的内核及内部函数的调用集成得很好。例如,在一个部件上打一系
列的孔,从装配件上提取材料清单等等。在实际工作中,飞机的外形数据存于Excel 文件中,利用宏来读取Excel
文件中的数据。如果数据以其他文件格式保存,如dat 文件格式,可转换为Excel 文件格式,或者直接更改代码,
从其他文件中直接读取。代码如下:
Language="VBSCRIPT" '因为本操作系统是 windows2000,所以 此宏是用'vbscript 编 写的
Sub CATMain()
Dim partDocument1 As Document '创建文件
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part '创建部件
Set part1 = partDocument1.Part
dim excel as object ' 调用excel对象
set excel=getobject("d: \外形数据.xls") '飞机外形数据存于d: \外形数据.xls文'件下
'利用循环,读入excel中的数据。此数据为飞机外形上的一些点的坐标值,这些'值分别存于excel的表单1中的B、C、D中,把这些值分别赋给变量x,y,z
i=1
do while x<>””
x=excel.worksheets(1).cells.range("B" & trim(cstr(i))).value
y=excel.worksheets(1).cells.range("C" & trim(cstr(i))).value
z=excel.worksheets(1).cells.range("D" & trim(cstr(i))).value
·
·
·
'定义点坐标
Dim hybridShapePointCoord1 As HybridShapePointCoord
Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(x,y,z)
·
·
·
'输入点
hybridBody1.AppendHybridShape hybridShapePointCoord1
part1.InWorkObject = hybridShapePointCoord1
i=i+1
loop
part1.Update
End sub
按照创建和运行宏的步骤,把以上代码输入到自定义的一个宏的代码区中,保存并运行。这样,“外形数据.xls”文件中的所有飞机外形数据都被读取出来。CATIA系统为这些点自动编号,设计人员可从当前界面左侧最下一项Open Body.1的树形扩展目录中看到所有的点。
图3就是用此宏输入的机翼上的点。保存此CATIA文件为jiyi.CATpart。
图3 宏输入数据
2.利用宏处理数据
为了得到飞机的外形,我们需要对已输入的点进行处理,即把这些点用Spline命令连成若干条样条曲线,再对这些样条曲线进行处理。在这项任务中,把点连成线是一项繁重的重复性工作,而用宏可以很快地自动完成。宏代码如下:
Language="VBSCRIPT"
Sub CATMain()
'宏初始化
Dim documents1 As Documents
Set documents1 = CATIA.Documents