Very nice indeed!!!
But before I merge it, you need to change the nesting of the folds in the tree view. This is the nesting now:
When you are outside a body, this is ok and should look like that, but inside a body this should look different.
All the folds should be one under the other in the same level, and only the sketches are nested under their parent folds.
so more ore less it should look like that (i just edited the image):
You can take a look at my view provider for bends to see how I find out if I am under Body or outside a body.
Regarding unfolds, for now the simplest way is that when unfold=true, the function just returns a copy of the base object without doing any k factor calculation. (actually I think K factor should be taken into account in the bend function, not the unfold function in this case, to simulate real bending)
Thanks again!! great work.