Импорт обозначений

В рамках одной операции можно импортировать несколько обозначений, используя команду MAPSYMBOLIMPORTEXPORT или сценарий Microsoft VBA.

При определении стиля точек, линий или полигонов вы сможете импортировать обозначение с помощью параметра «Загрузить». Также можно использовать команду MAPSYMBOLIMPORTEXPORT, как описано ниже.

Импорт обозначений с помощью интерфейса пользователя

  1. Задайте для системной переменной CMDDIA или FILEDIA значение 1.
  2. В командной строке введите MAPSYMBOLIMPORTEXPORT.
  3. В Хранилище обозначений нажмите кнопку Импорт.
  4. В диалоговом окне Открыть найдите и выберите файл, который требуется импортировать, или введите имя файла в поле Имя файла и нажмите кнопку Открыть.

    Блоки можно импортировать в файлы DWG в качестве обозначений. В хранилище обозначений можно также импортировать библиотеки обозначений (*.layer), обозначения векторов (*.xml), определения штриховки (*.pat), стили линий (*.lin), а также растровые изображения (*.gif, *.jpg, *.bmp, *.png).

  5. Нажмите кнопку «Закрыть».

Импорт обозначений без использования интерфейса пользователя

  1. Установите для системных переменных CMDDIA и FILEDIA значение 0.
  2. В командной строке введите MAPSYMBOLIMPORTEXPORT.
  3. При появлении запроса выберите Импорт.
  4. Введите путь к файлу с обозначениями, которые требуется импортировать.
  5. Выберите значение «Да», если требуется заменить существующие обозначения с одинаковыми именами, или «Нет», если заменять обозначения с одинаковыми именами не требуется.
  6. Подождите, пока не появится сообщение «Импорт обозначения завершен!».
Совет: В качестве альтернативы, описанные выше операции можно выполнить автоматически с помощью сценария. В командной строке с помощью команды SCRIPT загрузите файл сценария и дождитесь завершения. Ниже приведен пример сценария. Сохраните этот файл с расширением .scr.
CMDDIA 0
FILEDIA 0
_MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES

Параметр «Сценарий VBA»

В целях экономии времени можно в рамках одной операции импортировать обозначения для многих чертежей с помощью сценария Microsoft Visual Basic for Applications (VBA). Следующий сценарий представляет собой образец. Его можно использовать в качестве шаблона, внести требуемые изменения, а затем сохранить в формате .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

В сценарии-образце имеется модуль ImportSymbolIntoDWG с вложенным элементом ImportSymbolIntoAllDWG(). Вам понадобится изменить переменную пути, чтобы указать путь к папке, в которой находятся чертежи, и переменную prototypeDWG, чтобы выбрать файл DWG, содержащий обозначения для импорта.

Импорт обозначений для нескольких чертежей с использованием сценария VBA

  1. Поместите в одну папку все чертежи, для которых требуется обновление обозначений.
  2. В командной строке Инструментарий AutoCAD Map 3D введите VBAIDE, чтобы открыть окно Microsoft VBA.

    Появится сообщение с предложением скачать компонент Autodesk AutoCAD VBA Enabler, если он не установлен.

  3. В окне Microsoft VBA выполните следующие действия:
    1. Щелкните «Файл» и выберите Импорт файла.
    2. В диалоговом окне Импорт файла найдите и выберите файл, содержащий сценарий .bas.
    3. Нажмите Открыть.
    4. В окне Microsoft VBA нажмите кнопку Сохранить.
    5. В диалоговом окне Сохранить как укажите путь к файлу и его имя, затем нажмите кнопку Сохранить.
  4. Закройте окно Microsoft VBA.
  5. В командной строке введите VBALOAD, чтобы загрузить сохраненный файл .dvb.

    Если система выдаст предупреждение о макросах, выберите параметр «Включить макросы».

  6. В командной строке введите VBARUN и выберите связанный макрос, который требуется выполнить.