Cage editor or morph control to surface

Hi @Bathsheba,

This sample demonstrates how to move some grips:

import Rhino
import scriptcontext as sc

def test_move_grips():
    go = Rhino.Input.Custom.GetObject()
    go.SetCommandPrompt('Select grips to move')
    go.GeometryFilter = Rhino.DocObjects.ObjectType.Grip
    go.GetMultiple(1, 0)
    if go.CommandResult() != Rhino.Commands.Result.Success:
        return
    
    object_list = Rhino.Collections.TransformObjectList()
    object_list.AddObjects(go, True)
    
    dir = Rhino.Geometry.Vector3d(5.0, 0.0, 0.0)
    xform = Rhino.Geometry.Transform.Translation(dir)
    
    for grip in object_list.GripArray():
        grip.Move(xform)
        
    for owner in object_list.GripOwnerArray():
        sc.doc.Objects.GripUpdate(owner, True)
        
    sc.doc.Views.Redraw()
    
if __name__=="__main__":
    test_move_grips()

Does this help?

– Dale

1 Like