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 dokument výkresu SOLIDWORKS 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_WORKING_DIR$$$, $$$TASK_FILE_TYPE$$$, $$$TASK_FILEPATH_NAME$$$$$$TASK_FILE_NAME$$$.
    Dim swApp As Object Dim swModel As Object Dim ret As Boolean Dim dummyRet As Long Dim longstatus As Long Dim errorFilePath As String Dim nErrors As Long Dim nWarnings as Long Sub main() errorFilePath = $$$TASK_WORKING_DIR$$$ + "\" + "swTaskScheduler.error" ErrorOut "Spuštění protokolování veškerých chyb...", errorFilePath Set swApp = CreateObject("SldWorks.Application") swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$ ' Determine type of document longstatus = 0 ' $$$TASK_FILE_TYPE$$$ is case-sensitive! Musíte zadat SW_DRAWING_TYPE nebo SW_DRAWING_TYPE_OLD If ($$$TASK_FILE_TYPE$$$ = "SW_DRAWING_TYPE" OR $$$TASK_FILE_TYPE$$$ = "SW_DRAWING_TYPE_OLD") Then Set swModel = swApp.OpenDoc6 ($$$TASK_FILE_PATHNAME$$$, 3, 1, "", dummyRet, longstatus) ErrorOut "Soubor je dokument výkresu.", errorFilePath Else ErrorOut "Soubor není dokument výkresu.", errorFilePath End If ret = True ' If document is read-only, locked, or view-only, then log an error If (longstatus And 2) Then ErrorOut "Soubor je jen pro čtení.", errorFilePath ret = False ElseIf (longstatus And 4) Then ErrorOut "Soubor je zamknutý jiným uživatelem.", errorFilePath ret = False ElseIf (longstatus And 512) Then ErrorOut "Soubor je jen pro prohlížení.", errorFilePath ret = False End If ' Close the document if read-only, locked, or view-only If (ret = False) Then Set swModel = Nothing swApp.CloseDoc $$$TASK_FILE_NAME$$$ End If Set swModel = swApp.ActivateDoc ($$$TASK_FILE_NAME$$$) If Not swModel Is Nothing Then ' If document is a drawing, then... If ($$$TASK_FILE_TYPE$$$ = "SW_DRAWING_TYPE" OR $$$TASK_FILE_TYPE$$$ = "SW_DRAWING_TYPE_OLD") Then ' Strip off SOLIDWORKS drawing file extension (.slddrw) ' and add DXF file extension (.dxf) sPathName = swModel.GetPathName sPathName = Left(sPathName, Len(sPathName) – 6) sPathName = sPathName + "dxf" ' Save as file as DXF bRet = swModel.SaveAs4(sPathName, swSaveAsCurrentVersion, swSaveAsOptions_Silent, nErrors, nWarnings) End If Else ErrorOut "Document was not or could not be opened.", errorFilePath End If ' 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