hexagon logo

Tracefields and Scripts

Anyone out there know how to retrieve a Tracefield Value from a part program in a script? Can't quite find the right command...
Parents
  • The value returned in the MsgBox was correct, Don. Thanks.

    Sub Main()
    
    Dim objFSO
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    'Declares PC-DMIS As the Active Program/Application
    Dim PCDApp As Object
    Dim Part As Object
    Dim Cmds  As Object
    Dim Cmd As Object
    Dim TCmd As Object
    Dim TCmds As Object
    Set PCDApp = CreateObject("PCDLRN.Application")
    Set Part = PCDApp.ActivePartProgram
    Set Cmds = Part.Commands
    Dim VPART, VDESCRIPTION, VPROGRAMID, VPROGRAMREV As Object
    Dim VSERIALNUMBER As String
    Dim RESULTS As String
    
    Set VPART = Part.GetVariableValue ("VPART")
    Set VDESCRIPTION = Part.GetVariableValue ("VDESCRIPTION")
    Set VPROGRAMID = Part.GetVariableValue ("VPROGRAMID")
    Set VPROGRAMREV = Part.GetVariableValue ("VPROGRAMREV")
    
    
        For Each Cmd In Cmds
              If Cmd.IsTraceField Then
      
              If Cmd.GetText(TRACE_NAME, 0) = "Serial Number" Then
                    VSERIALNUMBER = Cmd.GetText(TRACE_VALUE, 0)
                    
              End If
    
     End If
    
    Next Cmd
    
    strPath = "D:\\CMM_PROGRAMS\\" & VPART.StringValue & "_" & VDESCRIPTION.StringValue & "_" & VPROGRAMID.StringValue & "_" & VPROGRAMREV.StringValue
    strFldrPath = strPath & "\" & "RESULTS\"
    strFldrName = VSERIALNUMBER
    
    strFldr = strFldrPath & StrFlrName
    
    objFolder = objFSO.CreateFolder(strFldr)    [this is line 44]
    
    End Sub


    Only problem now is that an automation error (line 44) with the folder creation command.
Reply
  • The value returned in the MsgBox was correct, Don. Thanks.

    Sub Main()
    
    Dim objFSO
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    'Declares PC-DMIS As the Active Program/Application
    Dim PCDApp As Object
    Dim Part As Object
    Dim Cmds  As Object
    Dim Cmd As Object
    Dim TCmd As Object
    Dim TCmds As Object
    Set PCDApp = CreateObject("PCDLRN.Application")
    Set Part = PCDApp.ActivePartProgram
    Set Cmds = Part.Commands
    Dim VPART, VDESCRIPTION, VPROGRAMID, VPROGRAMREV As Object
    Dim VSERIALNUMBER As String
    Dim RESULTS As String
    
    Set VPART = Part.GetVariableValue ("VPART")
    Set VDESCRIPTION = Part.GetVariableValue ("VDESCRIPTION")
    Set VPROGRAMID = Part.GetVariableValue ("VPROGRAMID")
    Set VPROGRAMREV = Part.GetVariableValue ("VPROGRAMREV")
    
    
        For Each Cmd In Cmds
              If Cmd.IsTraceField Then
      
              If Cmd.GetText(TRACE_NAME, 0) = "Serial Number" Then
                    VSERIALNUMBER = Cmd.GetText(TRACE_VALUE, 0)
                    
              End If
    
     End If
    
    Next Cmd
    
    strPath = "D:\\CMM_PROGRAMS\\" & VPART.StringValue & "_" & VDESCRIPTION.StringValue & "_" & VPROGRAMID.StringValue & "_" & VPROGRAMREV.StringValue
    strFldrPath = strPath & "\" & "RESULTS\"
    strFldrName = VSERIALNUMBER
    
    strFldr = strFldrPath & StrFlrName
    
    objFolder = objFSO.CreateFolder(strFldr)    [this is line 44]
    
    End Sub


    Only problem now is that an automation error (line 44) with the folder creation command.
Children
No Data