CommandFlags.Session
to cross the drawing.I am trying to clear the UNDO
history so that I cannot return the updated information, but the CommandFlags.Session
feature does not seem to work properly with Document.Editor.Command
or acedCmd
.
Therefore, we clear the UNDO
history by Document.SendStringToExecute
with the argument "UNDO UNDO A"
to disable and re-enable UNDO
.
However, in this way, even if CMDECHO
is turned off, the command line displays the action.
Also, UNDO
remains in the command line history.
Could you tell me how to deal with the following two points?
SendStringToExecute
is fine, so please take care of me.
AutoCAD does not leave a history of UNDO commands on the command line when CMDECHO is off by invoking the following commands:
CommandMethod("TESTCMD", CommandFlags.Session)
public void TestCommand()
{
UndoClear();
}
private static async void UndoClear()
{
var docs = Application.DocumentManager;
var doc = docs.MdiActiveDocument;
variable = doc.Editor;
try
{
wait docs.ExecuteInCommandContextAsync(
async(obj)=>{awased.CommandAsync("Undo", "C", "N", "UNDO", "A");},
Null
);
}
catch{}
}
IJCAD does not implement ExecuteInCommandContextAsync, so use COM and LISP to invoke UNDO commands.
CommandMethod("TESTCMD", CommandFlags.Session)
public void TestCommand(){
varacadDoc=(dynamic)Application.AcadApplication).ActiveDocument;
acadDoc.SendCommand("(command\"UNDO\"\"C\"\"N\"\"UNDO\"\"A\"")\n";
}
However, this method leaves (command "UNDO" "C" "N" "UNDO" "A") and nil on the command line.
© 2024 OneMinuteCode. All rights reserved.