hexagon logo

Re-Run previous points as User Defined Command

Here is a button for running multiple points more than once. It triggers a prompt and the operator can option to either run the previous points again or move on with the program

Thanks Kirbster269 for doing the leg work getting this thing running! Any updates will be posted below as they're created. Anyone else think of any other ways to polish this up?

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

  Set DmisCommand = DmisCommands.Add(LABEL_CMD, TRUE)
    DmisCommand.Marked = TRUE
  ' Set Id  = YES
    retval = DmisCommand.PutText ("YES", ID, 0)

  Set DmisCommand = DmisCommands.Add(SET_COMMENT, TRUE)
    DmisCommand.Marked = TRUE
  ' Set Id  = C1
    retval = DmisCommand.PutText ("C1", ID, 0)
  ' Set Comment Type  = YESNO
    retval = DmisCommand.SetToggleString (5, COMMENT_TYPE, 0)
  ' Set Comment Item 1 = RERUN PREVIOUS POINTS?
    retval = DmisCommand.PutText ("RERUN PREVIOUS POINTS?", COMMENT_FIELD, 1)
  ' Set Report  = NO
    retval = DmisCommand.SetToggleString (1, OUTPUT_TYPE, 0)
  ' Set Full Screen  = NO
    retval = DmisCommand.SetToggleString (1, DISPLAY_TYPE, 0)
  ' Set Auto-Continue  = NO
    retval = DmisCommand.PutText ("NO", TIME_ARG, 0)
  ' Set Time Delay  = 0
    retval = DmisCommand.PutText ("0", T_VALUE, 0)

  Set DmisCommand = DmisCommands.Add(IF_GOTO_COMMAND, TRUE)
    DmisCommand.Marked = TRUE
  ' Set Mode  = 0
    retval = DmisCommand.PutText ("0", MODE_TYPE, 0)
  ' Set Label  = YES
    retval = DmisCommand.PutText ("YES", LABEL_ID, 0)
  ' Set Source Expression  = 0
    retval = DmisCommand.PutText ("0", SRC_EXPR, 0)
  Result = DmisCommand.SetExpression("C1.INPUT==""YES""", SRC_EXPR, 0)

  Set DmisCommand = DmisCommands.Add(IF_GOTO_COMMAND, TRUE)
    DmisCommand.Marked = TRUE
  ' Set Mode  = 0
    retval = DmisCommand.PutText ("0", MODE_TYPE, 0)
  ' Set Label  = NO
    retval = DmisCommand.PutText ("NO", LABEL_ID, 0)
  ' Set Source Expression  = 0
    retval = DmisCommand.PutText ("0", SRC_EXPR, 0)

  Set DmisCommand = DmisCommands.Add(LABEL_CMD, TRUE)
    DmisCommand.Marked = TRUE
  ' Set Id  = NO
    retval = DmisCommand.PutText ("NO", ID, 0)

End Sub

Sub Main

  Part1

  DmisPart.RefreshPart
End Sub