     else
       console.log "! lnk1 miss"
 
+  #onmouseuphandlers
+  placingUp: (event) ->
+    console.log "plop"
+    @ve.container.onmousemove = null
+    @ve.container.onmousedown = (eve) => @baseDown(eve)
+    @ve.container.onmouseup = null
+
+
   #onmousemove handlers
   placingMove: (event) ->
     @updateMouse(event)

          console.log "! placing objects"
          @makePlacingObject(e)
          @ve.container.onmousemove = (eve) => @placingMove(eve)
          @ve.container.onmousedown = (eve) => @placingDown(eve)

    if ixs.length > 1 and
      ixs[1].object.userData instanceof Surface and

    if ixs.length > 0 and ixs[0].object.userData.cyjs?
      e = ixs[0].object.userData
      console.log "! lnk0 " + e.constructor.name
      pos0 = ixs[0].object.linep
      pos1 = new THREE.Vector3(
        ixs[0].object.position.x,
