図面を作成、開く(.NET)

図面を新規作成したり、既存の図面を開いたりするには、DocumentCollectionExtension オブジェクトのメソッドを使用します。Add メソッドを使用すると、図面テンプレートに基づいて新しい図面ファイルが作成され、その図面は DocumentCollectionExtension に追加されます。Open メソッドでは、既存の図面ファイルを開きます。

新規図面を作成する

以下の例では、Add メソッドを使って、acad.dwt 図面テンプレート ファイルに基づいて新規図面を作成します。

VB.NET

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
 
<CommandMethod("NewDrawing", CommandFlags.Session)> _
Public Sub NewDrawing()
    '' Specify the template to use, if the template is not found
    '' the default settings are used.
    Dim strTemplatePath As String = "acad.dwt"

    Dim acDocMgr As DocumentCollection = Application.DocumentManager
    Dim acDoc As Document = DocumentCollectionExtension.Add(acDocMgr, strTemplatePath)

    acDocMgr.MdiActiveDocument = acDoc
End Sub

C#

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
 
[CommandMethod("NewDrawing", CommandFlags.Session)]
public static void NewDrawing()
{
    // Specify the template to use, if the template is not found
    // the default settings are used.
    string strTemplatePath = "acad.dwt";

    DocumentCollection acDocMgr = Application.DocumentManager;
    Document acDoc = acDocMgr.Add(strTemplatePath);

    acDocMgr.MdiActiveDocument = acDoc;
}

VBA/ActiveX コード リファレンス

Sub NewDrawing()
    Dim strTemplatePath As String
    strTemplatePath = "acad.dwt"
 
    Dim docObj As AcadDocument
    Set docObj = ThisDrawing.Application.Documents.Add(strTemplatePath)
End Sub

既存の図面を開く。

以下の例は、Open メソッドを使って既存の図面を開きます。図面を開く処理の前に、ファイルが存在するかどうかがチェックされます。

VB.NET

Imports System.IO
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
 
<CommandMethod("OpenDrawing", CommandFlags.Session)> _
Public Sub OpenDrawing()
    Dim strFileName As String = "C:\campus.dwg"

    Dim acDocMgr As DocumentCollection = Application.DocumentManager

    If (File.Exists(strFileName)) Then
        DocumentCollectionExtension.Open(acDocMgr, strFileName, False)
    Else
        acDocMgr.MdiActiveDocument.Editor.WriteMessage("File " & strFileName & _
                                                       " does not exist.")
    End If
End Sub

C#

using System.IO;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
 
[CommandMethod("OpenDrawing", CommandFlags.Session)]
public static void OpenDrawing()
{
    string strFileName = "C:\\campus.dwg";
    DocumentCollection acDocMgr = Application.DocumentManager;

    if (File.Exists(strFileName))
    {
        acDocMgr.Open(strFileName, false);
    }
    else
    {
        acDocMgr.MdiActiveDocument.Editor.WriteMessage("File " + strFileName +
                                                        " does not exist.");
    }
}

VBA/ActiveX コード リファレンス

Sub OpenDrawing()
    Dim dwgName As String
    dwgName = "c:\campus.dwg"
    If Dir(dwgName) <> "" Then
        ThisDrawing.Application.Documents.Open dwgName
    Else
        MsgBox "File " & dwgName & " does not exist."
    End If
End Sub