A MAPSYMBOLIMPORTEXPORT vagy egy Microsoft VBA-parancsfájl segítségével egyetlen művelettel importálhat több szimbólumot.
A pont-, vonal- vagy poligonjellemzők stílusának megadásakor a Betöltés opció lehetővé teszi egy szimbólum importálását. A MAPSYMBOLIMPORTEXPORT parancsot is használhatja az alábbiakban leírtak szerint.
Szimbólumok importálása felhasználói felület segítségével
A DWG-fájlokban található blokkok szimbólumként importálhatók. A szimbólum adattárba szimbólumtárat (*.layer), vektorszimbólumot (*.xml), sraffozási meghatározást (*.pat), vonalstílust (*.lin) vagy raszterképeket (*.gif, *.jpg, *.bmp, *.png) is importálhat.
Szimbólumok importálása felhasználói felület használata nélkül
CMDDIA 0 FILEDIA 0 _MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES
Hogy időt takarítson meg, a szimbólumokat egyetlen művelettel több rajzba is importálhatja egy Microsoft Visual Basic for Applications (VBA) parancsfájl használatával. Az alábbiakban egy minta parancsfájl látható. Ezt használhatja sablonként, végrehajthatja a szükséges módosításokat, majd mentheti .bas fájlként.
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
A példa parancsfájlban található egy „ImportSymbolIntoDWG” nevű modul egy „ImportSymbolIntoAllDWG()” nevű részmodullal. Módosítania kell a „path” változó értékét a rajzok helyére mutató elérési út megadásához, illetve módosítania kell a „prototypeDWG” változót, hogy arra a DWG-fájlra mutasson, amely az importálni kívánt szimbólumokat tartalmazza.
Szimbólumok importálása több rajzba egy VBA-parancsfájl használatával
Ha még nem telepítette az Autodesk AutoCAD VBA Enabler modult, megjelenik egy üzenet, hogy töltse le azt.
Ha a rendszer figyelmeztetést jelenít meg a makrókkal kapcsolatban, kattintson a Makrók engedélyezése lehetőségre.