Undo on skinOps in max?

Hey all,

maybe this is a noob question, but I can’t seem to find a way to get undo working on any skinOps with maxscript. And I remember all the talk of making custom skinning tools in max so I’ve been wondering how you guys approach it?

Have you tried putting your operations within an undo scope?


with undo on (
 -- skinOps method
)

I have, but it seems to ignore it completely - some methods might work fine, but I’m using replaceWeights and selectVertices. Unless I’m doing it wrong, which is entirely possible

undo on 
(
	skinOps.ReplaceVertexWeights $selection[1].modifiers[#Skin] 1 1 1.0
	skinOps.selectVertices $selection[1].modifiers[#Skin] 2
)

Sorry to bump, but if this is the behavior of skinOps, I’ve been curious if you guys are writing your custom skinning tools in something other than maxscript to avoid this mess?

Unfortunately, I’ve always just cast aside any expectation that undo will work with skinOps via maxscript. I know it’s been reported as a bug, but I suspect it’s been a low priority.

It works on some things, doesn’t work on others. I am pretty sure skinOps was entirely written by an intern, or a very experienced programmer who has never skinned anything or spoken to an artist for a spec, and not given much thought. It is a great tragedy, a fucking mess.

damn, haha it sure seems like it Rob. thanks for your answers

In this case it was simple enough that I could store my own dedicated undo/redo for the skinning tools but I’m pretty baffled at how haphazardly some of this stuff appears to have been put together!