Pour mettre à jour un modèle d'affichage avec les symboles importés

Si vous avez utilisé des symboles personnalisés dans vos modèles d'affichage et que vous souhaitez les mettre à jour avec les symboles modifiés, vous pouvez ouvrir le modèle d'affichage, générer le graphique et utiliser MAPSYMBOLIMPORTEXPORT pour importer les symboles modifiés. Pour plus de détails, reportez-vous à la rubrique Pour importer des symboles.

    Pour importer des symboles par lot, sans interface utilisateur

  1. Dans Options globales du modèle métier Générer le graphique, sélectionnez Réutiliser les dessins courants.
  2. Ouvrez le projet auquel s'applique votre modèle d'affichage, puis commencez avec un dessin vide.
  3. Définissez les variables système CMDDIA et FILEDIA sur 0 (zéro).
  4. Dans la ligne de commande, entrez TBDMOPEN.
  5. En suivant la ligne de commande, entrez le chemin d'accès au modèle d'affichage que vous souhaitez modifier.
  6. Entrez la commande TBGENERATEGRAPHIC.
  7. Entrez la commande MAPSYMBOLIMPORTEXPORT.
  8. En suivant l'invite, choisissez Importer.
  9. Entrez le chemin d'accès au fichier de symboles qui contient les symboles à importer.
  10. Choisissez une option d'importation pour spécifier la manière dont vous souhaitez sélectionner les symboles dans l'interface utilisateur.
  11. Terminez l'importation, puis entrez la commande TBDMSAVE.

Vous pouvez éventuellement effectuer les étapes ci-dessus automatiquement à l'aide d'un script. Dans la ligne de commande, chargez le fichier de script avec la commande SCRIPT et patientez jusqu'à ce que le chargement soit terminé. Lorsque vous exécutez plusieurs scripts pour différents modèles d'affichage, veillez à toujours commencer avec un dessin vide, avant d'ouvrir le modèle d'affichage. Dans le cas contraire, vous enregistrez les anciens calques du dessin précédent dans le nouveau modèle d'affichage.

Voici un exemple de script. Vous pouvez l'enregistrer dans un fichier portant l'extension .scr.

CMDDIA 0
FILEDIA 0
_TBDMOPEN [path to your TBDM file]
_TBGENERATEGRAPHIC
_MAPSYMBOLIMPORTEXPORT _IMPORT [choose options that fit your needs]
_TBDMSAVE
Lorsque vous avez terminé avec le script, définissez les variables CMDDIA et FILEDIA sur leurs valeurs d'origine, généralement '1'.

Option de script VBA

Pour gagner du temps, vous pouvez importer les symboles pour de nombreux modèles d'affichage en une seule opération à l'aide d'un script Microsoft VBA (Visual Basic for Applications). Le script suivant est un exemple. Vous pouvez l'utiliser en tant que modèle, apporter les modifications requises, puis l'enregistrer en tant que fichier .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

Dans l'exemple de script comporte un module "ImportSymbolInto_IM_DM" avec un sous-module "ImportSymbolIntoDisplayModel ()". Vous devez adapter le nombre de modèles d'affichage et les chemins d'accès aux fichiers DWT et .tbdm.

Pour importer des symboles pour plusieurs modèles d'affichage à l'aide d'un script VBA

  1. Dans la ligne de commande de Map 3D, tapez VBAIDE pour ouvrir la fenêtre de Microsoft VBA.

    Un message s'affiche pour vous inviter à télécharger Autodesk AutoCAD VBA Enabler si vous ne l'avez pas installé.

  2. Dans la fenêtre de Microsoft VBA, effectuez les opérations suivantes :
    1. Cliquez sur le fichier et choisissez Importer un fichier.
    2. Dans la boîte de dialogue Importer un fichier, recherchez et sélectionnez le fichier .bas qui contient le script.
    3. Cliquez sur Ouvrir.
    4. Dans la fenêtre de Microsoft VBA, cliquez sur Enregistrer.
    5. Dans la boîte de dialogue Enregistrer sous, spécifiez le chemin d'accès et le nom de fichier, puis cliquez sur Enregistrer.
  3. Fermez la fenêtre de Microsoft VBA.
  4. Dans la ligne de commande, entrez VBALOAD pour charger le fichier .dvb que vous avez enregistré précédemment.

    Si le système affiche un avertissement au sujet des macros, cliquez sur Activer les macros.

  5. Dans la ligne de commande, entrez VBARUN et sélectionnez la macro à exécuter.