Importowanie symboli

Wiele symboli można zaimportować w jednej operacji, używając polecenia MAPSYMBOLIMPORTEXPORT lub skryptu Microsoft VBA.

Jeżeli używane są funkcje Punkt, Linia lub Wielobok opcja Wczytaj umożliwia zaimportowanie symboli. Polecenia MAPSYMBOLIMPORTEXPORT można także użyć w sposób opisany poniżej.

Importowanie symboli przy użyciu interfejsu użytkownika

  1. Ustaw zmienną systemową CMDDIA lub FILEDIA na „1”.
  2. W wierszu polecenia wprowadź ciąg MAPSYMBOLIMPORTEXPORT.
  3. W oknie Repozytorium symboli kliknij przycisk Importuj.
  4. W oknie dialogowym Otwórz znajdź plik do zaimportowania i zaznacz go lub wprowadź nazwę pliku w polu Nazwa pliku i kliknij przycisk Otwórz.

    Można importować bloki w plikach DWG jako symbole. Do repozytorium symboli można także zaimportować bibliotekę symboli (*.layer), symbol wektora (*.xml), definicję kreskowania (*.pat), styl linii (*.lin) lub obrazy rastrowe (*.gif, *.jpg *.bmp *.png).

  5. Kliknij przycisk Zamknij.

Importowanie symboli bez użycia interfejsu użytkownika

  1. Ustaw obie zmienne systemowe CMDDIA i FILEDIA na „0”.
  2. W wierszu polecenia wprowadź ciąg MAPSYMBOLIMPORTEXPORT.
  3. Po wyświetleniu monitu wybierz opcję Importuj.
  4. Wprowadź ścieżkę do pliku symbolu zawierającego symbol, który chcesz zaimportować.
  5. Wybierz opcję Tak, jeżeli chcesz zastąpić istniejące symbole, które mają tę samą nazwę lub opcję Nie, jeżeli nie chcesz zastępować symboli o tej samej nazwie.
  6. Poczekaj na wyświetlenie komunikatu „Import symboli zakończony pomyślnie!”.
Wskazówka: Opcjonalnie można automatycznie wykonać powyższe czynności za pomocą skryptu. W wierszu polecenia wczytaj plik skryptu za pomocą polecenia SCRIPT i poczekaj na jego zakończenie. Poniżej podano przykład skryptu. Zapisz go jako plik z rozszerzeniem .scr.
CMDDIA 0
FILEDIA 0
_MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES

Opcja skryptu VBA

Aby oszczędzić czas, można zaimportować symbole wielu rysunków w jednej operacji, używając skryptu programu Microsoft Visual Basic for Applications (VBA). Poniżej przedstawiono przykładowy skrypt. Można go użyć jako szablonu, wprowadzić wymagane zmiany, a następnie zapisać jako plik .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

W skrypcie przykładowym występuje moduł „ImportSymbolIntoDWG” z modułem podrzędnym „ImportSymbolIntoAllDWG()”. Należy zmodyfikować zmienną „path”, aby określić ścieżkę lokalizacji rysunków, oraz zmienną „prototypeDWG”, aby wskazać plik DWG zawierający symbole do zaimportowania.

Importowanie symboli dla wielu rysunków przy użyciu skryptu VBA

  1. Umieść w jednym folderze wszystkie rysunki, dla których chcesz zaktualizować symbole.
  2. W wierszu polecenia programu Zestaw narzędzi AutoCAD Map 3D wprowadź ciąg VBAIDE, aby otworzyć okno programu Microsoft VBA.

    Zostanie wyświetlony komunikat o konieczności pobrania programu Autodesk AutoCAD VBA Enabler, jeśli nie został jeszcze zainstalowany.

  3. W oknie Microsoft VBA wykonaj następujące czynności:
    1. Kliknij menu File i wybierz polecenie Import File.
    2. W oknie dialogowym Import File znajdź i zaznacz plik .bas zawierający skrypt.
    3. Kliknij przycisk Otwórz.
    4. W oknie Microsoft VBA kliknij przycisk Save.
    5. W oknie dialogowym Save As określ ścieżkę i nazwę pliku, a następnie kliknij przycisk Save.
  4. Zamknij okno Microsoft VBA.
  5. W wierszu polecenia wprowadź ciąg VBALOAD, aby wczytać plik .dvb zapisany po wykonaniu czynności powyżej.

    Jeżeli w systemie zostanie wyświetlone ostrzeżenie dotyczące makr, kliknij przycisk Odblokuj makra.

  6. W wierszu polecenia wprowadź ciąg VBARUN i wybierz odpowiednie makro do uruchomienia.