CATIA二次开发实例
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CATIA.Visible = True’将CATIA界面设为可见
End If
’以上程序实现在CATIA处于开启状态时就连接到CATIA,否则执行启动
’CATIA。程序中CATIA是Application的根对象,关键词“Set”用于对象操作
'----------------创建一个product文档加载外形---------
’品文档和工程图文档
Set product1 = productDocument1.Product’进入产品文档
Set products1 = product1.Products’通过对象的层层继承关系,最后创建了Product对象
Dim arrayOfVariantOfBSTR1(0)’定义一个CAD文档的引用
Set pocket1 = shapeFactory1.AddNewPocketFromRef(reference12, 35#)
Set reference13 = part1.CreateReferenceFromObject(hybridShapeCurvePar2)
pocket1.SetProfileElement reference13
hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, P1#, False)’P1为基准’
面位置参数
hybridShapePointOnCurve1.DistanceType = 1
body1.InsertHybridShape hybridShapePointOnCurve1
CATIA对象库,如图2.6所示。注意CATIA提供的对象库大约有90多个,在选择对象库
的时候,尽量选择我们所需的,若在分不清楚的情况下,可以将其全选上来保证对象的可
引用性,但这会造成不必要的系统开支。然后删除窗体(Form),加入一个模块(Add
Module),开始编程。
程序如下,程序中“’”符号后的文字均为注释。
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("PartBody")
Set hybridShapes1 = body1.HybridShapes
Set hybridShapeLinePtPt1 = hybridShapes1.Item("Line.1")
Set partDocument1 = documents1.Item("waixing.CATPart")’加入waixing.CATPart为Part文档
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("PartBody")
'----------------------------改文件名-------------------
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item("Part1.CATPart")
Set product1 = partDocument1.GetItem("Part1")
’定义当前对象的层层继承关系
Set hybridShapes1 = body1.HybridShapes’进入创成式曲面设计工作台
Set hybridShapeRotate1 = hybridShapes1.Item("Rotate.2")’选择曲面造型Rotate.2
selection1.Add hybridShapeRotate1
Set documents1 = CATIA.Documents’加入Documents对象
Set productDocument1 = documents1.Add("Product")’用Add函数加入Document对象,
’Add函数的参数可以是Part、Product、Drawing三种,分别对应零件文档、产
Set limit2 = pocket1.FirstLimit
Set length2 = limit2.Dimension
length2.Value = 25#’控制弯边长度
part1.UpdateObject pocket1
length2.Value = 20#’控制下陷的深度
part1.Update
Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1)
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapePointOnCurve1 =
selection1.Copy’复制曲面造型Rotate.2
Set partDocument2 = documents1.Item("Part1.CATPart")
Set part2 = partDocument2.Part
Set bodies2 = part1.Bodies
Set body2 = bodies2.Item("PartBody")
Set productDocument1 = CATIA.ActiveDocument’确定该Product文档为当前文档
Set selection1 = productDocument1.Selection’选择该Product文档
Set documents1 = CATIA.Documents’加入Documents对象
part1.InWorkObject = hybridShapePointOnCurve1
part1.Update
'-------------------生成交线--缩放图形与pad pocket----
Set reference12 = part1.CreateReferenceFromName("")
arrayOfVariantOfBSTR1(0) = "F:\wurenji\li\waixing.CATPart"’用绝对路径打开外形CAD文
件
products1.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All"’将waixing.CATPart加入
’该Product对象
Set product2 = products1.AddNewComponent("Part", "")’在该Product文档中生成新的
’PartBody
'------------------------------引入参考面与线----------------------------
’重新选择PartBody对象,选择新建的PartBody文档为当前文档,定义当前对象的层层继
’承关系
selection2.Add part2
selection2.PasteSpecial "CATPrtResultWithOutLink"’作为结果不关联引用粘贴曲面造型
’Rotate.2
Set productDocument1 = CATIA.ActiveDocument
body1.InsertHybridShape hybridShapeLinePtPt2
part1.InWorkObject = hybridShapeLinePtPt2
part1.Update
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item("Part1.CATPart")
Set reference14 = part1.CreateReferenceFromObject(hybridShapeCurvePar2)
pocket1.SetProfileElement reference14
pocket1.DirectionOrientation = catRegularOrientation
本节就以绘制翼肋为例,简要介绍CATIA的二次开发过程。
动手编程之前还有几项准备工作:
(1)要求将CATIA的环境语言设置为英语。
(2)要准备一个翼型数据文件,要求先生成翼型的CAD模型。
准备工作做好后我们就可以开始了。首先是初始化COM库。具体方法是在VB中新建
一个标准工程,在VB编程环境中选择Project/References打开对象库功能,选择相关的
Set reference7 = part1.CreateReferenceFromObject(hybridShapePointOnCurve3)
Set reference8 = part1.CreateReferenceFromObject(hybridShapePointOnCurve4)
Set hybridShapeLinePtPt2 = hybridShapeFactory1.AddNewLinePtPt(reference7, reference8)
Set selection1 = productDocument1.Selection
selection1.Clear’清除选择内容
………………………………
………………………………
………………………………’其它的引用与以上类似,省略介绍
'---------------生成基准平面----------------------
pr6"
Set productDocument1 = CATIA.ActiveDocument
Set product2 = productDocument1.Product
Set products1 = product2.Products
Set product3 = products1.Item("Part1.1")
= "yile"
运行上述程序,便可在CATIA环境里自动绘制出翼肋的CAD模型,并保存为yile. CATP
art文件,翼肋的CAD模型如图2.7所示。
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
End If
’以上程序实现在CATIA处于开启状态时就连接到CATIA,否则执行启动
’CATIA。程序中CATIA是Application的根对象,关键词“Set”用于对象操作
'----------------创建一个product文档加载外形---------
’品文档和工程图文档
Set product1 = productDocument1.Product’进入产品文档
Set products1 = product1.Products’通过对象的层层继承关系,最后创建了Product对象
Dim arrayOfVariantOfBSTR1(0)’定义一个CAD文档的引用
Set pocket1 = shapeFactory1.AddNewPocketFromRef(reference12, 35#)
Set reference13 = part1.CreateReferenceFromObject(hybridShapeCurvePar2)
pocket1.SetProfileElement reference13
hybridShapeFactory1.AddNewPointOnCurveFromDistance(reference1, P1#, False)’P1为基准’
面位置参数
hybridShapePointOnCurve1.DistanceType = 1
body1.InsertHybridShape hybridShapePointOnCurve1
CATIA对象库,如图2.6所示。注意CATIA提供的对象库大约有90多个,在选择对象库
的时候,尽量选择我们所需的,若在分不清楚的情况下,可以将其全选上来保证对象的可
引用性,但这会造成不必要的系统开支。然后删除窗体(Form),加入一个模块(Add
Module),开始编程。
程序如下,程序中“’”符号后的文字均为注释。
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("PartBody")
Set hybridShapes1 = body1.HybridShapes
Set hybridShapeLinePtPt1 = hybridShapes1.Item("Line.1")
Set partDocument1 = documents1.Item("waixing.CATPart")’加入waixing.CATPart为Part文档
Set part1 = partDocument1.Part
Set bodies1 = part1.Bodies
Set body1 = bodies1.Item("PartBody")
'----------------------------改文件名-------------------
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item("Part1.CATPart")
Set product1 = partDocument1.GetItem("Part1")
’定义当前对象的层层继承关系
Set hybridShapes1 = body1.HybridShapes’进入创成式曲面设计工作台
Set hybridShapeRotate1 = hybridShapes1.Item("Rotate.2")’选择曲面造型Rotate.2
selection1.Add hybridShapeRotate1
Set documents1 = CATIA.Documents’加入Documents对象
Set productDocument1 = documents1.Add("Product")’用Add函数加入Document对象,
’Add函数的参数可以是Part、Product、Drawing三种,分别对应零件文档、产
Set limit2 = pocket1.FirstLimit
Set length2 = limit2.Dimension
length2.Value = 25#’控制弯边长度
part1.UpdateObject pocket1
length2.Value = 20#’控制下陷的深度
part1.Update
Set reference1 = part1.CreateReferenceFromObject(hybridShapeLinePtPt1)
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set hybridShapePointOnCurve1 =
selection1.Copy’复制曲面造型Rotate.2
Set partDocument2 = documents1.Item("Part1.CATPart")
Set part2 = partDocument2.Part
Set bodies2 = part1.Bodies
Set body2 = bodies2.Item("PartBody")
Set productDocument1 = CATIA.ActiveDocument’确定该Product文档为当前文档
Set selection1 = productDocument1.Selection’选择该Product文档
Set documents1 = CATIA.Documents’加入Documents对象
part1.InWorkObject = hybridShapePointOnCurve1
part1.Update
'-------------------生成交线--缩放图形与pad pocket----
Set reference12 = part1.CreateReferenceFromName("")
arrayOfVariantOfBSTR1(0) = "F:\wurenji\li\waixing.CATPart"’用绝对路径打开外形CAD文
件
products1.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All"’将waixing.CATPart加入
’该Product对象
Set product2 = products1.AddNewComponent("Part", "")’在该Product文档中生成新的
’PartBody
'------------------------------引入参考面与线----------------------------
’重新选择PartBody对象,选择新建的PartBody文档为当前文档,定义当前对象的层层继
’承关系
selection2.Add part2
selection2.PasteSpecial "CATPrtResultWithOutLink"’作为结果不关联引用粘贴曲面造型
’Rotate.2
Set productDocument1 = CATIA.ActiveDocument
body1.InsertHybridShape hybridShapeLinePtPt2
part1.InWorkObject = hybridShapeLinePtPt2
part1.Update
Set documents1 = CATIA.Documents
Set partDocument1 = documents1.Item("Part1.CATPart")
Set reference14 = part1.CreateReferenceFromObject(hybridShapeCurvePar2)
pocket1.SetProfileElement reference14
pocket1.DirectionOrientation = catRegularOrientation
本节就以绘制翼肋为例,简要介绍CATIA的二次开发过程。
动手编程之前还有几项准备工作:
(1)要求将CATIA的环境语言设置为英语。
(2)要准备一个翼型数据文件,要求先生成翼型的CAD模型。
准备工作做好后我们就可以开始了。首先是初始化COM库。具体方法是在VB中新建
一个标准工程,在VB编程环境中选择Project/References打开对象库功能,选择相关的
Set reference7 = part1.CreateReferenceFromObject(hybridShapePointOnCurve3)
Set reference8 = part1.CreateReferenceFromObject(hybridShapePointOnCurve4)
Set hybridShapeLinePtPt2 = hybridShapeFactory1.AddNewLinePtPt(reference7, reference8)
Set selection1 = productDocument1.Selection
selection1.Clear’清除选择内容
………………………………
………………………………
………………………………’其它的引用与以上类似,省略介绍
'---------------生成基准平面----------------------
pr6"
Set productDocument1 = CATIA.ActiveDocument
Set product2 = productDocument1.Product
Set products1 = product2.Products
Set product3 = products1.Item("Part1.1")
= "yile"
运行上述程序,便可在CATIA环境里自动绘制出翼肋的CAD模型,并保存为yile. CATP
art文件,翼肋的CAD模型如图2.7所示。
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