shift((object1,object2,...),line,(newobject1,newobject2))
shift
Function parameters

This operator moves the named objects following a vector determined by a line.
Usage
If you just want to move objects and don't need to keep the original ones, leave the third parameter blank, e.g.:
p1=point(10,10);p2=point(50,50);curve(p1,p2,0,90)l1=line(point(60,10),point(50,20))shift((p1,p2,c_p1_p2),l1)See example on the right
If you would like to keep both the original and the moved objects, you have two options:
1) Name all new objects one by one, in the same order as the original objects, e.g.:
shift((p1,p2,c_p1_p2),l1,(p3,p4,newcurve))
2) Create a suffix for new objects that will be automatically added to the names of existing objects, e.g.:
shift((p1,p2,c_p1_p2),l1,"n")