Esecuzione di operazioni personalizzate

È possibile pianificare operazioni per eseguire qualsiasi applicazione usando le macro o le linee di comando specificate dall'utente.

Per informazioni sui file di macro di SOLIDWORKS, vedere gli argomenti della Guida relativi alle API e alle aggiunte di SOLIDWORKS.
Tutte le operazioni eseguibili da Windows Start > Esegui possono essere eseguite anche come operazioni personalizzate in SOLIDWORKS Task Scheduler. Vedere i file della guida in linea nell'applicazione desiderata da eseguire per informazioni relative agli argomenti sui programmi con linea di comando e le macro in tale applicazione.

Creazione di un'operazione Esegui operazione personalizzata

Per creare un'operazione in Esegui operazione personalizzata:

  1. Fare clic su Esegui operazione personalizzata sulla barra laterale o fare clic su Operazioni > Esegui operazione personalizzata.
  2. Nella finestra, digitare un nuovo titolo per l'operazione o lasciare il nome di default nel Titolo operazione.
  3. In Percorso del programma, digitare il percorso al programma da eseguire o fare clic su Sfoglia per identificarlo.
  4. Se il programma richiede argomenti di programma, digitarli in Argomenti di programma.
    Argomento Programma SOLIDWORKS Definizione argomento di programma Impostato di default
    /b Esegue il software SOLIDWORKS in background
    /m Esegue la macro SOLIDWORKS
  5. Per eseguire una macro o un modello con macro di SOLIDWORKS, digitare il percorso in Percorso file macro o fare clic su Sfoglia per individuarlo.
    Se si specifica un modello con macro di SOLIDWORKS, i nomi e tipi del token vengono visualizzati nelle Nome parametro e colonne Tipo in Parametri operazione.
  6. In ogni riga che visualizza un Nome parametro e Tipo, fare clic nella colonna Stringa parametro e digitare il valore del parametro.
Se si specifica un modello con macro di SOLIDWORKS, creare una copia di backup del file del modello con macro prima di pianificare ed eseguire l'operazione, oppure memorizzare il file del modello con macro in una posizione diversa dalla directory di lavoro dell'operazione. Fare clic su Visualizza > Opzioni > Opzioni dell'operazione per vedere la directory di lavoro dell'operazione.

Creazione di un modello di macro per SOLIDWORKS

Un modello di macro per SOLIDWORKS è una macro di SOLIDWORKS che consente di specificare i valori dei parametri quando viene programmata come operazione personalizzata nel Task Scheduler di SOLIDWORKS. Un modello di macro per SOLIDWORKS è un file di testo che in genere contiene codice Visual Basic, chiamate dall'API di SOLIDWORKS e nomi di token. Quando si programma l'esecuzione di un modello di macro per SOLIDWORKS come operazione personalizzata nel Task Scheduler di SOLIDWORKS, occorre specificare i valori dei parametri da sostituire ai nomi dei token.

I nomi token possono essere stringhe di testo o numeriche. I requisiti sono i seguenti:

Tipo di parametro Formato del nome token
Stringa $$$<token_name>$$$
Numero ###<token_name>###

Il file di un modello di macro di SOLIDWORKS deve avere estensione .swb.

Per creare un modello di macro:

  1. Aprire un file di testo nuovo usando Windows Notepad, Microsoft WordPad o un altro editor di testo.
  2. Copiare e incollare una macro di SOLIDWORKS nel file di testo.
    Per informazioni sui file di macro di SOLIDWORKS, vedere gli argomenti della Guida relativi alle API e alle aggiunte di SOLIDWORKS.
  3. Digitare i nomi token al posto dei parametri i cui valori si vogliono specificare. Ad esempio:
    Codice originale: swApp.SetCurrentWorkingDirectory "c:\temp"
    Codice modificato: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. Salvare il file di testo con l'estensione .swb.
    Creare una copia di backup del file di modello della macro di SOLIDWORKS prima di programmarla ed eseguirla o conservare il file di modello della macro di SOLIDWORKS in un percorso diverso dalla directory di lavoro dell'operazione. Fare clic su Visualizza > Opzioni > Opzioni dell'operazione per vedere la directory di lavoro dell'operazione. Quando un'operazione che utilizza un modello di macro per SOLIDWORKS è in esecuzione, il sistema crea una copia del modello di macro e sostituisce i nomi dei token con i valori di parametro specificati al momento della programmazione dell'operazione. Il sistema salva il file nella directory di lavoro dell'operazione, con lo stesso nome di file di modello di macro di SOLIDWORKS originale. Se il modello di macro di SOLIDWORKS viene conservato nella directory di lavoro dell'operazione, il sistema lo sovrascrive con il nuovo file.
    Il codice seguente è un esempio di modello di macro di SOLIDWORKS. Apre ciascun documento di disegno SOLIDWORKS in una cartella e lo salva come file DXF. Quando si programma un modello di macro come operazione personalizzata nel Task Scheduler di SOLIDWORKS, si specificano i parametri da sostituire ai nomi dei token: $$$TASK_SOURCE_DIR$$$ e $$$TASK_DESTINATION_DIR$$$.
    Dim swApp As Object
    Dim swModel As Object
    Dim ret As Boolean
    Dim openError As Long
    Dim openWarn As Long
    Dim errorFilePath As String
    Dim nErrors As Long
    Dim nWarnings As Long
    Dim destinationPath As String
    Dim sourcePath As String
    Dim modelTitle As String
    
    Sub main()
    
        sourcePath = $$$TASK_SOURCE_DIR$$$
        destinationPath = $$$TASK_DESTINATION_DIR$$$
         
        errorFilePath = destinationPath + "\" + "swTaskScheduler.error"
        ErrorOut "Start logging any errors...", errorFilePath
        
        Set swApp = CreateObject("SldWorks.Application")
        swApp.SetCurrentWorkingDirectory destinationPath
        
        ' Determine type of document
        
        openWarn = 0
        
        Dim fileName As String
        fileName = Dir(sourcePath + "\*.SLDDRW")
        
        Do While fileName <> ""
            modelTitle = ""
            Set swModel = swApp.OpenDoc6(sourcePath + "\" + fileName, 3, 1, "", openError, openWarn)
            
            
            If (openWarn And 2) Then
                ErrorOut "File is read-only.", errorFilePath
                ret = False
            ElseIf (openWarn And 4) Then
                ErrorOut "File is locked by another user.", errorFilePath
                ret = False
            ElseIf (openWarn And 512) Then
                ErrorOut "File is view-only.", errorFilePath
                ret = False
            Else
                ret = True
            End If
            
            If Not swModel Is Nothing Then
                modelTitle = swModel.GetTitle()
                If ret = True Then
                        ' Strip off SOLIDWORKS drawing file extension (.slddrw)
                        ' and add DXF file extension (.dxf)
                        Dim sPathName As String
                        sPathName = swModel.GetPathName
                        sPathName = Left(sPathName, Len(sPathName) - 6)
                        sPathName = sPathName + "dxf"
                        sPathName = Replace(sPathName, sourcePath, destinationPath)
                        ' Save as file as DXF
                        bRet = swModel.SaveAs4(sPathName, swSaveAsCurrentVersion, swSaveAsOptions_Silent, nErrors, nWarnings)
                End If
                
                Set swModel = Nothing
                swApp.CloseDoc modelTitle
            End If
    
            
            fileName = Dir
        Loop
              
        ' Exit the SOLIDWORKS software
        swApp.ExitApp
        Set swApp = Nothing
        
    End Sub
    
    Function ErrorOut(errorString As String, errorFilePath As String)
        Open errorFilePath For Append As #5
        Print #5, errorString
        Close #5
    End Function
    

Programmazione dell'operazione

Per programmare l'operazione:

  1. In Pianificazione operazione, impostare:
    Opzione Descrizione
    Modalità esecuzione Specifica la frequenza di esecuzione dell'operazione. Selezionare Una volta, Giornalmente, Settimanale o Mensile.
    Ora inizio  
    Data inizio  
  2. Fare clic su Fine.
    L'operazione e il relativo titolo, l'ora programmata, la data e lo stato verranno visualizzati nel pannello Operazioni. Lo stato dell'operazione è Programmato.
    Per eseguire un'operazione programmata, il computer deve essere acceso all'ora di inizio prestabilita. Non è necessario che la finestra SOLIDWORKS Task Scheduler sia aperta. Se all'ora prestabilita il computer è spento, l'operazione verrà eseguita all'accensione del computer.

    All'ora programmata, l'operazione ha inizio. Se l'operazione usa un modello di macro di SOLIDWORKS, il sistema crea una copia del modello di macro e sostituisce i nomi del token con i valori di parametro specificati, quindi salva il file nella directory di lavoro dell'operazione, con lo stesso nome di file di modello di macro originale di SOLIDWORKS. I comandi del programma e macro vengono eseguiti.

    Al termine dell'operazione, lo stato diventerà In corso. Al termine dell'operazione, lo stato diventa Completato.