VBScript代码如下:
Language="VBSCRIPT"
Sub CATMain()
Set partDocument1 = CATIA.ActiveDocument '定义当前文档集合
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.000000
arrayOfVariantOfDouble1(1) = 0.000000
arrayOfVariantOfDouble1(2) = 0.000000
arrayOfVariantOfDouble1(3) = 1.000000
arrayOfVariantOfDouble1(4) = 0.000000
arrayOfVariantOfDouble1(5) = 0.000000
arrayOfVariantOfDouble1(6) = 0.000000
arrayOfVariantOfDouble1(7) = 1.000000
arrayOfVariantOfDouble1(8) = 0.000000
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 '定义纵轴在系统内部参数
Set circle2D1 = factory2D1.CreateClosedCircle(0.000000, 0.000000, 50.000000) '创建一个以原点为中心,半径为50mm的圆
Set point2D1 = axis2D1.GetItem("原点") '定义绝对轴原点
circle2D1.CenterPoint = point2D1 '定义圆的圆心基于原点
circle2D1.ReportName = 3 '定义圆在系统内部参数
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.000000) '创建以草图为截面、拉伸20mm的凸台
part1.Update '更新Part文档对象
End Sub