与创建1个圆柱体的区别是,在编辑草图过程增加了For循环,并通过变量x来控制每个循环圆心的位置。
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 '定义纵轴在系统内部参数
x = 0 '定义变量x初始值
For I = 1 To 5 '开始5次For循环
Set circle2D1 = factory2D1.CreateClosedCircle(x, 0.000000, 50) '创建一个以(x,0)为中心,半径为50mm的圆
x = x + 125 '设置间距125mm
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.000000) '创建以草图为截面、拉伸20mm的凸台
part1.Update '更新Part文档对象
End Sub