Language="VBSCRIPT" '******************************************************************************************* '* '* Procedure that allow the user to insert a PP Instruction at a specified location '* '* Open CATProcess and load Machining workbench '* Execute the VB Script Macro '* Enter the name of the activity before which you want to insert the PP Instruction '* If no Name is defined the PP Instruction will be added at the end of the Program '* '******************************************************************************************* Sub CATMain() Dim MfgDoc1 As Document Set MfgDoc1 = CATIA.ActiveDocument '*** Retrieve current Process Dim ActivityRef As AnyObject Set ActivityRef = MfgDoc1.GetItem("Process") '*** Retrieve current Set Up Dim Setup1 As ManufacturingSetup If (ActivityRef.IsSubTypeOf("PhysicalActivity")) Then Set childs = ActivityRef.ChildrenActivities quantity = childs.Count if quantity <= 0 then Exit Sub End if NumberOfPO = 0 For I=1 To quantity Set child = childs.Item(I) If (child.IsSubTypeOf("ManufacturingSetup")) Then Set Setup1 = child NumberOfPO = NumberOfPO +1 Exit For End If Next End If if NumberOfPO <= 0 then Exit Sub End if '*** Retrieve current Program Set ProgramList = Setup1.Programs Dim Program1 As ManufacturingProgram Set Program1 = ProgramList.GetElement(1) '*** Box for user-defined referenced activity Dim DefName As String Dim RefActivityName As String RefActivityName = InputBox("Add PP Instruction before activity", "Set name", DefName) '*** Create PP Instruction Dim PPInstr As ManufacturingActivity Set PPInstr = Program1.AddPPInstruction ("PPRINT/MY PP WORD") '*** Move to the correct Position Dim ActCur As ManufacturingActivity Dim ActName As String Set ActInProg = Program1.ChildrenActivities quantity = ActInProg.Count For I=1 To quantity set ActCur = ActInProg.Item(I) If (ActCur.IsSubTypeOf("ManufacturingActivity")) Then ActName = ActCur.Name if ActName = RefActivityName then Program1.MoveOperation ActCur,PPInstr End if End If Next End Sub