Erstellen einer SOLIDWORKS Makrovorlage

Eine SOLIDWORKS Makrovorlage ist ein SOLIDWORKS Makro, mit dem Sie Parameterwerte festlegen können, wenn Sie damit einen benutzerdefinierten Task im SOLIDWORKS Taskplaner planen. Eine SOLIDWORKS Makrovorlage ist eine Textdatei, die in der Regel Visual Basic Code, SOLIDWORKS API Aufrufe und Token-Namen enthält. Wenn Sie eine SOLIDWORKS Makrovorlage für einen benutzerdefinierten Task im SOLIDWORKS Taskplaner verwenden, müssen Sie die Parameterwerte festlegen, die die Token-Namen ersetzen werden.

Token-Namen können entweder Zeichenketten oder numerische Angaben sein. Sie weisen folgendes Format aus:

Parametertyp Format des Token-Namens
Zeichenkette $$$<Token_Name>$$$
Anzahl ###<Token_Name>###

Eine SOLIDWORKS Makrovorlage muss über die Dateinamenserweiterung .swb verfügen.

Erstellen einer Makrovorlage:

  1. Öffnen Sie eine neue Textdatei in Windows Editor, Microsoft WordPad oder einem anderen Texteditor.
  2. Kopieren Sie den SOLIDWORKS Makroinhalt in die Textdatei.
    Weitere Informationen über SOLIDWORKS Makrodateien finden Sie in den SOLIDWORKS API- und Zusatzanwendungs-Hilfethemen (SOLIDWORKS API and Add-Ins Help Topics).
  3. Ersetzen Sie die Parameter, deren Werte Sie festlegen möchten, mit den Token-Namen. Beispiel:
    Originalcode: swApp.SetCurrentWorkingDirectory "c:\temp"
    Geänderter Code: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. Speichern Sie die Textdatei mit der Dateinamenerweiterung .swb.
    Erstellen Sie eine Sicherungskopie der SOLIDWORKS Makrovorlage, bevor Sie den Task planen und ausführen oder speichern Sie die SOLIDWORKS Makrovorlage in einem anderen Verzeichnis als den Taskarbeitsordner. Um den Pfad des Taskarbeitsordners einzusehen, klicken Sie auf Ansicht > Optionen > Taskoptionen . Wenn Sie einen Task mit der SOLIDWORKS Makrovorlage ausführen, wird vom System eine Kopie der Makrovorlage erstellt und die Token-Namen werden mit den festgelegten Parameterwerten ersetzt, die festgelegt wurden, als der Task geplant wurde. Anschließend wird die Datei im Taskarbeitsordner unter dem gleichen Dateinamen wie die SOLIDWORKS Originalmakrovorlage gespeichert. Wenn die SOLIDWORKS Originalmakrovorlage im selben Ordner wie der Taskarbeitsordner gespeichert wird, wird diese mit der neuen Datei überschrieben.
    Der folgende Code ist ein Beispiel für eine SOLIDWORKS Makrovorlage. Damit wird ein SOLIDWORKS Zeichendokument geöffnet und als eine DXF-Datei gespeichert. Wenn Sie die SOLIDWORKS Makrovorlage für einen benutzerdefinierten Task im SOLIDWORKS Taskplaner verwenden, müssen Sie die Parameterwerte festlegen, die die Token-Namen ersetzen werden: $$$TASK_WORKING_DIR$$$, $$$TASK_FILE_TYPE$$$, $$$TASK_FILEPATH_NAME$$$ und $$$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 "Start logging any errors...", errorFilePath Set swApp = CreateObject("SldWorks.Application") swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$ ' Determine type of document longstatus = 0 ' $$$TASK_FILE_TYPE$$$ is case-sensitive! You must enter SW_DRAWING_TYPE or 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 "File is a drawing document.", errorFilePath Else ErrorOut "File is not a drawing document.", errorFilePath End If ret = True ' If document is read-only, locked, or view-only, then log an error If (longstatus And 2) Then ErrorOut "File is read-only.", errorFilePath ret = False ElseIf (longstatus And 4) Then ErrorOut "File is locked by another user.", errorFilePath ret = False ElseIf (longstatus And 512) Then ErrorOut "File is view-only.", 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