シンボルを読み込むには

MAPSYMBOLIMPORTEXPORT コマンドまたは Microsoft VBA スクリプトを使用すると、1 回の操作で複数のシンボルを読み込むことができます。

ポイント フィーチャ、ライン フィーチャ、ポリゴン フィーチャのスタイルを設定する際に、[ロード]オプションを使用してシンボルを読み込むことができます。また、以下で説明するように、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. 「シンボルの読み込みが正常に終了しました」というメッセージが表示されるまで待ちます。
ヒント: オプションとしてスクリプトを使用すると、上記の手順を自動的に実行することができます。コマンド ラインでスクリプト コマンドを使用してスクリプト ファイルをロードし、処理が完了するまで待ちます。サンプルのスクリプトを次に示します。このスクリプトは、.scr という拡張子の付いたファイルとして保存してください。
CMDDIA 0
FILEDIA 0
_MAPSYMBOLIMPORTEXPORT _IMPORT "C:\data\MySymbols.dwg" _YES

VBA スクリプト オプション

Microsoft Visual Basic for Applications (VBA)スクリプトを使用すると、1 回の操作で複数の図面に対してシンボルを読み込むことができるため、時間の節約になります。サンプルのスクリプトを次に示します。このスクリプトに必要な修正を加え、.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() という Sub 関数を持つ ImportSymbolIntoDWG モジュールが記述されています。このスクリプトでは、path 変数を変更して図面の保存場所を指定し、prototypeDWG 変数を変更して、読み込んだシンボルを格納する DWG ファイルを指定する必要があります。

VBA スクリプトを使用して複数の図面に対してシンボルを読み込むには

  1. シンボルの更新対象となるすべての図面を 1 つのフォルダに格納します。
  2. Map 3D のコマンド ラインで「VBAIDE」と入力し、Microsoft VBA ウィンドウを開きます。

    Autodesk AutoCAD VBA Enabler がインストールされていない場合は、Autodesk AutoCAD VBA Enabler のダウンロードを指示するメッセージが表示されます。

  3. Microsoft VBA ウィンドウでの次の手順を実行します。
    1. [ファイル]をクリックして[ファイルを読み込む]を選択します。
    2. [ファイルを読み込む]ダイアログ ボックスで、スクリプトが格納されている .bas ファイルを探して選択します。
    3. [開く]をクリックします。
    4. Microsoft VBA ウィンドウで[保存]をクリックします。
    5. [名前を付けて保存]ダイアログ ボックスで、パスとファイル名を指定して[保存]をクリックします。
  4. Microsoft VBA ウィンドウを閉じます。
  5. コマンド ラインで「VBALOAD」と入力し、上記の手順で保存した .dvb ファイルをロードします。

    マクロに関する警告が表示された場合は、[マクロを有効にする]をクリックします。

  6. コマンド ラインで「VBARUN」と入力し、実行するマクロを選択します。