Você pode importar múltiplos símbolos em uma única operação, usando o comando MAPSYMBOLIMPORTEXPORT ou um script Microsoft VBA.
Quando você define o estilo dos recursos, Ponto, Linha ou Polígono, a opção Carregar permite importar um símbolo. Você também pode usar o comando MAPSYMBOLIMPORTEXPORT, como descrito abaixo.
Para importar símbolos usando uma interface de usuário
Você pode importar blocos nos arquivos DWG como símbolos. Também é possível importar uma biblioteca de símbolos (*.layer), um símbolo de vetor (*.xml), uma definição de hachura (*.pat), um estilo de linha (*.lin), ou imagens raster (*.gif, *.jpg *.bmp *.png) no repositório de símbolos.
Para importar símbolos sem usar uma interface de usuário
CMDDIA 0 FILEDIA 0 _MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES
Para poupar tempo, é possível importar os símbolos para muitos desenhos em uma única operação, usando um script Microsoft Visual Basic for Applications (VBA). O script a seguir é uma amostra. É possível utilizá-lo como um modelo, fazer as modificações necessárias e, a seguir, salvá-lo como um arquivo .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
No script de exemplo, há um módulo "ImportSymbolIntoDWG" com um sub "ImportSymbolIntoAllDWG()". Você precisa modificar a variável "path" para especificar o caminho onde os desenhos estão localizados e modificar a variável "prototypeDWG" para apontar para o arquivo DWG que contém os símbolos que desejar importar.
Para importar símbolos para múltiplos desenhos usando um script VBA
Uma mensagem solicitará que você faça o download do Autodesk AutoCAD VBA Enabler caso ele não esteja instalado ainda.
Se o sistema lhe avisar sobre as macros, clique em Ativar macros.