Vytvoření šablony makra SOLIDWORKS

Šablona makra SOLIDWORKS je makro SOLIDWORKS, které vám umožní určit hodnoty parametrů, když ji plánujete jako vlastní úlohu v Plánovači úloh SOLIDWORKS. Šablona makra SOLIDWORKS je textový soubor, který obvykle obsahuje programový kódu v jazyce Visual Basic, volání API SOLIDWORKS a zástupné názvy. Když plánujete spuštění šablony makra SOLIDWORKS jako vlastní úlohy v Plánovači úloh SOLIDWORKS, určíte hodnoty parametrů, které mají být použity místo zástupných názvů.

Zástupné názvy mohou být buď textové řetězce, nebo čísla. Formátovány jsou následovně:

Typ parametru Formát zástupného názvu
Řetězec $$$<zástupný_název>$$$
Číslo ###<zástupný_název>###

Šablona makra SOLIDWORKS musí mít za názvem souboru příponu .swb.

Postup pro vytvoření šablony makra:

  1. Pomocí aplikace Poznámkový blok Windows, programu Microsoft WordPad nebo jiného textového editoru otevřete nový textový soubor.
  2. Zkopírujte a vložte do textového souboru makro SOLIDWORKS.
    Další informace o makro souborech SOLIDWORKS najdete v Tématech nápovědy SOLIDWORKS API a doplňkových modulů.
  3. Místo parametrů, jejichž hodnoty chcete zadávat, zadejte zástupné názvy. Příklad:
    Původní kód: swApp.SetCurrentWorkingDirectory "c:\temp"
    Změněný kód: swApp.SetCurrentWorkingDirectory $$$PRACOVNÍ_ADRESÁŘ_ÚLOHY$$$
  4. Uložte textový soubor s příponou .swb.
    Před naplánováním a spuštěním šablony makra SOLIDWORKS vytvořte záložní kopii souboru šablony, anebo uložte šablonu makra SOLIDWORKS mimo pracovní adresář úlohy. Po klepnutí na položky Zobrazit > Možnosti > Možnosti úloh se zobrazí pracovní adresář úlohy. Při spuštění úlohy využívající šablonu makra SOLIDWORKS vytvoří systém kopii šablony makra a nahradí zástupné názvy hodnotami parametrů, které jste určili při plánování úlohy. Systém uloží soubor v pracovním adresáři úlohy pod stejným názvem, jako má původní šablona makra SOLIDWORKS. Pokud je původní šablona makra SOLIDWORKS uložena v pracovním adresáři úlohy, přepíše ji systém novým souborem.
    Následující kód je příkladem šablony makra SOLIDWORKS. Otevře každý výkresový dokument SOLIDWORKS ve složce a uloží ho jako soubor DXF. Když plánujete spuštění šablony makra jako vlastní úlohy v Plánovači úloh SOLIDWORKS, určíte parametry, které mají být použity místo zástupných názvů: $$$TASK_SOURCE_DIR$$$$$$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