/// <summary>
/// 执行命令行命令
/// </summary>
/// <param name="str"></param>
public void SendCommand(string str)
{
Document acdDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
acdDoc.SendStringToExecute(str, true, false, false);
}
/// <summary>
/// 同步命令
/// </summary>
/// <param name="str"></param>
public void SendCommandd(string str)
{
AutoCAD.AcadApplication app = Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication as AutoCAD.AcadApplication;
app.ActiveDocument.SendCommand(str);
}
为什么acedcmd的用法如此的诡异呀,
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
ResultBuffer rb = new ResultBuffer();
rb.Add(new TypedValue(5005, "Extend"));
rb.Add(new TypedValue(5006, fuZhu));
rb.Add(new TypedValue(5005, ""));
rb.Add(new TypedValue(5006, YaoYanChang));
rb.Add(new TypedValue(5009, point));
rb.Add(new TypedValue(5005, ""));
ed.AcedCmdS(rb);
有的时候结尾是rb.Add(new TypedValue(5005, “”));就可以运行
有的时候两行rb.Add(new TypedValue(5009, point));
rb.Add(new TypedValue(5009, point));这个就可以正常运行
有的时候
rb.Add(new TypedValue(5006, YaoYanChang));
rb.Add(new TypedValue(5009, point));这两行代码换一下位置就能正常运行
有的时候无论怎样都无法运行,到底怎么回事呀
cad普通命令
Document.SendStringToExecute("xiu\n",false, false, false);