В рамках одной операции можно импортировать несколько обозначений, используя команду MAPSYMBOLIMPORTEXPORT или сценарий Microsoft VBA.
При определении стиля точек, линий или полигонов вы сможете импортировать обозначение с помощью параметра «Загрузить». Также можно использовать команду MAPSYMBOLIMPORTEXPORT, как описано ниже.
Импорт обозначений с помощью интерфейса пользователя
Блоки можно импортировать в файлы DWG в качестве обозначений. В хранилище обозначений можно также импортировать библиотеки обозначений (*.layer), обозначения векторов (*.xml), определения штриховки (*.pat), стили линий (*.lin), а также растровые изображения (*.gif, *.jpg, *.bmp, *.png).
Импорт обозначений без использования интерфейса пользователя
CMDDIA 0 FILEDIA 0 _MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES
В целях экономии времени можно в рамках одной операции импортировать обозначения для многих чертежей с помощью сценария 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
Появится сообщение с предложением скачать компонент Autodesk AutoCAD VBA Enabler, если он не установлен.
Если система выдаст предупреждение о макросах, выберите параметр «Включить макросы».