Ocultar Sumário

Criar template de macros do SOLIDWORKS

O template de macros do SOLIDWORKS é uma macro do SOLIDWORKS que permite especificar valores de parâmetro quando você o programa como uma tarefa personalizada no Agendador de Tarefas do SOLIDWORKS. O template de macro do SOLIDWORKS é um arquivo de texto que em geral contém código do Visual Basic, chamadas de API do SOLIDWORKS e nomes de token. Quando você programa um template de macro do SOLIDWORKS para execução como uma tarefa personalizada no Agendador de Tarefas do SOLIDWORKS, especifica os valores de parâmetro pra substituir os nomes de token.

Os nomes de token podem ser strings de texto ou numéricos. Eles são formatados da seguinte maneira:

Tipo de parâmetro Formato do nome de token
String $$$<token_name>$$$
Número ###<token_name>###

Um template de macro do SOLIDWORKS precisa ter a extensão de nome de arquivo ..

Para criar um template de macro:

  1. Abra um novo arquivo de texto usando o Windows Notepad, Microsoft WordPad ou outro editor de texto.
  2. Copie e cole um macro do SOLIDWORKS no arquivo de texto.
    Consulte os Tópicos da Ajuda de API do SOLIDWORKS e Suplementos para obter informações sobre os arquivos de macro do SOLIDWORKS.
  3. Digites os nomes de token no lugar dos parâmetros cujos valores você quer especificar. Por exemplo:
    Código original: swApp.SetCurrentWorkingDirectory "c:\temp"
    Código modificado: swApp.SetCurrentWorkingDirectory $$$TASK_WORKING_DIR$$$
  4. Salve o arquivo de texto com um nome de arquivo com a extensão .swb.
    Crie uma cópia backup do arquivo de template de macro do SOLIDWORKS antes de agendá-lo e executá-lo, ou armazene o arquivo de macro do SOLIDWORKS em um local que não seja no diretório de trabalho da tarefa. Clique em Exibir > Opções > Opções de tarefa para ver o diretório de trabalho de tarefas. Quando uma tarefa usando um template de macro do SOLIDWORKS é executada, o sistema cria uma cópia do template e substitui os nomes de token com os valores do parâmetro que você especificou quando programou a tarefa. O sistema salva o arquivo no diretório de trabalho de tarefas com o mesmo nome de arquivo do template de macro original do SOLIDWORKS. Se o template de macro original do SOLIDWORKS estiver armazenado no diretório de trabalho de tarefas, o sistema o substitui com o novo arquivo.
    O código a seguir é um exemplo de um template de macro do SOLIDWORKS. Ele abre um documento de desenho do SOLIDWORKS e o salva como um arquivo DXF. Quando você programa o template de macro como uma tarefa personalizada no Agendador de Tarefas do SOLIDWORKS, você especifica os parâmetros para substituir os nomes de token: $$$TASK_WORKING_DIR$$$, $$$TASK_FILE_TYPE$$$, $$$TASK_FILEPATH_NAME$$$ e $$$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 


Envie-nos seus comentários sobre este tópico

O SOLIDWORKS agradece seu feedback sobre a apresentação, precisão e nível de detalhe da documentação. Use o formulário abaixo para enviar comentários e sugestões sobre este tópico diretamente à equipe responsável pela documentação. Esta equipe não responde a perguntas de suporte técnico. Clique aqui para ver informações específicas do suporte técnico.

* Obrigatório

 
*E-mail:  
Assunto:   Comentários sobre os tópicos da Ajuda
Página:   Criar template de macros do SOLIDWORKS
*Comentário:  
*   Eu reconheço que li e aceito, por meio deste, a política de privacidade segundo a qual meus Dados pessoais serão usados pela Dassault Systèmes

Imprimir tópico

Selecione o escopo do conteúdo a imprimir:

x

Foi detectada uma versão de navegador anterior ao Internet Explorer 7. Para uma exibição otimizada, sugerimos a atualização para o Internet Explorer 7 ou posterior.

 Não mostrar essa mensagem novamente
x

Versão do conteúdo de ajuda on-line: SOLIDWORKS 2016 SP05

Para desativar a Ajuda online no SOLIDWORKS e usar a Ajuda local, clique em Ajuda > Usar Ajuda on-line do SOLIDWORKS.

Para relatar problemas encontrados na interface e na pesquisa da Ajuda on-line, consulte seu representante de suporte local. Para fornecer comentários sobre tópicos individuais da Ajuda, use o link “Comentários sobre este tópico” na página do tópico individual.