SOLIDWORKS Makro Şablonu Oluşturma

SOLIDWORKS makro şablonu, SOLIDWORKS Görev Zamanlayıcı'da özel bir görev olarak zamanlarken parametre değerlerini belirlemenizi sağlayan bir SOLIDWORKS makrosudur. SOLIDWORKS makro şablonu genellikle Visual Basic kodu, SOLIDWORKS API çağrıları ve belirteç adları içeren bir metin dosyasıdır. SOLIDWORKS makro şablonunu SOLIDWORKS Görev Zamanlayıcı'da özel bir görev olarak çalışmak üzere zamanlayarak, belirteç adlarının yerine kullanılmak üzere parametre değerleri belirleyebilirsiniz.

Simge adları, metin dizeleri veya rakamlardan oluşabilir. Aşağıdaki gibi biçimlendirilir:

Parametre Tipi Simge Adı Formatı
Dize $$$<token_name>$$$
Sayı ###<token_name>###

SOLIDWORKS makro şablonunun .swb dosya adı uzantısına sahip olması gerekir.

Makro şablonu oluşturmak için:

  1. Windows Notepad, Microsoft WordPad veya başka bir metin düzenleyici kullanarak yeni bir metin dosyası açın.
  2. SOLIDWORKS makrosunu metin dosyasına kopyalayın ve yapıştırın.
    SOLIDWORKS makro dosyaları hakkında bilgi için bkz. SOLIDWORKS API ve Eklentiler Yardım Konuları.
  3. Değerlerini belirlemek istediğiniz parametrelerin yerine simge adlarını yazın. Örneğin:
    Orijinal kod: swApp.SetCurrentWorkingDirectory "c:\temp"
    Değiştirilmiş kod: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. Metin dosyasını .swb dosya adı uzantısıyla kaydedin.
    SOLIDWORKS makro şablonunu zamanlamadan ve çalıştırmadan önce yedek kopyasını oluşturun veya SOLIDWORKS makro şablon dosyasını görev çalışma dizini dışında bir konumda saklayın. Görev çalışma dizinini görüntülemek için Görünüm > Seçenekler > Görev Seçenekleri öğesine tıklayın. SOLIDWORKS makro şablonu kullanan bir görev çalıştığında, sistem makro şablonun kopyasını oluşturur ve belirteç adlarını görevi zamanlarken belirlediğiniz parametre değerleriyle değiştirir. Sistem dosyayı, orijinal SOLIDWORKS makro şablonuyla aynı adla görev çalışma dizinine kaydeder. Orijinal SOLIDWORKS makro şablonu görev çalışma dizininde saklanıyorsa sistem yeni dosyayı bu şablonun üzerine yazar.
    Aşağıdaki kod, SOLIDWORKS makro şablonu örneğidir. Bu kod, bir SOLIDWORKS teknik resim belgesi açar ve bu belgeyi DXF dosyası olarak kaydeder. Makro şablonu SOLIDWORKS Görev Zamanlayıcı'da özel bir görev olarak zamanlayarak belirteç adlarının yerini alacak parametreleri belirleyebilirsiniz: $$$TASK_WORKING_DIR$$$, $$$TASK_FILE_TYPE$$$, $$$TASK_FILEPATH_NAME$$$ ve $$$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