AutoCAD には API があります。4つのアセンブリがあります。インプロセス用に 2 つ、COM 用に 2 つ。
インプロセス: acdbmgd.dll acmgd.dll
COMInterop : Autodesk.Autocad.Interop.dll Autodesk.Autocad.Interop.Common.dll
これは、AutoCAD の新しいインスタンスを開くか、既存の実行中の AutoCAD インスタンスに接続するメソッドです。
これらの .dll をプロジェクト参照にロードする必要があります。
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.Interop.Common;
namespace YourNameSpace {
public class YourClass {
AcadApplication AcApp;
private const string progID = "AutoCAD.Application.18.2";// this is AutoCAD 2012 program id
private string profileName = "<<Unnamed Profile>>";
private const string acadPath = @"C:\Program Files\Autodesk\AutoCAD 2012 - English\acad.exe";
public void GetAcApp()
    {
        try
        {
            AcApp = (AcadApplication)Marshal.GetActiveObject(progID);
        } catch {
            try {
                var acadProcess = new Process();
                acadProcess.StartInfo.Arguments = string.Format("/nologo /p \"{0}\"", profileName);
                acadProcess.StartInfo.FileName = (@acadPath);
                acadProcess.Start();
                while(AcApp == null)
                {
                    try { AcApp = (AcadApplication)Marshal.GetActiveObject(progID); }
                    catch { }
                }
            } catch(COMException) {
                MessageBox.Show(String.Format("Cannot create object of type \"{0}\"",progID));
            }
        }
        try {
            int i = 0;
            var appState = AcApp.GetAcadState();
            while (!appState.IsQuiescent)
            {
                if(i == 120)
                {
                    Application.Exit();
                }
                // Wait .25s
                Thread.Sleep(250);
                i++;
            }
            if(AcApp != null){
                // set visibility
                AcApp.Visible = true;
            }
        } catch (COMException err) {
            if(err.ErrorCode.ToString() == "-2147417846"){
                Thread.Sleep(5000);
            }
        }
    }
    }
}
それを閉じるのは簡単です
Application.Exit();
そしてコードを許してください。そのひどい、これは私が開発を始めたばかりのときの私の最初の方法の1つでした...