Not sure if I’ll be able to explain this well, but here it is.
Problem: I’ll do something, and it will result in some big terrible history consequence. Like, I have surfaces that have continuity history and I’ll trim off part of a surface, resulting in the surface with history going crazy. So I have to undo, turn off history (or delete it from that part) and re-trim, then turn history back on. Especially annoying when I’ve done a split with multiple hard-to-pick surfaces or something like that.
I wish that, when I notice that the last command caused a history blow-up, I could click a button that tells Rhino, “undo that and redo it with history updates turned off” or something like that.
Honestly, I guess 99% of the time the culprit is either trim or split, so maybe there’s a way to just temporarily turn off history updates while I do those commands?
(Of course, it would also solve this if history were just fixed so that it remembers which specific edge a surface or curve was matched to, instead of forgetting which edge is which whenever any edge is trimmed. But apparently that’s a whole bigger issue, right?)
Hi Peter -
yes… the mechanism uses the edge indices and these are not stable when an object is replaced with one having a different number of edges. However, I think I am remembering right that Mikko may have done some work to make this at least better… @mikko is that right or was I hallucinating?
Hi Peter - this seems like the wrong approach, if I understand - cause at some point presumably you will want updates again and all hell will break loose again - I’d think purging any history on the inputs might make more sense, but I may be missinng the point.
Well, it does part of what I’m asking for (in my first test.) But…I think the rest (the most important part) will be really hard to script b/c I really want it to execute the previous command in its entirety, not just start the command. Does that make sense? If I have 10 surfaces that I’m trimming with 10 other surfaces, and one of the surfaces has history & gets messed up, if I use your script I’m still going to have to select all of those surfaces again. But I appreciate the effort and maybe I’m giving up too easily. I’ll think about it some more…
One work-around that is effective but annoying is to just run Undo, then copy the surface(s) that is affected, then redo, then select the messed up part, delete, and paste. Well, sometimes this is effective. Sometimes I do have to just undo, delete history, and try again.
About the order of the edges: Trim command from V7.9 onwards does indeed try to preserve the component indices of the edges. It can only work reliably if the object or the edges do not get divided into multiple pieces.