1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Runtime.InteropServices;
using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.Windows; namespace AcadDemo { public class SendSyncCommand { [DllImport("acad.exe", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl, EntryPoint = "acedCmd")] private static extern int acedCmd(System.IntPtr vlist); [CommandMethod("Test7")] public void Test7() { ResultBuffer rb = new ResultBuffer(); rb.Add(new TypedValue(5005, "_.INSERT"));
acedCmd(rb.UnmanagedObject); bool quit = false; while (!quit) {
string cmdNames = (string)Autodesk.AutoCAD.ApplicationServices.Application.GetSystemVariable("CMDNAMES");
if (cmdNames.ToUpper().IndexOf("INSERT") >= 0) { rb = new ResultBuffer();
rb.Add(new TypedValue(5005, "\\"));
acedCmd(rb.UnmanagedObject); } else quit = true;
}
} } }
|