acDxfOut


説明

図面をDXFファイルに書き出します。

 

書式

Object.acDxfOut([Message],[SelectString],[CanSelectLockedLayer=True],[DxfFullPath],[VersionString],[PrecString="16"]) As Boolean 

引数 説明
Message 省略可能です。指定したメッセージをAutoCADのステータス行に表示します。
SelectString ・省略可能です。省略すると通常の選択モードになります。
・予約語"SGL"を指定するとユーザーに単一オブジェクトを選択させます。
・予約語"DWG"を指定すると図面全体を出力します。
・予約語"PREV"を指定すると、直前の選択セットを選択してメソッドを終了します。
・ 予約語"PICKED"を指定すると、ピック中のオブジェクトを選択してメソッドを終了します。
・それ以外の選択をさせたい場合は"ALL^M^M","C^M"等を指定して下さい。
CanSelectLockedLayer 省略可能です。Falseを指定するとロック中の画層で描かれているオブジェクトは選択出来なくなります。
DxfFullPath 省略可能です。省略すると保存ファイル名はWindowsテンポラリフォルダ内のAcadRemocon.dxfになります。
VersionString 省略可能です。DXF出力する際のバージョン文字列("R12","2000"等)を指定出来ます。
PrecString 省略可能です。DXF出力する際の精度を指定出来ます。

新規作成され一度も保存していない図面に対して予約語"DWG"を指定してDXF出力すると、AcadRemoconはDXF出力前に重複しないと思われるファイル名でWindowsテンポラリフォルダ内に図面を自動的に保存します。(共有違反を避けるため)

 

戻り値

戻り値 説明
True 正常終了しました。
False 異常終了しました。エラーの詳しい内容ShowErrorメソッドで確認出来ます。

 

使用例(VBScript)

Dim Acad  'Acad変数はErサブルーチンでも使うのでここで宣言
Call Main 'Mainサブルーチンコール

'選択した直線を50mm平行移動
Sub Main()
    'AcadRemoconオブジェクト作成
    Set Acad = CreateObject("AcadRemocon.Body")
    '図形選択→DXFファイル書き出し(ロックされた画層で描かれた図形は選択不可)
    If Not Acad.acDxfOut("線分を選択", "", False) Then Er: Exit Sub
    'DXFファイルからLINEオブジェクトを抽出(10=始点X座標のグループコード,11=終点X座標のグループコード)
    If Not Acad.DxfExtract(Cnt, ExtArr, "ENTITIES", "", "LINE", "10|11") Then Er: Exit Sub
    '抽出数が0なら終了
    If Cnt = 0 Then Exit Sub
    '始点と終点のX座標を50mmずらす
    For i = 1 To Cnt: ExtArr(1, i) = ExtArr(1, i) + 50: ExtArr(2, i) = ExtArr(2, i) + 50: Next
    '配列への変更をDXFファイルに反映
    If Not Acad.DxfUpdate(ExtArr) Then Er: Exit Sub
    'DXFIN実行
    If Not Acad.acDxfIn() Then Er: Exit Sub
    '直前の選択セットを削除
    If Not Acad.acPostCommand("ERASE P^M^M") Then Er: Exit Sub
End Sub

'エラー処理
Sub Er()
    'ユーザーによるキャンセル
    If Acad.ErrNumber = vbObjectError + 1000 Then
        'ここにキャンセル時の処理を追加
        '

    Else
        'エラー内容表示
        Acad.ShowError
    End If
End Sub