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
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.