File: washing-machine-object.l

package info (click to toggle)
euslisp 9.31%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 55,448 kB
  • sloc: ansic: 41,610; lisp: 3,339; makefile: 286; sh: 238; asm: 138; python: 53
file content (320 lines) | stat: -rw-r--r-- 36,278 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
;;
;; DO NOT EDIT THIS FILE
;; this file is automatically generated from euslisp+euslib version 
;;
;;
(defclass washing-machine-object
  :super cascaded-link
  :slots (sensors
         handle0 handle1 handle2 handle3 handle4
         joint0 joint1 joint2 joint3 ))
(defmethod washing-machine-object
  (:init
   (&rest args &key (name "washing-machine") (pos (float-vector 0 0 0)) (rot (unit-matrix 3)) &allow-other-keys)
   (let (c bc
         blink0 blink1 blink2 blink3 blink4
                 )
     (send-super* :init :name name args)

     ;; definition of link

     ;; definition of :root
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 80.5 275.0 540.0) (float-vector -154.5 275.0 540.0) (float-vector -154.5 -275.0 540.0) (float-vector 80.5 -275.0 540.0)))
         (instance face :init :vertices (list (float-vector -154.5 275.0 510.0) (float-vector 80.5 275.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector -154.5 -275.0 510.0)))
         (instance face :init :vertices (list (float-vector 80.5 275.0 540.0) (float-vector 80.5 275.0 510.0) (float-vector -154.5 275.0 510.0) (float-vector -154.5 275.0 540.0)))
         (instance face :init :vertices (list (float-vector 80.5 -275.0 540.0) (float-vector 80.5 -275.0 510.0) (float-vector 80.5 275.0 510.0) (float-vector 80.5 275.0 540.0)))
         (instance face :init :vertices (list (float-vector -154.5 -275.0 540.0) (float-vector -154.5 -275.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector 80.5 -275.0 540.0)))
         (instance face :init :vertices (list (float-vector -154.5 275.0 540.0) (float-vector -154.5 275.0 510.0) (float-vector -154.5 -275.0 510.0) (float-vector -154.5 -275.0 540.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 155.0 275.0 110.0) (float-vector -155.0 275.0 110.0) (float-vector -155.0 -275.0 110.0) (float-vector 155.0 -275.0 110.0)))
         (instance face :init :vertices (list (float-vector -155.0 275.0 90.0) (float-vector 155.0 275.0 90.0) (float-vector 155.0 -275.0 90.0) (float-vector -155.0 -275.0 90.0)))
         (instance face :init :vertices (list (float-vector 155.0 275.0 110.0) (float-vector 155.0 275.0 90.0) (float-vector -155.0 275.0 90.0) (float-vector -155.0 275.0 110.0)))
         (instance face :init :vertices (list (float-vector 155.0 -275.0 110.0) (float-vector 155.0 -275.0 90.0) (float-vector 155.0 275.0 90.0) (float-vector 155.0 275.0 110.0)))
         (instance face :init :vertices (list (float-vector -155.0 -275.0 110.0) (float-vector -155.0 -275.0 90.0) (float-vector 155.0 -275.0 90.0) (float-vector 155.0 -275.0 110.0)))
         (instance face :init :vertices (list (float-vector -155.0 275.0 110.0) (float-vector -155.0 275.0 90.0) (float-vector -155.0 -275.0 90.0) (float-vector -155.0 -275.0 110.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -125.0 245.0 510.0) (float-vector -155.0 245.0 510.0) (float-vector -155.0 -245.0 510.0) (float-vector -125.0 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 245.0 110.0) (float-vector -125.0 245.0 110.0) (float-vector -125.0 -245.0 110.0) (float-vector -155.0 -245.0 110.0)))
         (instance face :init :vertices (list (float-vector -125.0 245.0 510.0) (float-vector -125.0 245.0 110.0) (float-vector -155.0 245.0 110.0) (float-vector -155.0 245.0 510.0)))
         (instance face :init :vertices (list (float-vector -125.0 -245.0 510.0) (float-vector -125.0 -245.0 110.0) (float-vector -125.0 245.0 110.0) (float-vector -125.0 245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 -245.0 510.0) (float-vector -155.0 -245.0 110.0) (float-vector -125.0 -245.0 110.0) (float-vector -125.0 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 245.0 510.0) (float-vector -155.0 245.0 110.0) (float-vector -155.0 -245.0 110.0) (float-vector -155.0 -245.0 510.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 80.5 -245.0 510.0) (float-vector 155.0 -245.0 110.0) (float-vector -155.0 -245.0 110.0) (float-vector -154.5 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 -275.0 110.0) (float-vector 80.5 -275.0 510.0) (float-vector -154.5 -275.0 510.0) (float-vector -155.0 -275.0 110.0)))
         (instance face :init :vertices (list (float-vector 80.5 -245.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector 155.0 -275.0 110.0) (float-vector 155.0 -245.0 110.0)))
         (instance face :init :vertices (list (float-vector -154.5 -245.0 510.0) (float-vector -154.5 -275.0 510.0) (float-vector 80.5 -275.0 510.0) (float-vector 80.5 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 -245.0 110.0) (float-vector -155.0 -275.0 110.0) (float-vector -154.5 -275.0 510.0) (float-vector -154.5 -245.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 -245.0 110.0) (float-vector 155.0 -275.0 110.0) (float-vector -155.0 -275.0 110.0) (float-vector -155.0 -245.0 110.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 80.5 275.0 510.0) (float-vector 155.0 275.0 110.0) (float-vector -155.0 275.0 110.0) (float-vector -154.5 275.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 245.0 110.0) (float-vector 80.5 245.0 510.0) (float-vector -154.5 245.0 510.0) (float-vector -155.0 245.0 110.0)))
         (instance face :init :vertices (list (float-vector 80.5 275.0 510.0) (float-vector 80.5 245.0 510.0) (float-vector 155.0 245.0 110.0) (float-vector 155.0 275.0 110.0)))
         (instance face :init :vertices (list (float-vector -154.5 275.0 510.0) (float-vector -154.5 245.0 510.0) (float-vector 80.5 245.0 510.0) (float-vector 80.5 275.0 510.0)))
         (instance face :init :vertices (list (float-vector -155.0 275.0 110.0) (float-vector -155.0 245.0 110.0) (float-vector -154.5 245.0 510.0) (float-vector -154.5 275.0 510.0)))
         (instance face :init :vertices (list (float-vector 155.0 275.0 110.0) (float-vector 155.0 245.0 110.0) (float-vector -155.0 245.0 110.0) (float-vector -155.0 275.0 110.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 160.0 275.0 100.0) (float-vector -160.0 275.0 100.0) (float-vector -160.0 -275.0 100.0) (float-vector 160.0 -275.0 100.0)))
         (instance face :init :vertices (list (float-vector -160.0 275.0 40.0) (float-vector 160.0 275.0 40.0) (float-vector 160.0 -275.0 40.0) (float-vector -160.0 -275.0 40.0)))
         (instance face :init :vertices (list (float-vector 160.0 275.0 100.0) (float-vector 160.0 275.0 40.0) (float-vector -160.0 275.0 40.0) (float-vector -160.0 275.0 100.0)))
         (instance face :init :vertices (list (float-vector 160.0 -275.0 100.0) (float-vector 160.0 -275.0 40.0) (float-vector 160.0 275.0 40.0) (float-vector 160.0 275.0 100.0)))
         (instance face :init :vertices (list (float-vector -160.0 -275.0 100.0) (float-vector -160.0 -275.0 40.0) (float-vector 160.0 -275.0 40.0) (float-vector 160.0 -275.0 100.0)))
         (instance face :init :vertices (list (float-vector -160.0 275.0 100.0) (float-vector -160.0 275.0 40.0) (float-vector -160.0 -275.0 40.0) (float-vector -160.0 -275.0 100.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 150.0 260.0 50.0) (float-vector -150.0 260.0 50.0) (float-vector -150.0 -260.0 50.0) (float-vector 150.0 -260.0 50.0)))
         (instance face :init :vertices (list (float-vector -150.0 260.0 0.0) (float-vector 150.0 260.0 0.0) (float-vector 150.0 -260.0 0.0) (float-vector -150.0 -260.0 0.0)))
         (instance face :init :vertices (list (float-vector 150.0 260.0 50.0) (float-vector 150.0 260.0 0.0) (float-vector -150.0 260.0 0.0) (float-vector -150.0 260.0 50.0)))
         (instance face :init :vertices (list (float-vector 150.0 -260.0 50.0) (float-vector 150.0 -260.0 0.0) (float-vector 150.0 260.0 0.0) (float-vector 150.0 260.0 50.0)))
         (instance face :init :vertices (list (float-vector -150.0 -260.0 50.0) (float-vector -150.0 -260.0 0.0) (float-vector 150.0 -260.0 0.0) (float-vector 150.0 -260.0 50.0)))
         (instance face :init :vertices (list (float-vector -150.0 260.0 50.0) (float-vector -150.0 260.0 0.0) (float-vector -150.0 -260.0 0.0) (float-vector -150.0 -260.0 50.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :darkgray)
     (send (elt bc 1) :set-color :darkgray)
     (send (elt bc 2) :set-color :darkgray)
     (send (elt bc 3) :set-color :darkgray)
     (send (elt bc 4) :set-color :darkgray)
     (send (elt bc 5) :set-color :darkgray)
     (send (elt bc 6) :set-color :darkgray)
     (setq blink0 (instance bodyset-link :init (make-cascoords) :bodies bc :name :root :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset2
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector -0.5 0.5 0.5) (float-vector -0.5 -0.5 0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector -0.5 -0.5 -0.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector 0.5 0.5 -0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector 0.5 -0.5 0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 -0.5 0.5) (float-vector -0.5 -0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 -0.5 -0.5) (float-vector -0.5 -0.5 0.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -45.0 -235.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector 185.0 -235.0 55.0) (float-vector -45.0 -235.0 55.0)))
         (instance face :init :vertices (list (float-vector 210.0 -210.0 25.0) (float-vector 210.0 -210.0 75.0) (float-vector 187.5 -232.5 75.0) (float-vector 187.5 -232.5 55.0) (float-vector 185.0 -235.0 55.0) (float-vector 185.0 -235.0 25.0)))
         (instance face :init :vertices (list (float-vector 210.0 210.0 25.0) (float-vector 210.0 210.0 75.0) (float-vector 210.0 -210.0 75.0) (float-vector 210.0 -210.0 25.0)))
         (instance face :init :vertices (list (float-vector 185.0 235.0 25.0) (float-vector 185.0 235.0 55.0) (float-vector 187.5 232.5 55.0) (float-vector 187.5 232.5 75.0) (float-vector 210.0 210.0 75.0) (float-vector 210.0 210.0 25.0)))
         (instance face :init :vertices (list (float-vector -45.0 235.0 25.0) (float-vector -45.0 235.0 55.0) (float-vector 185.0 235.0 55.0) (float-vector 185.0 235.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 210.0 25.0) (float-vector -70.0 210.0 55.0) (float-vector -45.0 235.0 55.0) (float-vector -45.0 235.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 -207.5 100.0) (float-vector -65.0 -207.5 100.0) (float-vector -65.0 207.5 100.0) (float-vector -70.0 207.5 100.0)))
         (instance face :init :vertices (list (float-vector -70.0 -210.0 25.0) (float-vector -70.0 -210.0 55.0) (float-vector -70.0 -207.5 55.0) (float-vector -70.0 -207.5 100.0) (float-vector -70.0 207.5 100.0) (float-vector -70.0 207.5 55.0) (float-vector -70.0 210.0 55.0) (float-vector -70.0 210.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 -210.0 25.0) (float-vector -70.0 210.0 25.0) (float-vector -45.0 235.0 25.0) (float-vector 185.0 235.0 25.0) (float-vector 210.0 210.0 25.0) (float-vector 210.0 -210.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector -45.0 -235.0 25.0)))
         (instance face :init :vertices (list (float-vector -45.0 -235.0 25.0) (float-vector -45.0 -235.0 55.0) (float-vector -70.0 -210.0 55.0) (float-vector -70.0 -210.0 25.0)))
         (instance face :init :vertices (list (float-vector 187.5 232.5 55.0) (float-vector 185.0 235.0 55.0) (float-vector -45.0 235.0 55.0) (float-vector -70.0 210.0 55.0) (float-vector -70.0 207.5 55.0) (float-vector -65.0 207.5 55.0) (float-vector -65.0 210.0 55.0) (float-vector -45.0 230.0 55.0) (float-vector 185.0 230.0 55.0) (float-vector 187.5 227.5 55.0)))
         (instance face :init :vertices (list (float-vector 187.5 232.5 75.0) (float-vector 187.5 232.5 55.0) (float-vector 187.5 227.5 55.0) (float-vector 187.5 227.5 75.0)))
         (instance face :init :vertices (list (float-vector -65.0 207.5 55.0) (float-vector -70.0 207.5 55.0) (float-vector -70.0 207.5 100.0) (float-vector -65.0 207.5 100.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 30.0) (float-vector -45.0 230.0 30.0) (float-vector -65.0 210.0 30.0) (float-vector -65.0 -210.0 30.0) (float-vector -45.0 -230.0 30.0) (float-vector 185.0 -230.0 30.0) (float-vector 205.0 -210.0 30.0) (float-vector 205.0 210.0 30.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 30.0) (float-vector 205.0 210.0 30.0) (float-vector 205.0 210.0 75.0) (float-vector 187.5 227.5 75.0) (float-vector 187.5 227.5 55.0) (float-vector 185.0 230.0 55.0)))
         (instance face :init :vertices (list (float-vector 205.0 210.0 75.0) (float-vector 205.0 210.0 30.0) (float-vector 205.0 -210.0 30.0) (float-vector 205.0 -210.0 75.0)))
         (instance face :init :vertices (list (float-vector 205.0 -210.0 75.0) (float-vector 205.0 -210.0 30.0) (float-vector 185.0 -230.0 30.0) (float-vector 185.0 -230.0 55.0) (float-vector 187.5 -227.5 55.0) (float-vector 187.5 -227.5 75.0)))
         (instance face :init :vertices (list (float-vector 185.0 -230.0 55.0) (float-vector 185.0 -230.0 30.0) (float-vector -45.0 -230.0 30.0) (float-vector -45.0 -230.0 55.0)))
         (instance face :init :vertices (list (float-vector -45.0 -230.0 55.0) (float-vector -45.0 -230.0 30.0) (float-vector -65.0 -210.0 30.0) (float-vector -65.0 -210.0 55.0)))
         (instance face :init :vertices (list (float-vector -65.0 -210.0 55.0) (float-vector -65.0 -210.0 30.0) (float-vector -65.0 210.0 30.0) (float-vector -65.0 210.0 55.0) (float-vector -65.0 207.5 55.0) (float-vector -65.0 207.5 100.0) (float-vector -65.0 -207.5 100.0) (float-vector -65.0 -207.5 55.0)))
         (instance face :init :vertices (list (float-vector -45.0 230.0 55.0) (float-vector -65.0 210.0 55.0) (float-vector -65.0 210.0 30.0) (float-vector -45.0 230.0 30.0)))
         (instance face :init :vertices (list (float-vector -45.0 230.0 30.0) (float-vector 185.0 230.0 30.0) (float-vector 185.0 230.0 55.0) (float-vector -45.0 230.0 55.0)))
         (instance face :init :vertices (list (float-vector 187.5 -232.5 75.0) (float-vector 210.0 -210.0 75.0) (float-vector 210.0 210.0 75.0) (float-vector 187.5 232.5 75.0) (float-vector 187.5 227.5 75.0) (float-vector 205.0 210.0 75.0) (float-vector 205.0 -210.0 75.0) (float-vector 187.5 -227.5 75.0)))
         (instance face :init :vertices (list (float-vector 187.5 -232.5 55.0) (float-vector 187.5 -232.5 75.0) (float-vector 187.5 -227.5 75.0) (float-vector 187.5 -227.5 55.0)))
         (instance face :init :vertices (list (float-vector -65.0 -207.5 55.0) (float-vector -65.0 -207.5 100.0) (float-vector -70.0 -207.5 100.0) (float-vector -70.0 -207.5 55.0)))
         (instance face :init :vertices (list (float-vector -70.0 -207.5 55.0) (float-vector -70.0 -210.0 55.0) (float-vector -45.0 -235.0 55.0) (float-vector 185.0 -235.0 55.0) (float-vector 187.5 -232.5 55.0) (float-vector 187.5 -227.5 55.0) (float-vector 185.0 -230.0 55.0) (float-vector -45.0 -230.0 55.0) (float-vector -65.0 -210.0 55.0) (float-vector -65.0 -207.5 55.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :blue)
     (send (elt bc 1) :set-color :lightgrey)
     (setq blink4 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset2 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset3
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -35.0 0.0 210.0) (float-vector 0.0 0.0 210.0) (float-vector 0.0 550.0 210.0) (float-vector -35.0 550.0 210.0)))
         (instance face :init :vertices (list (float-vector 15.0 0.0 0.0) (float-vector 15.0 550.0 0.0) (float-vector 0.0 550.0 210.0) (float-vector 0.0 0.0 210.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 2.14286 145.0 180.0) (float-vector 2.14286 405.0 180.0) (float-vector 5.0 405.0 140.0) (float-vector 5.0 145.0 140.0)))
))
         (instance face :init :vertices (list (float-vector 0.0 0.0 0.0) (float-vector 0.0 550.0 0.0) (float-vector 15.0 550.0 0.0) (float-vector 15.0 0.0 0.0)))
         (instance face :init :vertices (list (float-vector -35.0 550.0 210.0) (float-vector 0.0 550.0 210.0) (float-vector 15.0 550.0 0.0) (float-vector 0.0 550.0 0.0)))
         (instance face :init :vertices (list (float-vector 0.0 0.0 0.0) (float-vector 15.0 0.0 0.0) (float-vector 0.0 0.0 210.0) (float-vector -35.0 0.0 210.0)))
         (instance face :init :vertices (list (float-vector -35.0 0.0 210.0) (float-vector -35.0 550.0 210.0) (float-vector 0.0 550.0 0.0) (float-vector 0.0 0.0 0.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector -23.3333 145.0 140.0) (float-vector -23.3333 405.0 140.0) (float-vector -30.0 405.0 180.0) (float-vector -30.0 145.0 180.0)))
))
         (instance face :init :vertices (list (float-vector -30.0 405.0 180.0) (float-vector 2.14286 405.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector -30.0 145.0 180.0)))
         (instance face :init :vertices (list (float-vector 5.0 145.0 140.0) (float-vector 5.0 405.0 140.0) (float-vector -23.3333 405.0 140.0) (float-vector -23.3333 145.0 140.0)))
         (instance face :init :vertices (list (float-vector -23.3333 405.0 140.0) (float-vector 5.0 405.0 140.0) (float-vector 2.14286 405.0 180.0) (float-vector -30.0 405.0 180.0)))
         (instance face :init :vertices (list (float-vector -30.0 145.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector 5.0 145.0 140.0) (float-vector -23.3333 145.0 140.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -23.3333 405.0 140.0) (float-vector -30.0 405.0 180.0) (float-vector 2.14286 405.0 180.0) (float-vector 5.0 405.0 140.0)))
         (instance face :init :vertices (list (float-vector -30.0 145.0 180.0) (float-vector -23.3333 145.0 140.0) (float-vector 5.0 145.0 140.0) (float-vector 2.14286 145.0 180.0)))
         (instance face :init :vertices (list (float-vector -23.3333 405.0 140.0) (float-vector -23.3333 145.0 140.0) (float-vector -30.0 145.0 180.0) (float-vector -30.0 405.0 180.0)))
         (instance face :init :vertices (list (float-vector 5.0 405.0 140.0) (float-vector 5.0 145.0 140.0) (float-vector -23.3333 145.0 140.0) (float-vector -23.3333 405.0 140.0)))
         (instance face :init :vertices (list (float-vector 2.14286 405.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector 5.0 145.0 140.0) (float-vector 5.0 405.0 140.0)))
         (instance face :init :vertices (list (float-vector -30.0 405.0 180.0) (float-vector -30.0 145.0 180.0) (float-vector 2.14286 145.0 180.0) (float-vector 2.14286 405.0 180.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :gray)
     (send (elt bc 1) :set-color :springgreen)
     (setq blink2 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset3 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset4
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector -0.5 0.5 0.5) (float-vector -0.5 -0.5 0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector -0.5 -0.5 -0.5)))
         (instance face :init :vertices (list (float-vector 0.5 0.5 0.5) (float-vector 0.5 0.5 -0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector 0.5 -0.5 0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 0.5 -0.5) (float-vector 0.5 0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 -0.5 0.5) (float-vector -0.5 -0.5 -0.5) (float-vector 0.5 -0.5 -0.5) (float-vector 0.5 -0.5 0.5)))
         (instance face :init :vertices (list (float-vector -0.5 0.5 0.5) (float-vector -0.5 0.5 -0.5) (float-vector -0.5 -0.5 -0.5) (float-vector -0.5 -0.5 0.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 185.0 235.0 115.0) (float-vector 185.0 230.0 115.0) (float-vector 185.0 -23.5 115.0) (float-vector 190.0 -23.5 115.0) (float-vector 190.0 235.0 115.0)))
         (instance face :init :vertices (list (float-vector 185.0 235.0 135.0) (float-vector 185.0 230.0 135.0) (float-vector 185.0 230.0 115.0) (float-vector 185.0 235.0 115.0)))
         (instance face :init :vertices (list (float-vector -70.0 -30.0 25.0) (float-vector -70.0 -30.0 -15.0) (float-vector 185.0 -30.0 -15.0) (float-vector 185.0 -30.0 25.0)))
         (instance face :init :vertices (list (float-vector -70.0 -30.0 25.0) (float-vector 185.0 -30.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector -70.0 -235.0 25.0)))
         (instance face :init :vertices (list (float-vector 185.0 -235.0 25.0) (float-vector 185.0 -30.0 25.0) (float-vector 185.0 -30.0 -15.0) (float-vector 185.0 -235.0 -15.0)))
         (instance face :init :vertices (list (float-vector -70.0 -235.0 25.0) (float-vector 185.0 -235.0 25.0) (float-vector 185.0 -235.0 -15.0) (float-vector 190.0 -235.0 -15.0) (float-vector 190.0 -235.0 105.0) (float-vector 183.5 -235.0 105.0) (float-vector 183.5 -235.0 125.0) (float-vector -70.0 -235.0 125.0)))
         (instance face :init :vertices (list (float-vector -70.0 -30.0 -15.0) (float-vector -70.0 -30.0 25.0) (float-vector -70.0 -235.0 25.0) (float-vector -70.0 -235.0 125.0) (float-vector -70.0 -25.0 125.0) (float-vector -70.0 -25.0 135.0) (float-vector -70.0 235.0 135.0) (float-vector -70.0 235.0 75.0) (float-vector -70.0 -25.0 75.0) (float-vector -70.0 -25.0 -15.0)))
         (instance face :init :vertices (list (float-vector 190.0 235.0 115.0) (float-vector 190.0 -23.5 115.0) (float-vector 190.0 -23.5 105.0) (float-vector 190.0 -235.0 105.0) (float-vector 190.0 -235.0 -15.0) (float-vector 190.0 -25.0 -15.0) (float-vector 190.0 -25.0 75.0) (float-vector 190.0 235.0 75.0)))
         (instance face :init :vertices (list (float-vector -70.0 235.0 135.0) (float-vector -70.0 -25.0 135.0) (float-vector -65.0 -25.0 135.0) (float-vector -65.0 230.0 135.0) (float-vector 185.0 230.0 135.0) (float-vector 185.0 235.0 135.0)))
         (instance face :init :vertices (list (float-vector 190.0 -25.0 -15.0) (float-vector 190.0 -235.0 -15.0) (float-vector 185.0 -235.0 -15.0) (float-vector 185.0 -30.0 -15.0) (float-vector -70.0 -30.0 -15.0) (float-vector -70.0 -25.0 -15.0)))
         (instance face :init :vertices (list (float-vector -70.0 235.0 75.0) (float-vector -70.0 235.0 135.0) (float-vector 185.0 235.0 135.0) (float-vector 185.0 235.0 115.0) (float-vector 190.0 235.0 115.0) (float-vector 190.0 235.0 75.0)))
         (instance face :init :vertices (list (float-vector -70.0 -25.0 125.0) (float-vector -70.0 -235.0 125.0) (float-vector 183.5 -235.0 125.0) (float-vector 183.5 -230.0 125.0) (float-vector -65.0 -230.0 125.0) (float-vector -65.0 -25.0 125.0)))
         (instance face :init :vertices (list (float-vector -65.0 -25.0 135.0) (float-vector -70.0 -25.0 135.0) (float-vector -70.0 -25.0 125.0) (float-vector -65.0 -25.0 125.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 115.0) (float-vector 185.0 230.0 135.0) (float-vector -65.0 230.0 135.0) (float-vector -65.0 230.0 80.0) (float-vector 185.0 230.0 80.0)))
         (instance face :init :vertices (list (float-vector 185.0 230.0 80.0) (float-vector -65.0 230.0 80.0) (float-vector -65.0 -25.0 80.0) (float-vector 185.0 -25.0 80.0)))
         (instance face :init :vertices (list (float-vector 185.0 -230.0 105.0) (float-vector 185.0 -23.5 105.0) (float-vector 185.0 -23.5 115.0) (float-vector 185.0 230.0 115.0) (float-vector 185.0 230.0 80.0) (float-vector 185.0 -25.0 80.0) (float-vector 185.0 -25.0 85.0) (float-vector 185.0 -30.0 85.0) (float-vector 185.0 -30.0 30.0) (float-vector 185.0 -230.0 30.0)))
         (instance face :init :vertices (list (float-vector 185.0 -30.0 85.0) (float-vector 185.0 -25.0 85.0) (float-vector -65.0 -25.0 85.0) (float-vector -65.0 -30.0 85.0)))
         (instance face :init :vertices (list (float-vector -65.0 -25.0 85.0) (float-vector 185.0 -25.0 85.0) (float-vector 185.0 -25.0 80.0) (float-vector -65.0 -25.0 80.0)))
         (instance face :init :vertices (list (float-vector -65.0 -30.0 85.0) (float-vector -65.0 -25.0 85.0) (float-vector -65.0 -25.0 80.0) (float-vector -65.0 230.0 80.0) (float-vector -65.0 230.0 135.0) (float-vector -65.0 -25.0 135.0) (float-vector -65.0 -25.0 125.0) (float-vector -65.0 -230.0 125.0) (float-vector -65.0 -230.0 30.0) (float-vector -65.0 -30.0 30.0)))
         (instance face :init :vertices (list (float-vector -65.0 -230.0 30.0) (float-vector -65.0 -230.0 125.0) (float-vector 183.5 -230.0 125.0) (float-vector 183.5 -230.0 105.0) (float-vector 185.0 -230.0 105.0) (float-vector 185.0 -230.0 30.0)))
         (instance face :init :vertices (list (float-vector 185.0 -30.0 30.0) (float-vector 185.0 -30.0 85.0) (float-vector -65.0 -30.0 85.0) (float-vector -65.0 -30.0 30.0)))
         (instance face :init :vertices (list (float-vector -65.0 -30.0 30.0) (float-vector -65.0 -230.0 30.0) (float-vector 185.0 -230.0 30.0) (float-vector 185.0 -30.0 30.0)))
         (instance face :init :vertices (list (float-vector -70.0 -25.0 75.0) (float-vector -70.0 235.0 75.0) (float-vector 190.0 235.0 75.0) (float-vector 190.0 -25.0 75.0)))
         (instance face :init :vertices (list (float-vector 190.0 -25.0 75.0) (float-vector 190.0 -25.0 -15.0) (float-vector -70.0 -25.0 -15.0) (float-vector -70.0 -25.0 75.0)))
         (instance face :init :vertices (list (float-vector 183.5 -230.0 105.0) (float-vector 183.5 -230.0 125.0) (float-vector 183.5 -235.0 125.0) (float-vector 183.5 -235.0 105.0)))
         (instance face :init :vertices (list (float-vector 190.0 -23.5 105.0) (float-vector 190.0 -23.5 115.0) (float-vector 185.0 -23.5 115.0) (float-vector 185.0 -23.5 105.0)))
         (instance face :init :vertices (list (float-vector 185.0 -23.5 105.0) (float-vector 185.0 -230.0 105.0) (float-vector 183.5 -230.0 105.0) (float-vector 183.5 -235.0 105.0) (float-vector 190.0 -235.0 105.0) (float-vector 190.0 -23.5 105.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :blue)
     (send (elt bc 1) :set-color :lightgrey)
     (setq blink3 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset4 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of :washing-machine-bodyset5
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 125.0 0.0 125.0) (float-vector 135.0 0.0 125.0) (float-vector 135.0 550.0 125.0) (float-vector 125.0 550.0 125.0)))
         (instance face :init :vertices (list (float-vector 200.0 0.0 -125.0) (float-vector 200.0 550.0 -125.0) (float-vector 135.0 550.0 125.0) (float-vector 135.0 0.0 125.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 142.8 45.0 95.0) (float-vector 142.8 505.0 95.0) (float-vector 189.6 505.0 -85.0) (float-vector 189.6 45.0 -85.0)))
))
         (instance face :init :vertices (list (float-vector 165.0 0.0 -125.0) (float-vector 165.0 550.0 -125.0) (float-vector 200.0 550.0 -125.0) (float-vector 200.0 0.0 -125.0)))
         (instance face :init :vertices (list (float-vector 125.0 550.0 125.0) (float-vector 135.0 550.0 125.0) (float-vector 200.0 550.0 -125.0) (float-vector 165.0 550.0 -125.0)))
         (instance face :init :vertices (list (float-vector 165.0 0.0 -125.0) (float-vector 200.0 0.0 -125.0) (float-vector 135.0 0.0 125.0) (float-vector 125.0 0.0 125.0)))
         (instance face :init :vertices (list (float-vector 125.0 0.0 125.0) (float-vector 125.0 550.0 125.0) (float-vector 165.0 550.0 -125.0) (float-vector 165.0 0.0 -125.0))
                              :holes (list
         (instance hole :init :vertices (list (float-vector 158.6 45.0 -85.0) (float-vector 158.6 505.0 -85.0) (float-vector 129.8 505.0 95.0) (float-vector 129.8 45.0 95.0)))
))
         (instance face :init :vertices (list (float-vector 129.8 505.0 95.0) (float-vector 142.8 505.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 129.8 45.0 95.0)))
         (instance face :init :vertices (list (float-vector 189.6 45.0 -85.0) (float-vector 189.6 505.0 -85.0) (float-vector 158.6 505.0 -85.0) (float-vector 158.6 45.0 -85.0)))
         (instance face :init :vertices (list (float-vector 158.6 505.0 -85.0) (float-vector 189.6 505.0 -85.0) (float-vector 142.8 505.0 95.0) (float-vector 129.8 505.0 95.0)))
         (instance face :init :vertices (list (float-vector 129.8 45.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 189.6 45.0 -85.0) (float-vector 158.6 45.0 -85.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 180.6 505.0 -85.0) (float-vector 132.8 505.0 95.0) (float-vector 142.8 505.0 95.0) (float-vector 189.6 505.0 -85.0)))
         (instance face :init :vertices (list (float-vector 132.8 45.0 95.0) (float-vector 180.6 45.0 -85.0) (float-vector 189.6 45.0 -85.0) (float-vector 142.8 45.0 95.0)))
         (instance face :init :vertices (list (float-vector 180.6 505.0 -85.0) (float-vector 180.6 45.0 -85.0) (float-vector 132.8 45.0 95.0) (float-vector 132.8 505.0 95.0)))
         (instance face :init :vertices (list (float-vector 189.6 505.0 -85.0) (float-vector 189.6 45.0 -85.0) (float-vector 180.6 45.0 -85.0) (float-vector 180.6 505.0 -85.0)))
         (instance face :init :vertices (list (float-vector 142.8 505.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 189.6 45.0 -85.0) (float-vector 189.6 505.0 -85.0)))
         (instance face :init :vertices (list (float-vector 132.8 505.0 95.0) (float-vector 132.8 45.0 95.0) (float-vector 142.8 45.0 95.0) (float-vector 142.8 505.0 95.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :gray)
     (send (elt bc 1) :set-color :white)
     (gl::transparent (elt bc 1) 0.5)
     (setq blink1 (instance bodyset-link :init (make-cascoords) :bodies bc :name :washing-machine-bodyset5 :weight 1 :centroid (float-vector 0.0 0.0 0.0) :inertia-tensor #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))

     ;; definition of assoc
     (send blink1 :newcoords (make-coords :pos (float-vector -50.0 -275.0 415.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink1)
     (send blink3 :newcoords (make-coords :pos (float-vector -80.0 5.0 285.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink3)
     (send blink2 :newcoords (make-coords :pos (float-vector 150.0 -275.0 90.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink2)
     (send blink4 :newcoords (make-coords :pos (float-vector -80.0 5.0 115.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink4)
     (send self :assoc blink0)

     ;; definition of end-coords

     ;; definition of joint

     ;; definition of :upper-door
     (setq joint0 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink1 :name :upper-door :axis :y 
			     :min  -80.0 :max    0.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :lower-door
     (setq joint1 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink2 :name :lower-door :axis :y 
			     :min    0.0 :max   90.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :upper-shelf
     (setq joint2 (instance linear-joint :init
			     :parent-link blink0 :child-link blink3 :name :upper-shelf :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  170.0 :max-joint-velocity 0.785398 :max-joint-torque 100))

     ;; definition of :lower-shelf
     (setq joint3 (instance linear-joint :init
			     :parent-link blink0 :child-link blink4 :name :lower-shelf :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  190.0 :max-joint-velocity 0.785398 :max-joint-torque 100))


     ;; definition of :handle
     (setq handle0 (make-cascoords :pos (float-vector 150.0 175.0 260.0) :rot #2f((-0.173648 -0.984808 -1.110223e-16) (1.110223e-16 -1.110223e-16 1.0) (-0.984808 0.173648 1.110223e-16)) :name "push"))
     (send blink2 :assoc handle0)
     (setq handle1 (make-cascoords :pos (float-vector 150.0 230.0 290.0) :rot #2f((0.0 -1.0 2.220446e-16) (2.220446e-16 2.220446e-16 1.0) (-1.0 0.0 2.220446e-16)) :name "close-r"))
     (send blink2 :assoc handle1)
     (setq handle2 (make-cascoords :pos (float-vector 150.0 -230.0 290.0) :rot #2f((0.0 -1.0 -2.220446e-16) (2.220446e-16 2.220446e-16 -1.0) (1.0 0.0 2.220446e-16)) :name "close-l"))
     (send blink2 :assoc handle2)
     (setq handle3 (make-cascoords :pos (float-vector 150.0 0.0 240.0) :rot #2f((-1.0 1.232595e-32 1.224647e-16) (1.224647e-16 2.220446e-16 1.0) (-1.232595e-32 1.0 -2.220446e-16)) :name "button"))
     (send blink2 :assoc handle3)
     (setq handle4 (make-cascoords :pos (float-vector 100.0 50.0 160.0) :rot #2f((-0.707107 0.707107 5.551115e-17) (-1.665335e-16 -1.110223e-16 -1.0) (-0.707107 -0.707107 2.220446e-16)) :name "lower-shelf"))
     (send blink4 :assoc handle4)

     ;; init-ending 
     (setq links (list blink0 blink1 blink2 blink3 blink4))
     (setq joint-list (list joint0 joint1 joint2 joint3))
     (send self :init-ending)
     (send self :move-to (make-coords :pos pos :rot rot))
     (send-all links :worldcoords)

     self))

  (:upper-door (&rest args) (forward-message-to joint0 args))
  (:lower-door (&rest args) (forward-message-to joint1 args))
  (:upper-shelf (&rest args) (forward-message-to joint2 args))
  (:lower-shelf (&rest args) (forward-message-to joint3 args))
  (:handle (&rest args) (forward-message-to-all (list  handle0 handle1 handle2 handle3 handle4) args))
  (:handle-push (&rest args) (forward-message-to handle0 args))
  (:handle-close-r (&rest args) (forward-message-to handle1 args))
  (:handle-close-l (&rest args) (forward-message-to handle2 args))
  (:handle-button (&rest args) (forward-message-to handle3 args))
  (:handle-lower-shelf (&rest args) (forward-message-to handle4 args))
  (:attention (&rest args) (forward-message-to-all (list ) args))
  (:button (&rest args) (forward-message-to-all (list ) args))
  )

(defun washing-machine (&rest args) (instance* washing-machine-object :init args))
;; (format *error-output* "(instance washing-machine-object :init) for generating model~%")