목차 숨기기

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_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 "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 


이 도움말에 대한 피드백 제공

SOLIDWORKS는 도움말 정보의 개선을 위한 고객님의 제안 사항과 의견을 환영합니다. 제안하고자 하는 의견을 아래 양식에 작성하여 도움말 문서 팀에 직접 전달할 수 있습니다. 문서 팀은 제품에 관한 기술적인 지원은 하지 않습니다. 기술 지원에 관한 정보는 여기를 클릭하십시오.

* 필수 입력

 
*전자 메일:  
제목:   도움말에 대한 피드백
페이지:   SOLIDWORKS 매크로 템플릿 작성
*사용자 의견:  
*   개인정보 보호정책을 읽었으며 본 정책에 따라 Dassault Systèmes에서 내 개인 정보를 사용하는 것에

인쇄 항목

인쇄할 콘텐츠 범위 선택:

x

Internet Explorer 7 이전 버전을 사용하고 있습니다. 페이지를 최적화하려면 사용 브라우저를 Internet Explorer 7 이상으로 업그레이드합니다.

 이 메시지를 다시 표시하지 않음
x

웹 도움말 콘텐츠 버전: SOLIDWORKS 2016 SP05

SOLIDWORKS에서 웹 도움말 기능을 비활성화하고 로컬 도움말을 사용하려면, 도움말 > SOLIDWORKS 웹 도움말 사용을 클릭합니다.

웹 도움말 인터페이스나 검색 기능에서 발생한 오류 사항을 보고하려면, 로컬 지원 서비스 담당자에게 문의하십시오. 개별 도움말 항목에 대한 피드백을 제공하려면, 각 도움말 페이지의 "이 단원에 대한 피드백 제공" 링크를 사용하십시오.