Thanks to all for your encouragements. I appreciate.
I found a number of bugs in the current version which I will try to fix over the next 10 days, if hopefully I can find some time.
I would also appreciate if you could give some feedback on a few points:
1) Inference of the Red Point: I had the choice to have the Red point follow the surface or stick to a constant line independent from the surface. Because you cannot move the cursor in Ruby, I needed to manage the 'projection' of the mouse cursor, to the surface, but then, it's not easy to use inference vis-a-vis the rest of the model, except for plane surface. So is inference useful for an Offset operation?
2) Enter distance AFTER Offset operation: in most Sketchup tools, you can usually modify again some parameters after you perform the operation. In the case of my tool, this is doable, though not extremely easy, as I would have to use the Sketchup Undo, retrieve the original selection (Undo may create new Faces and Edges objects, not restore the same), and then re-launch the Offset operation. As I am not sure Offset On Surface is to be used frequently and also because the 'retry' can be done manually, I don't know if it is worth trying to address this problem
Finally, I could recycle the work I did for OOS to derive a script 'DrapeOnSurface' that would take a selection of faces and edges on a plane and drape them onto a surface. The SandBox 'Drape' does this, but 'by projection' only. In addition you have to orient the surface more or less in the horizontal plane (as for anything with the Sandbox) and position the component to be draped above. DrapeOnSurface would instead be independent of orientations and positioning, will work by extension, not by projection, allowing to preserve distances and fully drape around for instance a close cylinder. In addition, it can create a group with the generated surface (mould option).
Thanks to all again
Fredo