AutoCAD命令被拒绝:从LISP调用撤消时“撤消”

时间:2015-04-23 20:20:46

标签: c# .net lisp autolisp

过去3周我一直在努力以编程方式调用undo命令。我的最新尝试涉及从C#调用LISP代码。现在我的C#方法看起来像这样

[CommandMethod("TestLispFromC#", CommandFlags.Modal)]
    public void TestLisp()
    {
        ResultBuffer lispFunctionCallWithArguments = new ResultBuffer(new TypedValue((int)LispDataType.Text, "BIGUNDO")); // build the arguments list
        ResultBuffer resultOfLispFunction = Autodesk.AutoCAD.ApplicationServices.Application.Invoke(lispFunctionCallWithArguments); // call the LISP fuction anf get the return value
        _editor.WriteMessage(resultOfLispFunction.ToString()); //print the result
    }

我想调用的Lisp函数来自这里

(defun BIGUNDO()   (命令“撤消”“b”) )

(defun MARKPOS()     (命令“undo”“m”) )

(vl-acad-defun'BIGUNDO)

(vl-acad-defun'MARKPOS)

该命令进入AutoCAD但我收到一条错误消息“AutoCAD命令被拒绝:”撤消“”。我不知道如何让AutoCAD接受程序化的撤销命令。

0 个答案:

没有答案