Thanks for your answer.

I had the misconception that the undo stack was related with the repeat 
command. I realized it isn't.

I have a jscript command that gives me the weights array to work it on my 
python plugin because getting the array in Python is like 3 times slower.

I use this command to refresh my weights GUI so not being able to undo it 
shouldn't give any problems since it isn't changing anything.

So I use another command like paste weights and then my refresh command run 
automatically and I can't repeat my paste weights command because the last 
command was the Jscript GetWeights.


Martin
Sent from my iPhone

> On 13 Jan 2017, at 19:42, Matt Lind <speye...@hotmail.com> wrote:
> 
> First question is - why on earth do you need to not leave a trace in the 
> undo stack?  What are you doing that requires this line of thinking in 
> execution?
> 
> To answer your question - only the Softimage developers know for sure, but I 
> don't think it's possible.  If it were, I would think it would open a big 
> can of worms leading to lots of problems you really don't want to deal with 
> as you're basically asking Softimage to selectively ignore something while 
> still going about it's business as if nothing happened.
> 
> The problem is anything you do in the application has many dependencies 
> which are linked and synchronized.  If you have to undo operations, that 
> dependency chain gets all messed up as undoing operations will lead to a 
> situation where the 'undo' will create a scenario that never existed in the 
> first place.  For example, create a cube, subdivide it with the dice option, 
> extrude one polygon with 10 subdivisions, delete one of the subdivisions, 
> then smooth the mesh.  Oh, and tell Softimage to remove the dice operation 
> from the undo stack as if it never happened, but keep the results it 
> produced.  The minute you undo past the extrude operation, you'll 
> essentially rewrite history of the scene because the extrusion is dependent 
> on the outcome of the dice operation to know which polygon to extrude.  If 
> the polygon chosen has an index greater than 5, then it's not physically 
> possible to undo the extrude because a cube only has 6 polygons in range 
> [0...5].  Softimage would likely freak out trying to resolve this problem 
> and crash.  If it survived, I'm pretty sure you wouldn't want to the data as 
> it would likely be very corrupted.  A host of other issues are possible too.
> 
> The commands you found only address whether the execution of a command 
> appears in the script history log, or whether they can be undone by a single 
> key stroke vs. multiple key strokes.  That is not the same as the undo stack 
> which records the state of the scene.
> 
>> From experience I'll say if you ever have to consider undo as a necessary 
> step in your workflow, then something is very, very wrong with your plan.
> 
> Matt
> 
> 
> 
> 
> Date: Thu, 12 Jan 2017 17:44:52 +0900
> From: Martin Yara <furik...@gmail.com>
> Subject: Executing a Command without undo (Scripting)
> To: "softimage@listproc.autodesk.com"
> 
> Hi,
> 
> Is it possible, in Scripting, to execute a command without leaving a trace
> in the undo stack?
> 
> I want to execute 2 commands a() and b() in that order, but I want to be
> able to use Repeat to use a() again, not b().
> 
> b() command is only a command to get data so it shouldn't break anything if
> I skip that command when undoing or repeating.
> 
> I've found 'TermUndoRedo' in the SDK manual but it is only for C++ API.
> 
> Thanks
> 
> Martin 
> 
> 
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
> "unsubscribe" in the subject, and reply to confirm.
------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to