How can I manipulate surface using grips

RhinoDoc activeDoc = RhinoDoc.ActiveDoc;
IEnumerable brepObjects = activeDoc.Objects.GetObjectList(ObjectType.Brep);

RhinoObject object1 = brepObjects.ElementAt(0);
object1.GripsOn = true;
object1.EnableCustomGrips(CustomObjectGrips());
GripObject[] grips = object1.GetGrips();

I am trying to get grips for my Rhino Object but it shows empty array. How can I use grips to modify my selected face. Can I add control points to grips , if yes how?

What you would typically do is get the actual geometry (Brep) from the document, modify it somehow, then replace the object the user selected with the new geometry. My advice is to look at some developer examples for commands here. For example, edit polyline illustrates this principle: user selects object, you get the geometry (in this case PolyLineCurve object), you edit this, then call doc.Objecs.Replace(...)