Para actualizar un modelo de visualización con los símbolos importados

Si ha utilizado símbolos personalizados en los modelos de visualización y desea actualizarlos con los símbolos modificados, puede abrir el modelo de visualización, generar el gráfico y utilizar MAPSYMBOLIMPORTEXPORT para importar los símbolos modificados. Para obtener más información, consulte Para importar símbolos.

    Para importar símbolos en lote sin utilizar una interfaz de usuario

  1. En Opciones del modelo de sector global Generar gráfico, seleccione Reutilizar dibujos actuales.
  2. Abra el proyecto al que se aplique el modelo de visualización y empiece por un dibujo vacío.
  3. Establezca en 0 (cero) las variables de sistema CMDDIA y FILEDIA.
  4. En la solicitud de comandos, escriba TBDMOPEN.
  5. Después de la solicitud, introduzca la ruta del modelo de visualización que desea modificar.
  6. Escriba el comando TBGENERATEGRAPHIC.
  7. Escriba el comando MAPSYMBOLIMPORTEXPORT.
  8. Cuando se le solicite, elija Importar.
  9. Indique la ruta del archivo de símbolos que contiene los símbolos que desea importar.
  10. Elija una opción de importación para especificar la forma en que desea seleccionar los símbolos en la interfaz de usuario.
  11. Finalice la importación e introduzca el comando TBDMSAVE.

Como alternativa, puede completar automáticamente los pasos anteriores por medio de un script. En la línea de comando, cargue el script con el comando SCRIPT y espere hasta que haya finalizado. Si ejecuta varios scripts para diferentes modelos de visualización, asegúrese de que siempre empieza con un dibujo vacío antes de abrir el modelo de visualización. De lo contrario, guardará capas anteriores del dibujo precedente en el nuevo modelo de visualización.

El siguiente es un script de ejemplo. Puede guardarlo como un archivo con la extensión .scr.

CMDDIA 0
FILEDIA 0
_TBDMOPEN [path to your TBDM file]
_TBGENERATEGRAPHIC
_MAPSYMBOLIMPORTEXPORT _IMPORT [choose options that fit your needs]
_TBDMSAVE
Cuando termine de utilizar el script, establezca las variables CMDDIA y FILEDIA en su valor original, que suele ser 1.

Opción de script VBA

Para ahorrar tiempo, puede importar los símbolos de varios modelos de visualización en una sola operación mediante un script VBA (Microsoft Visual Basic for Applications). El script siguiente es un ejemplo. Lo puede utilizar como plantilla; realice las modificaciones necesarias y, a continuación, guárdelo como un archivo .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

En el script de ejemplo, existe un módulo "ImportSymbolInto_IM_DM" con un subelemento "ImportSymbolIntoDisplayModel ()". Debe adaptar el número de modelos de visualización y rutas a los archivos DWT y .tbdm.

Para importar símbolos de varios modelos de visualización mediante un script VBA

  1. En la línea de comandos de Map 3D, escriba VBAIDE para abrir la ventana Microsoft VBA.

    Un mensaje le indicará que descargue el activador de VBA de Autodesk AutoCAD si no lo ha instalado.

  2. En la ventana Microsoft VBA, realice las siguientes acciones:
    1. Seleccione el archivo y pulse Importar archivo.
    2. En el cuadro de diálogo Importar archivo, busque y seleccione el archivo .bas que contiene el script.
    3. Haga clic en Abrir.
    4. En la ventana Microsoft VBA, haga clic en Guardar.
    5. En el cuadro de diálogo Guardar como, especifique la ruta y el nombre de archivo y, a continuación, haga clic en Guardar.
  3. Cierre la ventana Microsoft VBA.
  4. En la línea de comando, escriba VBACARGAR para cargar el archivo .dvb guardado anteriormente.

    Si el sistema muestra un mensaje de advertencia acerca de las macros, haga clic en Activar macros.

  5. En la línea de comando, escriba VBAEJECUTAR y seleccione la macro que desee ejecutar.