Pour importer des symboles

Vous pouvez importer des symboles en une seule opération à l'aide de la commande MAPSYMBOLIMPORTEXPORT ou d'un script Microsoft VBA.

Lorsque vous appliquez un style à des objets Point, Ligne ou Polygone, l'option Charger vous permet d'importer un symbole. Vous pouvez également utiliser la commande MAPSYMBOLIMPORTEXPORT, comme indiqué ci-dessous.

Pour importer des symboles à l'aide d'une interface utilisateur

  1. Définissez la variable système CMDDIA ou FILEDIA sur 1.
  2. Dans la ligne de commande, entrez MAPSYMBOLIMPORTEXPORT.
  3. Dans le Référentiel de symboles, cliquez sur Importer.
  4. Dans la boîte de dialogue Ouvrir, recherchez et sélectionnez le fichier à importer ou entrez son nom dans le champ Nom du fichier et cliquez sur Ouvrir.

    Vous pouvez importer des blocs dans des fichiers DWG en tant que symboles. Vous pouvez également importer une bibliothèque de symboles (*.layer), un symbole de vecteur (*.xml), une définition de hachures (*.pat), un style de ligne (*.lin) ou des images raster (*.gif, *.jpg, *.bmp, *.png) dans le référentiel de symboles.

  5. Cliquez sur Fermer.

Pour importer des symboles sans avoir recours à l'interface utilisateur

  1. Définissez les variables système CMDDIA et FILEDIA sur 0.
  2. Dans la ligne de commande, entrez MAPSYMBOLIMPORTEXPORT.
  3. En suivant l'invite, cliquez sur Importer.
  4. Entrez le chemin d'accès au fichier de symboles qui contient les symboles à importer.
  5. Choisissez Oui si vous souhaitez remplacer les symboles existants qui portent le même nom, ou sur Non si vous ne souhaitez pas remplacer les symboles portant le même nom.
  6. Veuillez patienter jusqu'à ce que le message "L'importation de symbole est terminée." s'affiche.
Conseil : 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é. Voici un exemple de script. Enregistrez-le dans un fichier portant l'extension .scr.
CMDDIA 0
FILEDIA 0
_MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES

Option de script VBA

Pour gagner du temps, vous pouvez importer les symboles pour de nombreux dessins 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 = "ImportSymbolIntoDWG"
Sub ImportSymbolIntoAllDWG()
    Dim fileSystemObject, fileSystemFolder, file, fileCollection
    Dim collectionOfFiles As New Collection
    
    Dim path As String
    ' Define where the DWG files are located
    path = "C:\Autodesk\DWGFiles"
    
    Dim prototypeDWG As String
    ' Define where the symbol(s) should be imported from
    prototypeDWG = "C:\Autodesk\Prototype\Prototype_GA_modified.dwg"
    
    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
    
    '' use this to request the path
    'path = ThisDrawing.Utility.GetString(1, vbCrLf & "Enter the path of the DWG files to update: ")
    'prototypeDWG = ThisDrawing.Utility.GetString(1, vbCrLf & "Enter the path of the prototype DWG: ")
    
    ThisDrawing.SetVariable "FILEDIA", 0
    ThisDrawing.SetVariable "CMDDIA", 0
    
    Set fileSystemObject = CreateObject("Scripting.FileSystemObject")
    Set fileSystemFolder = fileSystemObject.GetFolder(path)
    Set fileCollection = fileSystemFolder.Files
    
    For Each file In fileCollection
        If UCase(Right(file.Name, 4)) = UCase(".dwg") Then
            collectionOfFiles.Add file.path
        End If
    Next
    
    For Each drawing In collectionOfFiles
        Application.Documents.Open (drawing)
        ThisDrawing.SendCommand "_MAPSYMBOLIMPORTEXPORT" & vbCr & "_IMPORT" & vbCr & prototypeDWG & vbCr & "_YES" & vbCr
        ThisDrawing.Save
        ThisDrawing.Close
    Next drawing
    
End Sub

L'exemple de script comporte un module "ImportSymbolIntoDWG" avec un sous-module "ImportSymbolIntoAllDWG()". Vous devez modifier la variable "path" pour spécifier le chemin où sont stockés les dessins et modifier la variable "prototypeDWG" afin qu'elle pointe vers le fichier DWG qui contient les symboles à importer.

Pour importer des symboles pour plusieurs dessins à l'aide d'un script VBA

  1. Placez dans un seul dossier tous les dessins pour lesquels vous souhaitez mettre à jour les symboles.
  2. Dans la ligne de commande d'jeu d’outils AutoCAD Map 3D, saisissez 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é.

  3. 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 et le nom de fichier, puis cliquez sur Enregistrer.
  4. Fermez la fenêtre de Microsoft VBA.
  5. 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.

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