사용자 정의 작업 실행

지정한 매크로나 명령줄 인수를 사용하여 응용 프로그램을 실행하는 작업 예약을 할 수 있습니다.

SOLIDWORKS 매크로 파일에 대한 내용은 SOLIDWORKS API 및 애드인 도움말을 참조하십시오.
Windows 시작 > 실행에서 실행할 수 있는 작업이라면 SOLIDWORKS 작업 스케줄러에서 사용자 정의 작업으로 실행 가능합니다. 응용 프로그램의 프로그램 명령줄 인수와 매크로에 관한 정보는 실행하고자 하는 해당 응용 프로그램의 도움말 파일을 참고하십시오.

사용자 정의 작업 실행 시 작업 작성

사용자정의 작업 실행에서 작업 작성 방법

  1. 사이드 바에서 사용자 정의 작업 실행 을 클릭하거나, 작업 > 사용자 정의 작업 실행을 클릭합니다.
  2. 대화 상자에서 작업 제목에 새 작업 이름을 입력합니다.
  3. 프로그램 경로에서 실행하고자 하는 프로그램의 경로를 입력하거나 찾아보기를 클릭해서 찾습니다.
  4. 프로그램에 프로그램 인수가 필요하면 해당 인수를 프로그램 인수에 입력합니다.
    SOLIDWORKS 프로그램 인수 프로그램 인수 정의 기본으로 설정
    /b 백그라운드에서 SOLIDWORKS 소프트웨어 실행
    /m SOLIDWORKS 매크로 실행
  5. 매크로나 SOLIDWORKS 매크로 템플릿을 실행하려면 SolidWorks 매크로 템플릿에 경로를 입력하거나 찾아보기을(를) 클릭해서 찾습니다.
    SOLIDWORKS 매크로 템플릿을 지정하면 유형작업 매개변수매개변수 이름 열에 토큰 이름과 유형이 표시됩니다.
  6. 매개변수 이름유형이 표시되는 모든 열에서 매개변수 문자열 열 안을 클릭하고 파라미터 값을 입력합니다.
SOLIDWORKS 매크로 템플릿을 지정하면, 작업을 예약하거나 실행하기 전에 매크로 템플릿 파일의 백업본을 만들거나 작업 중인 디렉터리와 다른 위치에 매크로 템플릿 파일을 저장합니다. 보기 > 옵션 > 작업 옵션을(를) 클릭하여 작업 중인 디렉터리를 확인할 수 있습니다.

SOLIDWORKS 매크로 템플릿 작성

SOLIDWORKS 매크로 템플릿은 SOLIDWORKS 작업 스케줄러에서 이를 사용자 정의 작업으로 예약할 때 매개변수 값을 지정할 수 있는 SOLIDWORKS 매크로입니다. SOLIDWORKS 매크로 템플릿은 보통 Visual Basic 코드, SOLIDWORKS API 호출, 토큰 이름이 포함된 텍스트 파일입니다. SOLIDWORKS 작업 스케줄러에서 사용자 정의 작업으로 실행할 SOLIDWORKS 매크로 템플릿을 예약할 때 토큰 이름을 대체할 파라미터 값을 지정합니다.

토큰 이름에는 텍스트 문자열이나 숫자를 사용할 수 있습니다. 형식은 다음과 같습니다.

매개변수 유형 토큰 이름 형식
문자열 $$$<토큰_이름>$$$
###<토큰_이름>###

SOLIDWORKS 매크로 템플릿 파일의 확장명은 .swb입니다.

매크로 템플릿 작성 방법

  1. Windows 메모장, Microsoft 워드패드, 또는 기타 텍스트 편집기를 사용하여 새 텍스트 파일을 엽니다.
  2. SOLIDWORKS 매크로를 텍스트 파일로 복사하여 붙여넣습니다.
    SOLIDWORKS 매크로 파일에 대한 내용은 SOLIDWORKS API 및 애드인 도움말을 참조하십시오.
  3. 값을 지정하려는 매개변수의 적절한 위치에 토큰 이름을 입력합니다. 예:
    원래 코드: swApp.SetCurrentWorkingDirectory "c:\temp"
    수정한 코드: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. 확장명을 .swb로 텍스트 파일을 저장합니다.
    작업을 예약하고 실행하기 전에 SOLIDWORKS 매크로 템플릿 파일의 백업본을 만들거나 SOLIDWORKS 매크로 템플릿 파일을 작업 디렉터리가 아닌 다른 위치에 저장합니다. 보기 > 옵션 > 작업 옵션 을(를) 클릭하여 작업 중인 디렉터리를 확인할 수 있습니다. SOLIDWORKS 매크로 템플릿을 사용하는 작업이 실행될 때 매크로 템플릿의 복사본이 만들어지고 작업을 예약했을 때 지정한 파라미터 값으로 토큰 이름이 대체됩니다. 이 파일은 원래 SOLIDWORKS 매크로 템플릿과 같은 이름으로 작업 디렉터리에 저장됩니다. 원래 SOLIDWORKS 매크로 템플릿이 작업 디렉터리에 저장되어 있을 경우 새 파일이 기존 파일을 덮어씁니다.
    다음 코드는 SOLIDWORKS 매크로 템플릿의 예제입니다. 이 매크로는 폴더에 있는 각 SOLIDWORKS 도면 문서를 열어 DXF 파일로 저장합니다. SOLIDWORKS 작업 스케줄러에서 사용자 정의 작업으로 실행할 SOLIDWORKS 매크로 템플릿을 예약할 때 토큰 이름을 대체할 파라미터 값을 지정합니다. $$$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 작업 스케줄러 창은 열지 않아도 됩니다. 컴퓨터 시각이 예약된 시작 시간과 다르면, 컴퓨터를 시작할 때 작업이 실행됩니다.

    예약한 시작 시간에 작업이 시작됩니다. 작업에 SOLIDWORKS 매크로 템플릿을 사용하는 경우, 시스템이 매크로 템플릿 사본을 작성하고 지정된 파라미터 값으로 토큰 이름을 교체한 다음, 원본 SOLIDWORKS 매크로 템플릿과 같은 파일 이름 아래에 있는 작업 디렉터리 안에 파일을 저장합니다. 프로그램과 매크로 명령이 실행됩니다.

    작업이 완료되면 상태가 진행 중입니다. 예약된 프로그램이 종료되면 상태가 완료로 바뀝니다.