기호를 가져오려면

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 VBA(Visual Basic for Applications) 스크립트를 사용하여 많은 도면에 대한 기호를 단일 작업으로 가져올 수 있습니다. 다음 스크립트는 샘플입니다. 스크립트를 템플릿으로 사용하고, 필요한 내용을 수정한 후, .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

예제 스크립트에는 "ImportSymbolIntoAllDWG()" 하위를 포함한 "ImportSymbolIntoDWG" 모듈이 있습니다. 도면이 있는 경로를 지정하도록 "path" 변수를 수정하고, 가져올 기호를 포함하는 DWG 파일을 가리키도록 "prototypeDWG" 변수를 수정해야 합니다.

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을 입력하고 실행할 관련 매크로를 선택합니다.