00001
00002
00005 [CONSTANTS]
00006
00007 % Rotation in Y between the global reference frame (i.e., the frame of reference of 't1') and
00008 % the first bar ('b1')
00009 angle := -pi/4
00010
00011 % lengths of the bars connecting the triangles
00012 l1:=11
00013 l2:= 9
00014 l3:= 7
00015 l4:=12
00016
00017 % radius of the cylinders defining the bars
00018 rb:=0.1
00019
00020 % radius of the spheres at the joints
00021 rs:=0.2
00022
00023 % length of the revolute axes
00024 lr:=1
00025
00026 [LINKS]
00027
00028 t1: body "bodies/triangle1.off" 0.5*yellow
00029
00030 t2: body "bodies/triangle2.off" 0.7*yellow
00031 sphere rs (0,0,0) red
00032
00033 t3: body "bodies/triangle3.off" 0.9*yellow
00034
00035 t4: body "bodies/triangle4.off" 1.0*yellow
00036 sphere rs (0,0,0) red
00037
00038 b1: cylinder rb ( 0,0,0) (l1,0,0) black
00039 sphere rs ( 0,0,0) red
00040 sphere rs (l1,0,0) red
00041
00042 b2: cylinder rb ( 0,0,0) (l2,0,0) black
00043 sphere rs ( 0,0,0) red
00044 sphere rs (l2,0,0) red
00045
00046 b3: cylinder rb ( 0,0,0) (l3,0,0) black
00047 sphere rs ( 0,0,0) red
00048 sphere rs (l3,0,0) red
00049
00050 b4: cylinder rb ( 0,0,0) (l4,0,0) black
00051 sphere rs ( 0,0,0) red
00052 sphere rs (l4,0,0) red
00053
00054 [JOINTS]
00055
00056 % In ne notation below, we define a rotation axes by selecting
00057 % a point on the link and adding a vector to it.
00058 % For OFFs, the point are indexed as they appear in the file
00059 % (starting at 0!)
00060 revolute: t1 2+(0,lr,0)
00061 t2 0+(0,lr,0)
00062
00063 revolute: t3 2+(0,lr,0)
00064 t4 0+(0,lr,0)
00065
00066 fix : t1 b1 Ry(angle)
00067
00068 revolute: b1 1+(0,lr,0)
00069 t3 0+(0,lr,0)
00070
00071 revolute: t2 2+(0,lr,0)
00072 b2 0+(0,lr,0)
00073
00074 revolute: b2 1+(0,lr,0)
00075 t3 1+(0,lr,0)
00076
00077 revolute: t2 1+(0,lr,0)
00078 b3 0+(0,lr,0)
00079
00080 revolute: b3 1+(0,lr,0)
00081 t4 1+(0,lr,0)
00082
00083 revolute: t1 1+(0,lr,0)
00084 b4 0+(0,lr,0)
00085
00086 revolute: b4 1+(0,lr,0)
00087 t4 2+(0,lr,0)
00088
00089