CATIA二次开发实例_第1页
CATIA二次开发实例_第2页
CATIA二次开发实例_第3页
CATIA二次开发实例_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本节就以绘制翼肋为例,简要介绍 CATIA 的二次开发过程。 动手编程之前还有几项准备工作: (1)要求将 CATIA 的环境语言设置为英语。 (2)要准备一个翼型数据文件,要求先生成翼型的 CAD 模型。 准备工作做好后我们就可以开始了。首先是初始化 COM 库。具体方法是在 VB 中新建一个标准工程,在 VB 编程环境中选择 Project/References 打开对象库功能,选择相关的CATIA 对象库,如图 2.6 所示。注意 CATIA 提供的对象库大约有 90 多个,在选择对象库的时候,尽量选择我们所需的,若在分不清楚的情况下,可以将其全选上来保证对象的可引用性,但这会造成不必要

2、的系统开支。然后删除窗体(Form),加入一个模块(Add Module),开始编程。程序如下,程序中“”符号后的文字均为注释。 Sub Main() 程序开始 On Error Resume Next 错误控制语句,发生错误执行下一句 Set CATIA = GetObject(, CATIA.Application) 用 GetObject 连接 CATIA If Err.Number 0 Then Set CATIA = CreateObject(CATIA.Application) 用 CreateObject 启动 CATIA CATIA.Visible = True 将 CATIA

3、 界面设为可见 End If 以上程序实现在 CATIA 处于开启状态时就连接到 CATIA,否则执行启动 CATIA。程序中 CATIA 是 Application 的根对象,关键词“Set”用于对象操作 创建一个 product 文档加载外形 Set documents1 = CATIA.Documents 加入 Documents 对象 Set productDocument1 = documents1.Add(Product) 用 Add 函数加入 Document 对象, Add 函数的参数可以是 Part、Product、Drawing 三种,分别对应零件文档、产 品文档和工程图文

4、档 Set product1 = productDocument1.Product 进入产品文档 Set products1 = product1.Products通过对象的层层继承关系,最后创建了 Product 对象 Dim arrayOfVariantOfBSTR1(0) 定义一个 CAD 文档的引用 arrayOfVariantOfBSTR1(0) = F:wurenjiliwaixing.CATPart用绝对路径打开外形 CAD 文件 products1.AddComponentsFromFiles arrayOfVariantOfBSTR1, All 将waixing.CATPar

5、t加入 该 Product 对象 Set product2 = products1.AddNewComponent(Part, ) 在该 Product 文档中生成新的 PartBody -引入参考面与线- Set productDocument1 = CATIA.ActiveDocument确定该 Product 文档为当前文档 Set selection1 = productDocument1.Selection选择该 Product 文档 Set documents1 = CATIA.Documents加入 Documents 对象 Set partDocument1 = documen

6、ts1.Item(waixing.CATPart) 加入 waixing.CATPart 为 Part 文档 Set part1 = partDocument1.Part Set bodies1 = part1.Bodies Set body1 = bodies1.Item(PartBody) 定义当前对象的层层继承关系 Set hybridShapes1 = body1.HybridShapes进入创成式曲面设计工作台 Set hybridShapeRotate1 = hybridShapes1.Item(Rotate.2)选择曲面造型 Rotate.2 selection1.Add hyb

7、ridShapeRotate1 selection1.Copy复制曲面造型 Rotate.2 Set partDocument2 = documents1.Item(Part1.CATPart) Set part2 = partDocument2.Part Set bodies2 = part1.Bodies Set body2 = bodies2.Item(PartBody) 重新选择 PartBody 对象,选择新建的 PartBody 文档为当前文档,定义当前对象的层层继 承关系 selection2.Add part2 selection2.PasteSpecial CATPrtRes

8、ultWithOutLink作为结果不关联引用粘贴曲面造型 Rotate.2 Set productDocument1 = CATIA.ActiveDocument Set selection1 = productDocument1.Selection selection1.Clear 清除选择内容 其它的引用与以上类似,省略介绍 -生成基准平面- Set reference7 = part1.CreateReferenceFromObject(hybridShapePointOnCurve3) Set reference8 = part1.CreateReferenceFromObject(

9、hybridShapePointOnCurve4) Set hybridShapeLinePtPt2 = hybridShapeFactory1.AddNewLinePtPt(reference7, reference8) body1.InsertHybridShape hybridShapeLinePtPt2 part1.InWorkObject = hybridShapeLinePtPt2 part1.Update Set documents1 = CATIA.Documents Set partDocument1 = documents1.Item(Part1.CATPart) Set

10、part1 = partDocument1.Part Set bodies1 = part1.Bodies Set body1 = bodies1.Item(PartBody) Set hybridShapes1 = body1.HybridShapes Set hybridShapeLinePtPt1 = hybridShapes1.Item(Line.1) Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1) Set hybridShapeFactory1 = part1.HybridShapeFact

11、ory Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, P1#, False)P1 为基准面位置参数 hybridShapePointOnCurve1.DistanceType = 1 body1.InsertHybridShape hybridShapePointOnCurve1 part1.InWorkObject = hybridShapePointOnCurve1 part1.Update 生成交线缩放图形与 pad pocket Set refe

12、rence12 = part1.CreateReferenceFromName() Set pocket1 = shapeFactory1.AddNewPocketFromRef(reference12, 35#) Set reference13 = part1.CreateReferenceFromObject(hybridShapeCurvePar2) pocket1.SetProfileElement reference13 Set reference14 = part1.CreateReferenceFromObject(hybridShapeCurvePar2) pocket1.Se

13、tProfileElement reference14 pocket1.DirectionOrientation = catRegularOrientation Set limit2 = pocket1.FirstLimit Set length2 = limit2.Dimension length2.Value = 25# 控制弯边长度 part1.UpdateObject pocket1 length2.Value = 20# 控制下陷的深度 part1.Update -改文件名 Set documents1 = CATIA.Documents Set partDocument1 = documents1.Item(Part1.CATPart) Set product1 = partDocument1.GetItem(Part1) product1.PartNumber = le6 Set productDocument1 = CATIA.ActiveDocum

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论