Запуск задачи пользователя

Можно запланировать задачи для запуска любого приложения с помощью макросов или указанных аргументов командной строки.

Информацию о файлах макросов SOLIDWORKS см. в разделах справки по SOLIDWORKS API и подключаемым модулям.
Все программы, запускаемые из меню Windows Пуск > Выполнить , можно запустить в качестве пользовательской задачи в программе SOLIDWORKS диспетчер задач. Информацию об аргументах командной строки программы и макросах приложения см. в файлах справки приложения, которое требуется запустить.

Создание задачи в списке "Запустить задачу пользователя"

Чтобы создать задачу в списке Запустить задачу пользователя:

  1. Выберите Запустить задачу пользователя на боковой панели или выберите Задачи > Запустить задачу пользователя.
  2. В диалоговом окне введите новое название для задачи или оставьте значение по умолчанию в поле Название задачи.
  3. В поле Путь к программе введите путь к программе, которую требуется запустить, или нажмите кнопку Обзор, чтобы найти ее.
  4. Если для программы требуются какие-либо аргументы, введите их в разделе Аргументы программы.
    Аргументы программы SOLIDWORKS Определение аргумента программы Настройка по умолчанию
    /b Запуск программы SOLIDWORKS в фоновом режиме да
    /m Запускает макрос SOLIDWORKS да
  5. Чтобы запустить макрос или шаблон макроса SOLIDWORKS, введите путь в поле Путь к файлу макроса или нажмите кнопку Обзор, чтобы найти его.
    Если задать шаблон макроса SOLIDWORKS, названия знаков и их типы появятся в столбцах Имя параметра и Тип в Параметры задачи.
  6. В каждой строке, в которой отображается Имя параметра и Тип, нажмите столбец Строка параметра и введите значение параметра.
При задании шаблона макроса SOLIDWORKS создайте резервную копию файла шаблона макроса перед планированием и запуском задачи или сохраните файл шаблона макроса в папке, отличной от рабочего каталога задачи. Выберите Вид > Параметры > Параметры задачи, чтобы просмотреть рабочий каталог задачи.

Создание шаблона макроса SOLIDWORKS

Шаблон макроса SOLIDWORKS – это макрос SOLIDWORKS, позволяющий указать значения параметра при его планировании в качестве пользовательской задачи в программе SOLIDWORKS Task Scheduler. Шаблон макроса SOLIDWORKS — это текстовый файл, который обычно содержит код Visual Basic, вызовы SOLIDWORKS API, а также названия знаков. При планировании шаблона макроса SOLIDWORKS для запуска в качестве пользовательской задачи в программе SOLIDWORKS Task Scheduler указываются значения параметров для замены на названия знаков.

Названия знаков могут быть как текстовыми строками, так и числовыми значениями. Они имеют следующий формат:

Тип параметра Формат названия знака
Строка $$$<имя_знака>$$$
Номер ###<имя_знака>###

Шаблон макроса SOLIDWORKS должен иметь расширение имени файла .swb.

Чтобы создать шаблон макроса:

  1. Откройте новый текстовый файл с помощью Блокнота Windows, Microsoft WordPad или другого текстового редактора.
  2. Скопируйте и вставьте макрос SOLIDWORKS в текстовый файл.
    Информацию о файлах макросов SOLIDWORKS см. в разделах справки по API и подключаемым модулям SOLIDWORKS.
  3. Введите название знаков вместо тех параметров, значения которых необходимо указать. Например:
    Исходный код: swApp.SetCurrentWorkingDirectory "c:\temp"
    Измененный код: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. Сохраните текстовый файл с расширением имени файла .swb.
    Создайте резервную копию файла шаблона макроса SOLIDWORKS перед планированием и запуском или сохраните файл шаблона макроса SOLIDWORKS в папке, отличной от рабочего каталога задачи. Выберите Вид > Параметры > Параметры задачи , чтобы просмотреть рабочий каталог задачи. Если задача запускается с использованием шаблона макроса SOLIDWORKS, система создаст копию шаблона макроса и заменит названия знаков значениями параметров, указанными при планировании задачи. Система сохранит файл в рабочем каталоге задачи с таким же именем файла, что и у исходного шаблона макроса SOLIDWORKS. Если исходный шаблон макроса SOLIDWORKS сохраняется в рабочем каталоге задачи, система перезапишет его новым файлом.
    Ниже приводится пример кода шаблона макроса SOLIDWORKS. Он открывает каждый документ чертежа SOLIDWORKS в папке и сохраняет его в файл DXF. При планировании шаблона макроса для запуска в качестве пользовательской задачи в программе SOLIDWORKS Task Scheduler указываются параметры для замены на названия знаков. $$$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
    

Планирование задачи

Чтобы запланировать задачу:

  1. В разделе Планирование задач задайте:
    Опция Описание
    Режим запуска Указывает периодичность выполнения задачи. Выберите один из параметров: Один раз, Ежедневно, Еженедельно или Ежемесячно.
    Время начала  
    Дата начала  
  2. Нажмите кнопку Готово.
    Задача и ее название, запланированное время, запланированная дата и состояние отображаются на панели Задачи. Статус задачи – Запланировано.
    Чтобы запустить запланированную задачу, компьютер должен быть включен в запланированное время. Окно программы SOLIDWORKS Task Scheduler открывать не нужно. Если компьютер выключен в запланированное время начала, задача запустится при включении компьютера.

    Задача запустится в запланированное время начала. Если в задаче используется шаблон макроса SOLIDWORKS, система создаст копию шаблона макроса и заменит названия знаков указанными значениями параметров, затем сохранит файл в рабочем каталоге задачи с таким же именем файла, что и у исходного шаблона макроса SOLIDWORKS. Выполняются программа и макрокоманды.

    После завершения задачи отображается состояние В процессе выполнения. При выходе из запланированной программы состояние изменится на Завершено.