;;
;; DO NOT EDIT THIS FILE
;; this file is automatically generated from euslisp+euslib version 
;;
;;
(defclass cupboard-object
  :super cascaded-link
  :slots (sensors
         handle0
         joint0 joint1 joint2 joint3 joint4 joint5 joint6 ))
(defmethod cupboard-object
  (:init
   (&rest args &key (name "cupboard") (pos (float-vector 0 0 0)) (rot (unit-matrix 3)) &allow-other-keys)
   (let (c bc
         blink0 blink1 blink2 blink3 blink4 blink5 blink6 blink7
                 )
     (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 272.0 768.0 1909.0) (float-vector -272.0 768.0 1909.0) (float-vector -272.0 -768.0 1909.0) (float-vector 272.0 -768.0 1909.0)))
         (instance face :init :vertices (list (float-vector -272.0 768.0 1889.0) (float-vector 272.0 768.0 1889.0) (float-vector 272.0 -768.0 1889.0) (float-vector -272.0 -768.0 1889.0)))
         (instance face :init :vertices (list (float-vector 272.0 768.0 1909.0) (float-vector 272.0 768.0 1889.0) (float-vector -272.0 768.0 1889.0) (float-vector -272.0 768.0 1909.0)))
         (instance face :init :vertices (list (float-vector 272.0 -768.0 1909.0) (float-vector 272.0 -768.0 1889.0) (float-vector 272.0 768.0 1889.0) (float-vector 272.0 768.0 1909.0)))
         (instance face :init :vertices (list (float-vector -272.0 -768.0 1909.0) (float-vector -272.0 -768.0 1889.0) (float-vector 272.0 -768.0 1889.0) (float-vector 272.0 -768.0 1909.0)))
         (instance face :init :vertices (list (float-vector -272.0 768.0 1909.0) (float-vector -272.0 768.0 1889.0) (float-vector -272.0 -768.0 1889.0) (float-vector -272.0 -768.0 1909.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 768.0 84.5) (float-vector -272.0 768.0 84.5) (float-vector -272.0 -768.0 84.5) (float-vector 262.0 -768.0 84.5)))
         (instance face :init :vertices (list (float-vector -272.0 768.0 -0.5) (float-vector 262.0 768.0 -0.5) (float-vector 262.0 -768.0 -0.5) (float-vector -272.0 -768.0 -0.5)))
         (instance face :init :vertices (list (float-vector 262.0 768.0 84.5) (float-vector 262.0 768.0 -0.5) (float-vector -272.0 768.0 -0.5) (float-vector -272.0 768.0 84.5)))
         (instance face :init :vertices (list (float-vector 262.0 -768.0 84.5) (float-vector 262.0 -768.0 -0.5) (float-vector 262.0 768.0 -0.5) (float-vector 262.0 768.0 84.5)))
         (instance face :init :vertices (list (float-vector -272.0 -768.0 84.5) (float-vector -272.0 -768.0 -0.5) (float-vector 262.0 -768.0 -0.5) (float-vector 262.0 -768.0 84.5)))
         (instance face :init :vertices (list (float-vector -272.0 768.0 84.5) (float-vector -272.0 768.0 -0.5) (float-vector -272.0 -768.0 -0.5) (float-vector -272.0 -768.0 84.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -242.0 738.0 1888.0) (float-vector -272.0 738.0 1888.0) (float-vector -272.0 -738.0 1888.0) (float-vector -242.0 -738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 738.0 84.0) (float-vector -242.0 738.0 84.0) (float-vector -242.0 -738.0 84.0) (float-vector -272.0 -738.0 84.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1888.0) (float-vector -242.0 738.0 84.0) (float-vector -272.0 738.0 84.0) (float-vector -272.0 738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -242.0 -738.0 1888.0) (float-vector -242.0 -738.0 84.0) (float-vector -242.0 738.0 84.0) (float-vector -242.0 738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 -738.0 1888.0) (float-vector -272.0 -738.0 84.0) (float-vector -242.0 -738.0 84.0) (float-vector -242.0 -738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 738.0 1888.0) (float-vector -272.0 738.0 84.0) (float-vector -272.0 -738.0 84.0) (float-vector -272.0 -738.0 1888.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 768.0 1888.0) (float-vector -272.0 768.0 1888.0) (float-vector -272.0 738.0 1888.0) (float-vector 262.0 738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 768.0 84.0) (float-vector 262.0 768.0 84.0) (float-vector 262.0 738.0 84.0) (float-vector -272.0 738.0 84.0)))
         (instance face :init :vertices (list (float-vector 262.0 768.0 1888.0) (float-vector 262.0 768.0 84.0) (float-vector -272.0 768.0 84.0) (float-vector -272.0 768.0 1888.0)))
         (instance face :init :vertices (list (float-vector 262.0 738.0 1888.0) (float-vector 262.0 738.0 84.0) (float-vector 262.0 768.0 84.0) (float-vector 262.0 768.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 738.0 1888.0) (float-vector -272.0 738.0 84.0) (float-vector 262.0 738.0 84.0) (float-vector 262.0 738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 768.0 1888.0) (float-vector -272.0 768.0 84.0) (float-vector -272.0 738.0 84.0) (float-vector -272.0 738.0 1888.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 -738.0 1888.0) (float-vector -272.0 -738.0 1888.0) (float-vector -272.0 -768.0 1888.0) (float-vector 262.0 -768.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 -738.0 84.0) (float-vector 262.0 -738.0 84.0) (float-vector 262.0 -768.0 84.0) (float-vector -272.0 -768.0 84.0)))
         (instance face :init :vertices (list (float-vector 262.0 -738.0 1888.0) (float-vector 262.0 -738.0 84.0) (float-vector -272.0 -738.0 84.0) (float-vector -272.0 -738.0 1888.0)))
         (instance face :init :vertices (list (float-vector 262.0 -768.0 1888.0) (float-vector 262.0 -768.0 84.0) (float-vector 262.0 -738.0 84.0) (float-vector 262.0 -738.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 -768.0 1888.0) (float-vector -272.0 -768.0 84.0) (float-vector 262.0 -768.0 84.0) (float-vector 262.0 -768.0 1888.0)))
         (instance face :init :vertices (list (float-vector -272.0 -738.0 1888.0) (float-vector -272.0 -738.0 84.0) (float-vector -272.0 -768.0 84.0) (float-vector -272.0 -768.0 1888.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 738.0 330.0) (float-vector -242.0 738.0 330.0) (float-vector -242.0 -738.0 330.0) (float-vector 262.0 -738.0 330.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 300.0) (float-vector 262.0 738.0 300.0) (float-vector 262.0 -738.0 300.0) (float-vector -242.0 -738.0 300.0)))
         (instance face :init :vertices (list (float-vector 262.0 738.0 330.0) (float-vector 262.0 738.0 300.0) (float-vector -242.0 738.0 300.0) (float-vector -242.0 738.0 330.0)))
         (instance face :init :vertices (list (float-vector 262.0 -738.0 330.0) (float-vector 262.0 -738.0 300.0) (float-vector 262.0 738.0 300.0) (float-vector 262.0 738.0 330.0)))
         (instance face :init :vertices (list (float-vector -242.0 -738.0 330.0) (float-vector -242.0 -738.0 300.0) (float-vector 262.0 -738.0 300.0) (float-vector 262.0 -738.0 330.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 330.0) (float-vector -242.0 738.0 300.0) (float-vector -242.0 -738.0 300.0) (float-vector -242.0 -738.0 330.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 738.0 799.0) (float-vector -242.0 738.0 799.0) (float-vector -242.0 -738.0 799.0) (float-vector 262.0 -738.0 799.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 769.0) (float-vector 262.0 738.0 769.0) (float-vector 262.0 -738.0 769.0) (float-vector -242.0 -738.0 769.0)))
         (instance face :init :vertices (list (float-vector 262.0 738.0 799.0) (float-vector 262.0 738.0 769.0) (float-vector -242.0 738.0 769.0) (float-vector -242.0 738.0 799.0)))
         (instance face :init :vertices (list (float-vector 262.0 -738.0 799.0) (float-vector 262.0 -738.0 769.0) (float-vector 262.0 738.0 769.0) (float-vector 262.0 738.0 799.0)))
         (instance face :init :vertices (list (float-vector -242.0 -738.0 799.0) (float-vector -242.0 -738.0 769.0) (float-vector 262.0 -738.0 769.0) (float-vector 262.0 -738.0 799.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 799.0) (float-vector -242.0 738.0 769.0) (float-vector -242.0 -738.0 769.0) (float-vector -242.0 -738.0 799.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 738.0 1365.0) (float-vector -242.0 738.0 1365.0) (float-vector -242.0 -738.0 1365.0) (float-vector 262.0 -738.0 1365.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1335.0) (float-vector 262.0 738.0 1335.0) (float-vector 262.0 -738.0 1335.0) (float-vector -242.0 -738.0 1335.0)))
         (instance face :init :vertices (list (float-vector 262.0 738.0 1365.0) (float-vector 262.0 738.0 1335.0) (float-vector -242.0 738.0 1335.0) (float-vector -242.0 738.0 1365.0)))
         (instance face :init :vertices (list (float-vector 262.0 -738.0 1365.0) (float-vector 262.0 -738.0 1335.0) (float-vector 262.0 738.0 1335.0) (float-vector 262.0 738.0 1365.0)))
         (instance face :init :vertices (list (float-vector -242.0 -738.0 1365.0) (float-vector -242.0 -738.0 1335.0) (float-vector 262.0 -738.0 1335.0) (float-vector 262.0 -738.0 1365.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1365.0) (float-vector -242.0 738.0 1335.0) (float-vector -242.0 -738.0 1335.0) (float-vector -242.0 -738.0 1365.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 738.0 1535.0) (float-vector -242.0 738.0 1535.0) (float-vector -242.0 -738.0 1535.0) (float-vector 262.0 -738.0 1535.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1505.0) (float-vector 262.0 738.0 1505.0) (float-vector 262.0 -738.0 1505.0) (float-vector -242.0 -738.0 1505.0)))
         (instance face :init :vertices (list (float-vector 262.0 738.0 1535.0) (float-vector 262.0 738.0 1505.0) (float-vector -242.0 738.0 1505.0) (float-vector -242.0 738.0 1535.0)))
         (instance face :init :vertices (list (float-vector 262.0 -738.0 1535.0) (float-vector 262.0 -738.0 1505.0) (float-vector 262.0 738.0 1505.0) (float-vector 262.0 738.0 1535.0)))
         (instance face :init :vertices (list (float-vector -242.0 -738.0 1535.0) (float-vector -242.0 -738.0 1505.0) (float-vector 262.0 -738.0 1505.0) (float-vector 262.0 -738.0 1535.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1535.0) (float-vector -242.0 738.0 1505.0) (float-vector -242.0 -738.0 1505.0) (float-vector -242.0 -738.0 1535.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 262.0 738.0 1685.0) (float-vector -242.0 738.0 1685.0) (float-vector -242.0 -738.0 1685.0) (float-vector 262.0 -738.0 1685.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1655.0) (float-vector 262.0 738.0 1655.0) (float-vector 262.0 -738.0 1655.0) (float-vector -242.0 -738.0 1655.0)))
         (instance face :init :vertices (list (float-vector 262.0 738.0 1685.0) (float-vector 262.0 738.0 1655.0) (float-vector -242.0 738.0 1655.0) (float-vector -242.0 738.0 1685.0)))
         (instance face :init :vertices (list (float-vector 262.0 -738.0 1685.0) (float-vector 262.0 -738.0 1655.0) (float-vector 262.0 738.0 1655.0) (float-vector 262.0 738.0 1685.0)))
         (instance face :init :vertices (list (float-vector -242.0 -738.0 1685.0) (float-vector -242.0 -738.0 1655.0) (float-vector 262.0 -738.0 1655.0) (float-vector 262.0 -738.0 1685.0)))
         (instance face :init :vertices (list (float-vector -242.0 738.0 1685.0) (float-vector -242.0 738.0 1655.0) (float-vector -242.0 -738.0 1655.0) (float-vector -242.0 -738.0 1685.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :burlywood1)
     (send (elt bc 1) :set-color :burlywood1)
     (send (elt bc 2) :set-color :burlywood1)
     (send (elt bc 3) :set-color :burlywood1)
     (send (elt bc 4) :set-color :burlywood1)
     (send (elt bc 5) :set-color :burlywood1)
     (send (elt bc 6) :set-color :burlywood1)
     (send (elt bc 7) :set-color :burlywood1)
     (send (elt bc 8) :set-color :burlywood1)
     (send (elt bc 9) :set-color :burlywood1)
     (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 :cupboard-bodyset2
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 5.0 5.0 554.0) (float-vector -5.0 5.0 554.0) (float-vector -5.0 -55.0 554.0) (float-vector 5.0 -55.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 5.0 0.0) (float-vector 5.0 5.0 0.0) (float-vector 5.0 -55.0 0.0) (float-vector -5.0 -55.0 0.0)))
         (instance face :init :vertices (list (float-vector 5.0 5.0 554.0) (float-vector 5.0 5.0 0.0) (float-vector -5.0 5.0 0.0) (float-vector -5.0 5.0 554.0)))
         (instance face :init :vertices (list (float-vector 5.0 -55.0 554.0) (float-vector 5.0 -55.0 0.0) (float-vector 5.0 5.0 0.0) (float-vector 5.0 5.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -55.0 554.0) (float-vector -5.0 -55.0 0.0) (float-vector 5.0 -55.0 0.0) (float-vector 5.0 -55.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 5.0 554.0) (float-vector -5.0 5.0 0.0) (float-vector -5.0 -55.0 0.0) (float-vector -5.0 -55.0 554.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 5.0 -55.0 554.0) (float-vector -5.0 -55.0 554.0) (float-vector -5.0 -703.0 554.0) (float-vector 5.0 -703.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -55.0 0.0) (float-vector 5.0 -55.0 0.0) (float-vector 5.0 -703.0 0.0) (float-vector -5.0 -703.0 0.0)))
         (instance face :init :vertices (list (float-vector 5.0 -55.0 554.0) (float-vector 5.0 -55.0 0.0) (float-vector -5.0 -55.0 0.0) (float-vector -5.0 -55.0 554.0)))
         (instance face :init :vertices (list (float-vector 5.0 -703.0 554.0) (float-vector 5.0 -703.0 0.0) (float-vector 5.0 -55.0 0.0) (float-vector 5.0 -55.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -703.0 554.0) (float-vector -5.0 -703.0 0.0) (float-vector 5.0 -703.0 0.0) (float-vector 5.0 -703.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -55.0 554.0) (float-vector -5.0 -55.0 0.0) (float-vector -5.0 -703.0 0.0) (float-vector -5.0 -703.0 554.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 5.0 -703.0 554.0) (float-vector -5.0 -703.0 554.0) (float-vector -5.0 -763.0 554.0) (float-vector 5.0 -763.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -703.0 0.0) (float-vector 5.0 -703.0 0.0) (float-vector 5.0 -763.0 0.0) (float-vector -5.0 -763.0 0.0)))
         (instance face :init :vertices (list (float-vector 5.0 -703.0 554.0) (float-vector 5.0 -703.0 0.0) (float-vector -5.0 -703.0 0.0) (float-vector -5.0 -703.0 554.0)))
         (instance face :init :vertices (list (float-vector 5.0 -763.0 554.0) (float-vector 5.0 -763.0 0.0) (float-vector 5.0 -703.0 0.0) (float-vector 5.0 -703.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -763.0 554.0) (float-vector -5.0 -763.0 0.0) (float-vector 5.0 -763.0 0.0) (float-vector 5.0 -763.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -703.0 554.0) (float-vector -5.0 -703.0 0.0) (float-vector -5.0 -763.0 0.0) (float-vector -5.0 -763.0 554.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :burlywood1)
     (send (elt bc 1) :set-color :white)
     (gl::transparent (elt bc 1) 0.5)
     (send (elt bc 2) :set-color :burlywood1)
     (setq blink7 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-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 :cupboard-bodyset3
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 5.0 763.0 554.0) (float-vector -5.0 763.0 554.0) (float-vector -5.0 703.0 554.0) (float-vector 5.0 703.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 763.0 0.0) (float-vector 5.0 763.0 0.0) (float-vector 5.0 703.0 0.0) (float-vector -5.0 703.0 0.0)))
         (instance face :init :vertices (list (float-vector 5.0 763.0 554.0) (float-vector 5.0 763.0 0.0) (float-vector -5.0 763.0 0.0) (float-vector -5.0 763.0 554.0)))
         (instance face :init :vertices (list (float-vector 5.0 703.0 554.0) (float-vector 5.0 703.0 0.0) (float-vector 5.0 763.0 0.0) (float-vector 5.0 763.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 703.0 554.0) (float-vector -5.0 703.0 0.0) (float-vector 5.0 703.0 0.0) (float-vector 5.0 703.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 763.0 554.0) (float-vector -5.0 763.0 0.0) (float-vector -5.0 703.0 0.0) (float-vector -5.0 703.0 554.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 5.0 703.0 554.0) (float-vector -5.0 703.0 554.0) (float-vector -5.0 55.0 554.0) (float-vector 5.0 55.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 703.0 0.0) (float-vector 5.0 703.0 0.0) (float-vector 5.0 55.0 0.0) (float-vector -5.0 55.0 0.0)))
         (instance face :init :vertices (list (float-vector 5.0 703.0 554.0) (float-vector 5.0 703.0 0.0) (float-vector -5.0 703.0 0.0) (float-vector -5.0 703.0 554.0)))
         (instance face :init :vertices (list (float-vector 5.0 55.0 554.0) (float-vector 5.0 55.0 0.0) (float-vector 5.0 703.0 0.0) (float-vector 5.0 703.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 55.0 554.0) (float-vector -5.0 55.0 0.0) (float-vector 5.0 55.0 0.0) (float-vector 5.0 55.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 703.0 554.0) (float-vector -5.0 703.0 0.0) (float-vector -5.0 55.0 0.0) (float-vector -5.0 55.0 554.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 5.0 55.0 554.0) (float-vector -5.0 55.0 554.0) (float-vector -5.0 -5.0 554.0) (float-vector 5.0 -5.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 55.0 0.0) (float-vector 5.0 55.0 0.0) (float-vector 5.0 -5.0 0.0) (float-vector -5.0 -5.0 0.0)))
         (instance face :init :vertices (list (float-vector 5.0 55.0 554.0) (float-vector 5.0 55.0 0.0) (float-vector -5.0 55.0 0.0) (float-vector -5.0 55.0 554.0)))
         (instance face :init :vertices (list (float-vector 5.0 -5.0 554.0) (float-vector 5.0 -5.0 0.0) (float-vector 5.0 55.0 0.0) (float-vector 5.0 55.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 -5.0 554.0) (float-vector -5.0 -5.0 0.0) (float-vector 5.0 -5.0 0.0) (float-vector 5.0 -5.0 554.0)))
         (instance face :init :vertices (list (float-vector -5.0 55.0 554.0) (float-vector -5.0 55.0 0.0) (float-vector -5.0 -5.0 0.0) (float-vector -5.0 -5.0 554.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :burlywood1)
     (send (elt bc 1) :set-color :white)
     (gl::transparent (elt bc 1) 0.5)
     (send (elt bc 2) :set-color :burlywood1)
     (setq blink6 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-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 :cupboard-bodyset4
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -262.0 182.0 -145.0) (float-vector -262.0 -182.0 -145.0) (float-vector -262.0 -182.0 145.0) (float-vector -262.0 182.0 145.0)))
         (instance face :init :vertices (list (float-vector 262.0 -182.0 -145.0) (float-vector 262.0 -182.0 145.0) (float-vector -262.0 -182.0 145.0) (float-vector -262.0 -182.0 -145.0)))
         (instance face :init :vertices (list (float-vector 262.0 182.0 -145.0) (float-vector 262.0 182.0 145.0) (float-vector 262.0 172.0 145.0) (float-vector 262.0 172.0 -135.0) (float-vector 262.0 -172.0 -135.0) (float-vector 262.0 -172.0 145.0) (float-vector 262.0 -182.0 145.0) (float-vector 262.0 -182.0 -145.0)))
         (instance face :init :vertices (list (float-vector -262.0 182.0 145.0) (float-vector -262.0 -182.0 145.0) (float-vector 262.0 -182.0 145.0) (float-vector 262.0 -172.0 145.0) (float-vector -252.0 -172.0 145.0) (float-vector -252.0 172.0 145.0) (float-vector 262.0 172.0 145.0) (float-vector 262.0 182.0 145.0)))
         (instance face :init :vertices (list (float-vector 262.0 182.0 -145.0) (float-vector 262.0 -182.0 -145.0) (float-vector -262.0 -182.0 -145.0) (float-vector -262.0 182.0 -145.0)))
         (instance face :init :vertices (list (float-vector -262.0 182.0 -145.0) (float-vector -262.0 182.0 145.0) (float-vector 262.0 182.0 145.0) (float-vector 262.0 182.0 -145.0)))
         (instance face :init :vertices (list (float-vector -252.0 172.0 145.0) (float-vector -252.0 -172.0 145.0) (float-vector -252.0 -172.0 -135.0) (float-vector -252.0 172.0 -135.0)))
         (instance face :init :vertices (list (float-vector -252.0 -172.0 -135.0) (float-vector -252.0 -172.0 145.0) (float-vector 262.0 -172.0 145.0) (float-vector 262.0 -172.0 -135.0)))
         (instance face :init :vertices (list (float-vector 262.0 172.0 -135.0) (float-vector 262.0 172.0 145.0) (float-vector -252.0 172.0 145.0) (float-vector -252.0 172.0 -135.0)))
         (instance face :init :vertices (list (float-vector -252.0 172.0 -135.0) (float-vector -252.0 -172.0 -135.0) (float-vector 262.0 -172.0 -135.0) (float-vector 262.0 172.0 -135.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 272.0 192.0 155.0) (float-vector 262.0 192.0 155.0) (float-vector 262.0 -192.0 155.0) (float-vector 272.0 -192.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 192.0 -145.0) (float-vector 272.0 192.0 -145.0) (float-vector 272.0 -192.0 -145.0) (float-vector 262.0 -192.0 -145.0)))
         (instance face :init :vertices (list (float-vector 272.0 192.0 155.0) (float-vector 272.0 192.0 -145.0) (float-vector 262.0 192.0 -145.0) (float-vector 262.0 192.0 155.0)))
         (instance face :init :vertices (list (float-vector 272.0 -192.0 155.0) (float-vector 272.0 -192.0 -145.0) (float-vector 272.0 192.0 -145.0) (float-vector 272.0 192.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 -192.0 155.0) (float-vector 262.0 -192.0 -145.0) (float-vector 272.0 -192.0 -145.0) (float-vector 272.0 -192.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 192.0 155.0) (float-vector 262.0 192.0 -145.0) (float-vector 262.0 -192.0 -145.0) (float-vector 262.0 -192.0 155.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :burlywood1)
     (setq blink5 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-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 :cupboard-bodyset5
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -262.0 182.0 -329.5) (float-vector -262.0 -182.0 -329.5) (float-vector -262.0 -182.0 329.5) (float-vector -262.0 182.0 329.5)))
         (instance face :init :vertices (list (float-vector 262.0 -182.0 -329.5) (float-vector 262.0 -182.0 329.5) (float-vector -262.0 -182.0 329.5) (float-vector -262.0 -182.0 -329.5)))
         (instance face :init :vertices (list (float-vector 262.0 182.0 -329.5) (float-vector 262.0 182.0 329.5) (float-vector 262.0 172.0 329.5) (float-vector 262.0 172.0 -319.5) (float-vector 262.0 -172.0 -319.5) (float-vector 262.0 -172.0 329.5) (float-vector 262.0 -182.0 329.5) (float-vector 262.0 -182.0 -329.5)))
         (instance face :init :vertices (list (float-vector -262.0 182.0 329.5) (float-vector -262.0 -182.0 329.5) (float-vector 262.0 -182.0 329.5) (float-vector 262.0 -172.0 329.5) (float-vector -252.0 -172.0 329.5) (float-vector -252.0 172.0 329.5) (float-vector 262.0 172.0 329.5) (float-vector 262.0 182.0 329.5)))
         (instance face :init :vertices (list (float-vector 262.0 182.0 -329.5) (float-vector 262.0 -182.0 -329.5) (float-vector -262.0 -182.0 -329.5) (float-vector -262.0 182.0 -329.5)))
         (instance face :init :vertices (list (float-vector -262.0 182.0 -329.5) (float-vector -262.0 182.0 329.5) (float-vector 262.0 182.0 329.5) (float-vector 262.0 182.0 -329.5)))
         (instance face :init :vertices (list (float-vector -252.0 172.0 329.5) (float-vector -252.0 -172.0 329.5) (float-vector -252.0 -172.0 -319.5) (float-vector -252.0 172.0 -319.5)))
         (instance face :init :vertices (list (float-vector -252.0 -172.0 -319.5) (float-vector -252.0 -172.0 329.5) (float-vector 262.0 -172.0 329.5) (float-vector 262.0 -172.0 -319.5)))
         (instance face :init :vertices (list (float-vector 262.0 172.0 -319.5) (float-vector 262.0 172.0 329.5) (float-vector -252.0 172.0 329.5) (float-vector -252.0 172.0 -319.5)))
         (instance face :init :vertices (list (float-vector -252.0 172.0 -319.5) (float-vector -252.0 -172.0 -319.5) (float-vector 262.0 -172.0 -319.5) (float-vector 262.0 172.0 -319.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 272.0 192.0 339.5) (float-vector 262.0 192.0 339.5) (float-vector 262.0 -192.0 339.5) (float-vector 272.0 -192.0 339.5)))
         (instance face :init :vertices (list (float-vector 262.0 192.0 -329.5) (float-vector 272.0 192.0 -329.5) (float-vector 272.0 -192.0 -329.5) (float-vector 262.0 -192.0 -329.5)))
         (instance face :init :vertices (list (float-vector 272.0 192.0 339.5) (float-vector 272.0 192.0 -329.5) (float-vector 262.0 192.0 -329.5) (float-vector 262.0 192.0 339.5)))
         (instance face :init :vertices (list (float-vector 272.0 -192.0 339.5) (float-vector 272.0 -192.0 -329.5) (float-vector 272.0 192.0 -329.5) (float-vector 272.0 192.0 339.5)))
         (instance face :init :vertices (list (float-vector 262.0 -192.0 339.5) (float-vector 262.0 -192.0 -329.5) (float-vector 272.0 -192.0 -329.5) (float-vector 272.0 -192.0 339.5)))
         (instance face :init :vertices (list (float-vector 262.0 192.0 339.5) (float-vector 262.0 192.0 -329.5) (float-vector 262.0 -192.0 -329.5) (float-vector 262.0 -192.0 339.5)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :burlywood1)
     (setq blink4 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-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 :cupboard-bodyset6
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -262.0 374.0 -79.5) (float-vector -262.0 -374.0 -79.5) (float-vector -262.0 -374.0 79.5) (float-vector -262.0 374.0 79.5)))
         (instance face :init :vertices (list (float-vector 262.0 -374.0 -79.5) (float-vector 262.0 -374.0 79.5) (float-vector -262.0 -374.0 79.5) (float-vector -262.0 -374.0 -79.5)))
         (instance face :init :vertices (list (float-vector 262.0 374.0 -79.5) (float-vector 262.0 374.0 79.5) (float-vector 262.0 364.0 79.5) (float-vector 262.0 364.0 -69.5) (float-vector 262.0 -364.0 -69.5) (float-vector 262.0 -364.0 79.5) (float-vector 262.0 -374.0 79.5) (float-vector 262.0 -374.0 -79.5)))
         (instance face :init :vertices (list (float-vector -262.0 374.0 79.5) (float-vector -262.0 -374.0 79.5) (float-vector 262.0 -374.0 79.5) (float-vector 262.0 -364.0 79.5) (float-vector -252.0 -364.0 79.5) (float-vector -252.0 364.0 79.5) (float-vector 262.0 364.0 79.5) (float-vector 262.0 374.0 79.5)))
         (instance face :init :vertices (list (float-vector 262.0 374.0 -79.5) (float-vector 262.0 -374.0 -79.5) (float-vector -262.0 -374.0 -79.5) (float-vector -262.0 374.0 -79.5)))
         (instance face :init :vertices (list (float-vector -262.0 374.0 -79.5) (float-vector -262.0 374.0 79.5) (float-vector 262.0 374.0 79.5) (float-vector 262.0 374.0 -79.5)))
         (instance face :init :vertices (list (float-vector -252.0 364.0 79.5) (float-vector -252.0 -364.0 79.5) (float-vector -252.0 -364.0 -69.5) (float-vector -252.0 364.0 -69.5)))
         (instance face :init :vertices (list (float-vector -252.0 -364.0 -69.5) (float-vector -252.0 -364.0 79.5) (float-vector 262.0 -364.0 79.5) (float-vector 262.0 -364.0 -69.5)))
         (instance face :init :vertices (list (float-vector 262.0 364.0 -69.5) (float-vector 262.0 364.0 79.5) (float-vector -252.0 364.0 79.5) (float-vector -252.0 364.0 -69.5)))
         (instance face :init :vertices (list (float-vector -252.0 364.0 -69.5) (float-vector -252.0 -364.0 -69.5) (float-vector 262.0 -364.0 -69.5) (float-vector 262.0 364.0 -69.5)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 272.0 384.0 89.5) (float-vector 262.0 384.0 89.5) (float-vector 262.0 -384.0 89.5) (float-vector 272.0 -384.0 89.5)))
         (instance face :init :vertices (list (float-vector 262.0 384.0 -79.5) (float-vector 272.0 384.0 -79.5) (float-vector 272.0 -384.0 -79.5) (float-vector 262.0 -384.0 -79.5)))
         (instance face :init :vertices (list (float-vector 272.0 384.0 89.5) (float-vector 272.0 384.0 -79.5) (float-vector 262.0 384.0 -79.5) (float-vector 262.0 384.0 89.5)))
         (instance face :init :vertices (list (float-vector 272.0 -384.0 89.5) (float-vector 272.0 -384.0 -79.5) (float-vector 272.0 384.0 -79.5) (float-vector 272.0 384.0 89.5)))
         (instance face :init :vertices (list (float-vector 262.0 -384.0 89.5) (float-vector 262.0 -384.0 -79.5) (float-vector 272.0 -384.0 -79.5) (float-vector 272.0 -384.0 89.5)))
         (instance face :init :vertices (list (float-vector 262.0 384.0 89.5) (float-vector 262.0 384.0 -79.5) (float-vector 262.0 -384.0 -79.5) (float-vector 262.0 -384.0 89.5)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :burlywood1)
     (setq blink3 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-bodyset6 :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 :cupboard-bodyset7
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -262.0 374.0 -145.0) (float-vector -262.0 -374.0 -145.0) (float-vector -262.0 -374.0 145.0) (float-vector -262.0 374.0 145.0)))
         (instance face :init :vertices (list (float-vector 262.0 -374.0 -145.0) (float-vector 262.0 -374.0 145.0) (float-vector -262.0 -374.0 145.0) (float-vector -262.0 -374.0 -145.0)))
         (instance face :init :vertices (list (float-vector 262.0 374.0 -145.0) (float-vector 262.0 374.0 145.0) (float-vector 262.0 364.0 145.0) (float-vector 262.0 364.0 -135.0) (float-vector 262.0 -364.0 -135.0) (float-vector 262.0 -364.0 145.0) (float-vector 262.0 -374.0 145.0) (float-vector 262.0 -374.0 -145.0)))
         (instance face :init :vertices (list (float-vector -262.0 374.0 145.0) (float-vector -262.0 -374.0 145.0) (float-vector 262.0 -374.0 145.0) (float-vector 262.0 -364.0 145.0) (float-vector -252.0 -364.0 145.0) (float-vector -252.0 364.0 145.0) (float-vector 262.0 364.0 145.0) (float-vector 262.0 374.0 145.0)))
         (instance face :init :vertices (list (float-vector 262.0 374.0 -145.0) (float-vector 262.0 -374.0 -145.0) (float-vector -262.0 -374.0 -145.0) (float-vector -262.0 374.0 -145.0)))
         (instance face :init :vertices (list (float-vector -262.0 374.0 -145.0) (float-vector -262.0 374.0 145.0) (float-vector 262.0 374.0 145.0) (float-vector 262.0 374.0 -145.0)))
         (instance face :init :vertices (list (float-vector -252.0 364.0 145.0) (float-vector -252.0 -364.0 145.0) (float-vector -252.0 -364.0 -135.0) (float-vector -252.0 364.0 -135.0)))
         (instance face :init :vertices (list (float-vector -252.0 -364.0 -135.0) (float-vector -252.0 -364.0 145.0) (float-vector 262.0 -364.0 145.0) (float-vector 262.0 -364.0 -135.0)))
         (instance face :init :vertices (list (float-vector 262.0 364.0 -135.0) (float-vector 262.0 364.0 145.0) (float-vector -252.0 364.0 145.0) (float-vector -252.0 364.0 -135.0)))
         (instance face :init :vertices (list (float-vector -252.0 364.0 -135.0) (float-vector -252.0 -364.0 -135.0) (float-vector 262.0 -364.0 -135.0) (float-vector 262.0 364.0 -135.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 272.0 384.0 155.0) (float-vector 262.0 384.0 155.0) (float-vector 262.0 -384.0 155.0) (float-vector 272.0 -384.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 384.0 -145.0) (float-vector 272.0 384.0 -145.0) (float-vector 272.0 -384.0 -145.0) (float-vector 262.0 -384.0 -145.0)))
         (instance face :init :vertices (list (float-vector 272.0 384.0 155.0) (float-vector 272.0 384.0 -145.0) (float-vector 262.0 384.0 -145.0) (float-vector 262.0 384.0 155.0)))
         (instance face :init :vertices (list (float-vector 272.0 -384.0 155.0) (float-vector 272.0 -384.0 -145.0) (float-vector 272.0 384.0 -145.0) (float-vector 272.0 384.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 -384.0 155.0) (float-vector 262.0 -384.0 -145.0) (float-vector 272.0 -384.0 -145.0) (float-vector 272.0 -384.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 384.0 155.0) (float-vector 262.0 384.0 -145.0) (float-vector 262.0 -384.0 -145.0) (float-vector 262.0 -384.0 155.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :burlywood1)
     (setq blink2 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-bodyset7 :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 :cupboard-bodyset8
     (setq bc (list
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector -262.0 374.0 -145.0) (float-vector -262.0 -374.0 -145.0) (float-vector -262.0 -374.0 145.0) (float-vector -262.0 374.0 145.0)))
         (instance face :init :vertices (list (float-vector 262.0 -374.0 -145.0) (float-vector 262.0 -374.0 145.0) (float-vector -262.0 -374.0 145.0) (float-vector -262.0 -374.0 -145.0)))
         (instance face :init :vertices (list (float-vector 262.0 374.0 -145.0) (float-vector 262.0 374.0 145.0) (float-vector 262.0 364.0 145.0) (float-vector 262.0 364.0 -135.0) (float-vector 262.0 -364.0 -135.0) (float-vector 262.0 -364.0 145.0) (float-vector 262.0 -374.0 145.0) (float-vector 262.0 -374.0 -145.0)))
         (instance face :init :vertices (list (float-vector -262.0 374.0 145.0) (float-vector -262.0 -374.0 145.0) (float-vector 262.0 -374.0 145.0) (float-vector 262.0 -364.0 145.0) (float-vector -252.0 -364.0 145.0) (float-vector -252.0 364.0 145.0) (float-vector 262.0 364.0 145.0) (float-vector 262.0 374.0 145.0)))
         (instance face :init :vertices (list (float-vector 262.0 374.0 -145.0) (float-vector 262.0 -374.0 -145.0) (float-vector -262.0 -374.0 -145.0) (float-vector -262.0 374.0 -145.0)))
         (instance face :init :vertices (list (float-vector -262.0 374.0 -145.0) (float-vector -262.0 374.0 145.0) (float-vector 262.0 374.0 145.0) (float-vector 262.0 374.0 -145.0)))
         (instance face :init :vertices (list (float-vector -252.0 364.0 145.0) (float-vector -252.0 -364.0 145.0) (float-vector -252.0 -364.0 -135.0) (float-vector -252.0 364.0 -135.0)))
         (instance face :init :vertices (list (float-vector -252.0 -364.0 -135.0) (float-vector -252.0 -364.0 145.0) (float-vector 262.0 -364.0 145.0) (float-vector 262.0 -364.0 -135.0)))
         (instance face :init :vertices (list (float-vector 262.0 364.0 -135.0) (float-vector 262.0 364.0 145.0) (float-vector -252.0 364.0 145.0) (float-vector -252.0 364.0 -135.0)))
         (instance face :init :vertices (list (float-vector -252.0 364.0 -135.0) (float-vector -252.0 -364.0 -135.0) (float-vector 262.0 -364.0 -135.0) (float-vector 262.0 364.0 -135.0)))
       ))
       (instance faceset :init :faces (list
         (instance face :init :vertices (list (float-vector 272.0 384.0 155.0) (float-vector 262.0 384.0 155.0) (float-vector 262.0 -384.0 155.0) (float-vector 272.0 -384.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 384.0 -145.0) (float-vector 272.0 384.0 -145.0) (float-vector 272.0 -384.0 -145.0) (float-vector 262.0 -384.0 -145.0)))
         (instance face :init :vertices (list (float-vector 272.0 384.0 155.0) (float-vector 272.0 384.0 -145.0) (float-vector 262.0 384.0 -145.0) (float-vector 262.0 384.0 155.0)))
         (instance face :init :vertices (list (float-vector 272.0 -384.0 155.0) (float-vector 272.0 -384.0 -145.0) (float-vector 272.0 384.0 -145.0) (float-vector 272.0 384.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 -384.0 155.0) (float-vector 262.0 -384.0 -145.0) (float-vector 272.0 -384.0 -145.0) (float-vector 272.0 -384.0 155.0)))
         (instance face :init :vertices (list (float-vector 262.0 384.0 155.0) (float-vector 262.0 384.0 -145.0) (float-vector 262.0 -384.0 -145.0) (float-vector 262.0 -384.0 155.0)))
       ))
       ))
     (dolist (b (cdr bc)) (send (car bc) :assoc b))
     (send (elt bc 0) :set-color :white)
     (send (elt bc 1) :set-color :burlywood1)
     (setq blink1 (instance bodyset-link :init (make-cascoords) :bodies bc :name :cupboard-bodyset8 :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 0.0 0.0 145.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 blink2 :newcoords (make-coords :pos (float-vector 0.0 0.0 445.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 blink3 :newcoords (make-coords :pos (float-vector 0.0 0.0 679.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 blink4 :newcoords (make-coords :pos (float-vector 0.0 -576.0 429.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 blink5 :newcoords (make-coords :pos (float-vector 0.0 576.0 145.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink5)
     (send blink6 :newcoords (make-coords :pos (float-vector 267.0 -763.0 1355.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink6)
     (send blink7 :newcoords (make-coords :pos (float-vector 267.0 763.0 1355.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))))
     (send blink0 :assoc blink7)
     (send self :assoc blink0)

     ;; definition of end-coords

     ;; definition of joint

     ;; definition of :drawer0
     (setq joint0 (instance linear-joint :init
			     :parent-link blink0 :child-link blink1 :name :drawer0   :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  544.0 :max-joint-velocity 0.785398 :max-joint-torque 100))

     ;; definition of :drawer1
     (setq joint1 (instance linear-joint :init
			     :parent-link blink0 :child-link blink2 :name :drawer1   :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  544.0 :max-joint-velocity 0.785398 :max-joint-torque 100))

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

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

     ;; definition of :drawer4
     (setq joint4 (instance linear-joint :init
			     :parent-link blink0 :child-link blink5 :name :drawer4   :axis (float-vector 1.0 0.0 0.0)
			     :min    0.0 :max  544.0 :max-joint-velocity 0.785398 :max-joint-torque 100))

     ;; definition of :door-upper-right
     (setq joint5 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink6 :name :door-upper-right :axis :-z
			     :min    0.0 :max   90.0 :max-joint-velocity 5 :max-joint-torque 100))

     ;; definition of :door-upper-left
     (setq joint6 (instance rotational-joint :init
			     :parent-link blink0 :child-link blink7 :name :door-upper-left :axis :z 
			     :min    0.0 :max   90.0 :max-joint-velocity 5 :max-joint-torque 100))


     ;; definition of :handle
     (setq handle0 (make-cascoords :pos (float-vector 0.0 0.0 0.0) :rot #2f((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0)) :name "handle0"))
     (send blink0 :assoc handle0)

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

     self))

  (:drawer0 (&rest args) (forward-message-to joint0 args))
  (:drawer1 (&rest args) (forward-message-to joint1 args))
  (:drawer2 (&rest args) (forward-message-to joint2 args))
  (:drawer3 (&rest args) (forward-message-to joint3 args))
  (:drawer4 (&rest args) (forward-message-to joint4 args))
  (:door-upper-right (&rest args) (forward-message-to joint5 args))
  (:door-upper-left (&rest args) (forward-message-to joint6 args))
  (:handle (&rest args) (forward-message-to-all (list  handle0) args))
  (:handle-handle0 (&rest args) (forward-message-to handle0 args))
  (:attention (&rest args) (forward-message-to-all (list ) args))
  (:button (&rest args) (forward-message-to-all (list ) args))
  )

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