Se você tiver usado símbolos personalizados em seus modelos de exibição e desejar atualizá-os com os símbolos modificado, poderá abrir o modelo de exibição, gerar o gráfico, e usar MAPSYMBOLIMPORTEXPORT para importar os símbolos modificados. Para obter detalhes, consulte Para importar símbolos.
Para importar símbolos em lote sem uma interface de usuário
Como uma alternativa, você pode automaticamente completar as etapas acima usando um script. Na linha de comando, carregue o arquivo de script com o comando SCRIPT e aguarde até que ele termine. Quando você executar diversos scripts para diferentes modelos de exibição, assegure-se de sempre iniciar com um desenho vazio, antes de abrir o modelo de exibição. Caso contrário, você irá salvar as camadas antigas do desenho anterior no novo modelo de exibição.
O seguinte é um script de amostra. Você pode salvá-lo como um arquivo com uma extensão .scr.
CMDDIA 0 FILEDIA 0 _TBDMOPEN [path to your TBDM file] _TBGENERATEGRAPHIC _MAPSYMBOLIMPORTEXPORT _IMPORT [choose options that fit your needs] _TBDMSAVEQuando terminar com o script, defina as variáveis CMDDIA e FILEDIA de volta para seus valores originais, que normalmente é '1'.
Para poupar tempo, é possível importar os símbolos para muitos modelos de exibição em uma única operação, usando um script Microsoft Visual Basic for Applications (VBA). O seguinte é um script de amostra. É possível utilizá-lo como um modelo, fazer as modificações necessárias e, a seguir, salvá-lo como um arquivo .bas.
Attribute VB_Name = "ImportSymbolInto_IM_DM" Sub ImportSymbolIntoDisplayModel() Dim prototypeDWG, templateDWT As String Dim FileDia, CmdDia As Integer Dim displayModelArray(0 To 2) As String 'TODO: Adapt to the number of Display Models to update ' TODO - Adapt to your settings ' Define the path to the Display Models for updating the symbol(s) ' When adding or removing Display Models, please adapt also the size of displayModelArray ' and the loop over all Display Models displayModelArray(0) = "C:\TEST\DM1\DM1.tbdm" displayModelArray(1) = " C:\TEST\DM2\DM2.tbdm" displayModelArray(2) = " C:\TEST\DM3\DM3.tbdm" ' Attention !!! ' Only use the "Generic Graphic" - Application option: Reuse current drawings ' We need the same drawing for all operations ! ' TODO - Adapt to your settings ' Define where the symbol(s) should be imported from prototypeDWG = "C:\temp\symbol_modified.dwg " ' TODO - Adapt to your settings ' Define the template file to be used when open a new DWG templateDWT = "c:\temp\Template\map2d.dwt" Dim currentSDI As Integer currentSDI = ThisDrawing.GetVariable("SDI") If (currentSDI = 1) Then MsgBox "The functions works only with multiple drawings [SDI=0]" Exit Sub End If FileDia = ThisDrawing.GetVariable("FILEDIA") CmdDia = ThisDrawing.GetVariable("CMDDIA") ThisDrawing.SetVariable "FILEDIA", 0 ThisDrawing.SetVariable "CMDDIA", 0 ' Loop all Display Models For inti = 0 To 2 ' Open an empty drawing Application.Documents.Open (templateDWT) ' Open the Display Model ThisDrawing.SendCommand "_TBDMOPEN" & vbCr & displayModelArray(inti) & vbCr ThisDrawing.SendCommand "_TBGENERATEGRAPHIC" & vbCr ' Import the symbol and apply changes to the layers ThisDrawing.SendCommand "_MAPSYMBOLIMPORTEXPORT" & vbCr & "_IMPORT" & vbCr & prototypeDWG & vbCr & "_YES" & vbCr ' Save the changes of the layers to the Display Model ThisDrawing.SendCommand "_TBDMSAVE" & vbCr ' Do not save the drawing ThisDrawing.Close (False) Next ' Reset the system variables ThisDrawing.SetVariable "FILEDIA", FileDia ThisDrawing.SetVariable "CMDDIA", CmdDia End Sub
No script de exemplo, há um módulo "ImportSymbolInto_IM_DM" com um sub "ImportSymbolIntoDisplayModel()". Você precisa adaptar o número de modelos de exibição e caminhos para os arquivos DWT e .tbdm.
Para importar símbolos para múltiplos modelos de exibição usando um script VBA
Uma mensagem informará para fazer o download do Autodesk AutoCAD VBA Enabler se este não estiver instalado.
Se o sistema lhe avisar sobre as macros, clique em Ativar macros.