Wheelie8.world
Go to the documentation of this file.
1 
2 [CONSTANTS]
3 
4 % length of the bar connecting two consecutive triangles
5 l_in:=6.122935
6 l_out:=3.370553
7 
8 % length of the bar connecting odd triangles spared by one triangle
9 l_nc:=9.724551
10 
11 % length of the bar added to make the linkage rigic
12 l_f:=11.313708
13 
14 % radius of the cylinders representing the bars
15 rc:=0.05
16 % radius of the spheres used to decor the extremes of the bars
17 rs:=0.1
18 
19 [LINKS]
20 
21 % Eight triangles
22 t1: body "bodies/triangle.off" yellow
23 
24 t2: body "bodies/triangle.off" yellow
25 
26 t3: body "bodies/triangle.off" yellow
27 
28 t4: body "bodies/triangle.off" yellow
29 
30 t5: body "bodies/triangle.off" yellow
31 
32 t6: body "bodies/triangle.off" yellow
33 
34 t7: body "bodies/triangle.off" yellow
35 
36 t8: body "bodies/triangle.off" yellow
37 
38 % Two bars between adjacent triangles
39 b_1_2_out: cylinder rc (0,0,0) (l_out,0,0) black
40  sphere rs (0, 0,0) red
41  sphere rs (l_out,0,0) red
42 
43 b_1_2_in: cylinder rc (0,0,0) (l_in,0,0) black
44  sphere rs (0, 0,0) red
45  sphere rs (l_in,0,0) red
46 
47 b_2_3_out: cylinder rc (0,0,0) (l_out,0,0) black
48  sphere rs (0, 0,0) red
49  sphere rs (l_out,0,0) red
50 
51 b_2_3_in: cylinder rc (0,0,0) (l_in,0,0) black
52  sphere rs (0, 0,0) red
53  sphere rs (l_in,0,0) red
54 
55 b_3_4_out: cylinder rc (0,0,0) (l_out,0,0) black
56  sphere rs (0, 0,0) red
57  sphere rs (l_out,0,0) red
58 
59 b_3_4_in: cylinder rc (0,0,0) (l_in,0,0) black
60  sphere rs (0, 0,0) red
61  sphere rs (l_in,0,0) red
62 
63 b_4_5_out: cylinder rc (0,0,0) (l_out,0,0) black
64  sphere rs (0, 0,0) red
65  sphere rs (l_out,0,0) red
66 
67 b_4_5_in: cylinder rc (0,0,0) (l_in,0,0) black
68  sphere rs (0, 0,0) red
69  sphere rs (l_in,0,0) red
70 
71 b_5_6_out: cylinder rc (0,0,0) (l_out,0,0) black
72  sphere rs (0, 0,0) red
73  sphere rs (l_out,0,0) red
74 
75 b_5_6_in: cylinder rc (0,0,0) (l_in,0,0) black
76  sphere rs (0, 0,0) red
77  sphere rs (l_in,0,0) red
78 
79 b_6_7_out: cylinder rc (0,0,0) (l_out,0,0) black
80  sphere rs (0, 0,0) red
81  sphere rs (l_out,0,0) red
82 
83 b_6_7_in: cylinder rc (0,0,0) (l_in,0,0) black
84  sphere rs (0, 0,0) red
85  sphere rs (l_in,0,0) red
86 
87 b_7_8_out: cylinder rc (0,0,0) (l_out,0,0) black
88  sphere rs (0, 0,0) red
89  sphere rs (l_out,0,0) red
90 
91 b_7_8_in: cylinder rc (0,0,0) (l_in,0,0) black
92  sphere rs (0, 0,0) red
93  sphere rs (l_in,0,0) red
94 
95 b_8_1_out: cylinder rc (0,0,0) (l_out,0,0) black
96  sphere rs (0, 0,0) red
97  sphere rs (l_out,0,0) red
98 
99 b_8_1_in: cylinder rc (0,0,0) (l_in,0,0) black
100  sphere rs (0, 0,0) red
101  sphere rs (l_in,0,0) red
102 
103 % Bars connecting non-adjacent triangles.
104 % These bars do not include spheres since they would overlap with
105 % the spheres of other bars.
106 b_1_3: cylinder rc (0,0,0) (l_nc,0,0) black
107 b_3_5: cylinder rc (0,0,0) (l_nc,0,0) black
108 b_5_7: cylinder rc (0,0,0) (l_nc,0,0) black
109 b_7_1: cylinder rc (0,0,0) (l_nc,0,0) black
110 
111 % One additional bar to make the think rigid.
112 b_8_2: cylinder rc (0,0,0) (l_f,0,0) black
113 
114 [JOINTS]
115 
116 % Two bars between adjacent triangles
117 revolute: t1 1+(0,1,0)
118  b_1_2_out 0+(0,1,0)
119 revolute: b_1_2_out 1+(0,1,0)
120  t2 0+(0,1,0)
121 
122 revolute: t1 2+(0,1,0)
123  b_1_2_in 0+(0,1,0)
124 revolute: b_1_2_in 1+(0,1,0)
125  t2 2+(0,1,0)
126 
127 revolute: t2 1+(0,1,0)
128  b_2_3_out 0+(0,1,0)
129 revolute: b_2_3_out 1+(0,1,0)
130  t3 0+(0,1,0)
131 
132 revolute: t2 2+(0,1,0)
133  b_2_3_in 0+(0,1,0)
134 revolute: b_2_3_in 1+(0,1,0)
135  t3 2+(0,1,0)
136 
137 revolute: t3 1+(0,1,0)
138  b_3_4_out 0+(0,1,0)
139 revolute: b_3_4_out 1+(0,1,0)
140  t4 0+(0,1,0)
141 
142 revolute: t3 2+(0,1,0)
143  b_3_4_in 0+(0,1,0)
144 revolute: b_3_4_in 1+(0,1,0)
145  t4 2+(0,1,0)
146 
147 revolute: t4 1+(0,1,0)
148  b_4_5_out 0+(0,1,0)
149 revolute: b_4_5_out 1+(0,1,0)
150  t5 0+(0,1,0)
151 
152 revolute: t4 2+(0,1,0)
153  b_4_5_in 0+(0,1,0)
154 revolute: b_4_5_in 1+(0,1,0)
155  t5 2+(0,1,0)
156 
157 revolute: t5 1+(0,1,0)
158  b_5_6_out 0+(0,1,0)
159 revolute: b_5_6_out 1+(0,1,0)
160  t6 0+(0,1,0)
161 
162 revolute: t5 2+(0,1,0)
163  b_5_6_in 0+(0,1,0)
164 revolute: b_5_6_in 1+(0,1,0)
165  t6 2+(0,1,0)
166 
167 revolute: t6 1+(0,1,0)
168  b_6_7_out 0+(0,1,0)
169 revolute: b_6_7_out 1+(0,1,0)
170  t7 0+(0,1,0)
171 
172 revolute: t6 2+(0,1,0)
173  b_6_7_in 0+(0,1,0)
174 revolute: b_6_7_in 1+(0,1,0)
175  t7 2+(0,1,0)
176 
177 revolute: t7 1+(0,1,0)
178  b_7_8_out 0+(0,1,0)
179 revolute: b_7_8_out 1+(0,1,0)
180  t8 0+(0,1,0)
181 
182 revolute: t7 2+(0,1,0)
183  b_7_8_in 0+(0,1,0)
184 revolute: b_7_8_in 1+(0,1,0)
185  t8 2+(0,1,0)
186 
187 revolute: t8 1+(0,1,0)
188  b_8_1_out 0+(0,1,0)
189 revolute: b_8_1_out 1+(0,1,0)
190  t1 0+(0,1,0)
191 
192 revolute: t8 2+(0,1,0)
193  b_8_1_in 0+(0,1,0)
194 revolute: b_8_1_in 1+(0,1,0)
195  t1 2+(0,1,0)
196 
197 % The bars between non-adjacent triangles
198 revolute: t1 1+(0,1,0)
199  b_1_3 0+(0,1,0)
200 revolute: b_1_3 1+(0,1,0)
201  t3 0+(0,1,0)
202 
203 revolute: t3 1+(0,1,0)
204  b_3_5 0+(0,1,0)
205 revolute: b_3_5 1+(0,1,0)
206  t5 0+(0,1,0)
207 
208 revolute: t5 1+(0,1,0)
209  b_5_7 0+(0,1,0)
210 revolute: b_5_7 1+(0,1,0)
211  t7 0+(0,1,0)
212 
213 revolute: t7 1+(0,1,0)
214  b_7_1 0+(0,1,0)
215 revolute: b_7_1 1+(0,1,0)
216  t1 0+(0,1,0)
217 
218 % A bar fixing the mobility
219 revolute: t8 2+(0,1,0)
220  b_8_2 0+(0,1,0)
221 revolute: b_8_2 1+(0,1,0)
222  t2 2+(0,1,0)
223 
224