【CATIA宏编译】VB窗体创建圆柱体教程‌

①打开Visual Basic。

②选择“标准EXE”,然后点击“打开”。

③在菜单栏点击“工程”->“引用”。

④选中所有以CATIA开头的类库声明,然后点击“确定”退出。

⑤绘制用户窗体如下,然后双击“创建”按钮,进入并编辑按钮的点击函数。

⑥输入按钮的点击函数如下:

Private Sub Command1_Click()
CreateCylinder Val(Text1.Text), Val(Text2.Text) ‘调用CreateCylinder主函数,通过Val函数强制转换为数值型数据,请注意Text1和Text2分别为两个文本框控件的名称
End Sub

⑦编写主函数CreateCylinder。

'***************************************************
'Purpose: 创建圆柱体的主程序
'
'Inputs:  iCount: 圆柱体的数量
'         iDis: 圆柱体圆心之间的距离
'***************************************************
Sub CreateCylinder(iCount As Integer, iDis As Integer)

Dim CATIA As Object '定义CATIA物体变量

On Error Resume Next '在发生错误时,让程序继续执行下一句代码

Set CATIA = GetObject(, "CATIA.Application") '打开运行中的CATIA程序

If Err.Number <> 0 Then '如果发生异常

Set CATIA = CreateObject("CATIA.Application") '则系统启动CATIA程序

CATIA.Visible = True '设置CATIA进程可见

End If

On Error GoTo 0 '在发生异常时,返回异常代码为0

Set documents1 = CATIA.Documents '定义CATIA的文档集合

Set partDocument1 = documents1.Add("Part") '向文档集合添加“Part”类型的文档对象

Set part1 = partDocument1.Part '定义Part文档对象

Set hybridBodies1 = part1.HybridBodies '定义混合图形集合

Set hybridBody1 = hybridBodies1.Item("几何图形集.1") '定义几何图形集对象

Set sketches1 = hybridBody1.HybridSketches '定义草图集合

Set originElements1 = part1.OriginElements '定义初始元素集合

Set reference1 = originElements1.PlaneXY '定义XY平面对象

Set sketch1 = sketches1.Add(reference1) '定义基于XY平面的草图对象

Dim arrayOfVariantOfDouble1(8) '定义数组来表示轴系的坐标,0-2为原点,3-5为轴1终点,6-8为轴2终点
arrayOfVariantOfDouble1(0) = 0
arrayOfVariantOfDouble1(1) = 0
arrayOfVariantOfDouble1(2) = 0
arrayOfVariantOfDouble1(3) = 1
arrayOfVariantOfDouble1(4) = 0
arrayOfVariantOfDouble1(5) = 0
arrayOfVariantOfDouble1(6) = 0
arrayOfVariantOfDouble1(7) = 1
arrayOfVariantOfDouble1(8) = 0
sketch1.SetAbsoluteAxisData arrayOfVariantOfDouble1 '定义草图的轴

part1.InWorkObject = sketch1 '定义工作对象为草图

Set factory2D1 = sketch1.OpenEdition() '打开草图编辑并定义草图2D对象

Set geometricElements1 = sketch1.GeometricElements '定义草图的几何元素

Set axis2D1 = geometricElements1.Item("绝对轴") '定义草图2D绝对轴

Set line2D1 = axis2D1.GetItem("横向") '定义草图2D横轴

line2D1.ReportName = 1 '定义横轴在系统内部参数

Set line2D2 = axis2D1.GetItem("纵向") '定义草图2D纵轴

line2D2.ReportName = 2 '定义纵轴在系统内部参数

X = 0 '定义变量x初始值

For I = 1 To iCount '开始iCount次For循环

Set circle2D1 = factory2D1.CreateClosedCircle(X, 0, 50) '创建一个以(x,0)为中心,半径为50mm的圆

X = X + iDis '设置间距为iDis

Next '进入下一次循环

sketch1.CloseEdition '关闭草图编辑

part1.InWorkObject = hybridBody1 '定义工作对象为几何图形集

part1.Update '更新Part文档对象

Set bodies1 = part1.Bodies '定义几何体集合

Set body1 = bodies1.Item("零件几何体") '定义零件几何体对象

part1.InWorkObject = body1 '定义工作对象为零件几何体

Set shapeFactory1 = part1.ShapeFactory '定义图形命令集合

Set pad1 = shapeFactory1.AddNewPad(sketch1, 20) '创建以草图为截面、拉伸20mm的凸台

part1.Update '更新Part文档对象

End Sub

⑧按F5进行编译,测试OK后,点击菜单栏“文件”->“生成工程1.exe”,导出程序完成。

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利