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
Générer le graphique, sélectionnez Réutiliser les dessins courants.
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] _TBDMSAVELorsque vous avez terminé avec le script, définissez les variables CMDDIA et FILEDIA sur leurs valeurs d'origine, généralement '1'.
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
Un message s'affiche pour vous inviter à télécharger Autodesk AutoCAD VBA Enabler si vous ne l'avez pas installé.
Si le système affiche un avertissement au sujet des macros, cliquez sur Activer les macros.