As always, no written guarantees, or user cost.
Dim DmisApp As Object Dim DmisPart As Object Dim DmisCommands As Object Dim DmisCommand As Object Sub Part1 Set DmisApp = CreateObject("PCDLRN.Application") Set DmisPart = DmisApp.ActivePartProgram Set DmisCommands = DmisPart.Commands CommandCount = DmisCommands.Count Set DmisCommand = DmisCommands.Item(CommandCount) DmisCommands.InsertionPointAfter DmisCommand ' recall the STARTUP alignment Set DmisCommand = DmisCommands.Add(RECALL_ALIGN, True) DmisCommand.Marked = True retval = DmisCommand.SetToggleString (1, INTERNAL_EXTERNAL, 0) rtval = DmisCommand.PutText ("STARTUP", REF_ID, 0) ' create a readpoint at current probe position Set DmisCommand = DmisCommands.Add(READ_POINT, True) DmisCommand.Marked = True retval = DmisCommand.PutText ("108.9301", THEO_X, 0) retval = DmisCommand.PutText ("-626.862", THEO_Y, 0) retval = DmisCommand.PutText ("-506.7231", THEO_Z, 0) retval = DmisCommand.PutText ("0", THEO_I, 0) retval = DmisCommand.PutText ("0", THEO_J, 0) retval = DmisCommand.PutText ("1", THEO_K, 0) retval = DmisCommand.PutText ("-25.0031", MEAS_X, 0) retval = DmisCommand.PutText ("499.9939", MEAS_Y, 0) retval = DmisCommand.PutText ("-181.8808", MEAS_Z, 0) retval = DmisCommand.PutText ("0", MEAS_I, 0) retval = DmisCommand.PutText ("0", MEAS_J, 0) retval = DmisCommand.PutText ("1", MEAS_K, 0) retval = DmisCommand.PutText ("TIP_POSITION", ID, 0) retval = DmisCommand.SetToggleString (1, COORD_TYPE, 0) ' find the active probe tip Set DmisCommand = DmisCommands.Add(ASSIGNMENT, True) DmisCommand.Marked = True retval = DmisCommand.PutText ("VAR_ACTIVE_TIP", DEST_EXPR, 0) retval = DmisCommand.PutText ("GETCOMMAND(""SET ACTIVE TIP"",""UP"",1)", SRC_EXPR, 0) ' Set var1 To active tip offsets Set DmisCommand = DmisCommands.Add(ASSIGNMENT, True) DmisCommand.Marked = True retval = DmisCommand.PutText ("VAR1", DEST_EXPR, 0) retval = DmisCommand.PutText ("PROBEDATA(""OFFSET"", VAR_ACTIVE_TIP)", SRC_EXPR, 0) ' Set z_pos to the probe -z offset value Set DmisCommand = DmisCommands.Add(ASSIGNMENT, True) DmisCommand.Marked = True retval = DmisCommand.PutText ("Z_POS", DEST_EXPR, 0) retval = DmisCommand.PutText ("-VAR1.Z", SRC_EXPR, 0) ' move probe up In z-axis at current x,y probe position Set DmisCommand = DmisCommands.Add(MOVE_POINT, True) DmisCommand.Marked = True retval = DmisCommand.SetToggleString (1, NORM_RELEARN, 0) retval = DmisCommand.PutText ("-25.0031", THEO_X, 0) retval = DmisCommand.PutText ("499.9939", THEO_Y, 0) retval = DmisCommand.PutText ("-163.2653", THEO_Z, 0) Result = DmisCommand.SetExpression("Z_POS", THEO_Z, 0) Result = DmisCommand.SetExpression("TIP_POSITION.X", THEO_X, 0) Result = DmisCommand.SetExpression("TIP_POSITION.Y", THEO_Y, 0) ' Set x_pos To "0" Or whatever value you would like To place the probe at Set DmisCommand = DmisCommands.Add(ASSIGNMENT, True) DmisCommand.Marked = True retval = DmisCommand.PutText ("X_POS", DEST_EXPR, 0) retval = DmisCommand.PutText ("0", SRC_EXPR, 0) ' Set y_pos To "0" Or whatever value you would like To place the probe at Set DmisCommand = DmisCommands.Add(ASSIGNMENT, True) DmisCommand.Marked = True retval = DmisCommand.PutText ("Y_POS", DEST_EXPR, 0) retval = DmisCommand.PutText ("0", SRC_EXPR, 0) ' move the probe Set DmisCommand = DmisCommands.Add(MOVE_POINT, True) DmisCommand.Marked = True retval = DmisCommand.SetToggleString (1, NORM_RELEARN, 0) retval = DmisCommand.PutText ("0", THEO_X, 0) retval = DmisCommand.PutText ("0", THEO_Y, 0) retval = DmisCommand.PutText ("-163.2653", THEO_Z, 0) Result = DmisCommand.SetExpression("Z_POS", THEO_Z, 0) Result = DmisCommand.SetExpression("X_POS", THEO_X, 0) Result = DmisCommand.SetExpression("Y_POS", THEO_Y, 0) End Sub Sub Main Part1 DmisPart.RefreshPart End Sub
Hope this helps someone.