XSIforum.com

synoptic view

0 Usuarios y 1 Visitante están viendo este tema.

tanis_69

synoptic view
« en: 14 Mayo 2004, 17:56:45 »
a ver si me podeis echar una manilla;
estoy intentando crear una funcion para seleccionar, añadir a la seleccion, ... con el synoptic; he copiado las funciones que aparecen en el synoptic del rig biped de ejemplo en xsi, y lo he modificado un poco para ahorrar funciones de comprobacion de errores (si la buscais en el sinoptic original, es la funcion "checkCollision", en el archivo BipedSynoptic_ik1.html).Sin embargo, y a pesar de todos los cabezazos que llevo contra el monitor no consigo que funciones el dichoso script.
Agradeceria para y por siempre una ayuda antes de que suicide
 :D

Gracias

tanis_69

Re: synoptic view
« Respuesta #1 en: 14 Mayo 2004, 17:59:10 »
Se me olvidaba el codigo:

sub cubo(in_obj)

   fselect  in_obj, "cubo"

end sub

sub cono(in_obj)

   fselect  in_obj, "cono"

end sub

function fselect (in_obj, inName)


set oRoot = Application.ActiveProject.ActiveScene.Root
set myObj = oRoot.FindChild("inName")

   
   GetKeyboardState , modKey

   select Case CByte(modKey)
   
      case 0 ' "Nothing Selected"

         SelectObj myObj.model & "." & inName   

      case 1 logmessage "Shift"      
         
            AddToSelection myObj.model & "." & inName            
         
      case 2 ' "Ctrl"

         ToggleSelection myObj.model & "." & inName

      case 3 ' "Shift/Ctrl"   

         RemoveFromSelection myObj.model & "." & inName      

      case 4 ' "Alt"

         SelectObj myObj.model & "." & inName, "BRANCH", True

      case 5 ' "Alt/Shift"

            AddToSelection myObj.model & "." & inName, "BRANCH", True
         
      case 6 ' "Alt/Ctrl"

         ToggleSelection myObj.model & "." & inName, "BRANCH", True

      case 7 ' "Alt/Shift/Ctrl"

         RemoveFromSelection myObj.model & "." & inName
   end select


   
end function

Gracias de nuevo

Aliaz

  • *
  • 25
  • XSI 4 ever
Re: synoptic view
« Respuesta #2 en: 14 Mayo 2004, 19:13:24 »
aqui lo tienes!!!

sub cubo(in_obj)

   fselect  in_obj, "cubo"

end sub

sub cono(in_obj)

   fselect  in_obj, "cono"

end sub

function checkCollision(inObj)
   
   dim sel, elem
   set sel = GetValue("SelectionList")
   
   SelectChildNodes
   
   for each elem in Selection
      if elem = inObj then
         checkCollision = True
         SelectObj sel
         exit function
      end if
   next
   
   checkCollision = False
   SelectObj sel
   
end function

function fselect(in_obj, inName)

   set oRoot = Application.ActiveProject.ActiveScene.Root
   set myObj = oRoot.FindChild(in_obj)
   
   GetKeyboardState , modKey

   select case CByte(modKey)
   
      case 0 ' "Nothing Selected"
         SelectObj myObj.model & "." & inName   
      case 1 logmessage "Shift"      
         'check the object isn't already selected
         if checkCollision(myObj.model.FindChild(inName)) = False then   
            AddToSelection myObj.model & "." & inName   
         end if
         
      case 2 ' "Ctrl"
         ToggleSelection myObj.model & "." & inName   
      case 3 ' "Shift/Ctrl"   
         RemoveFromSelection myObj.model & "." & inName            
      case 4 ' "Alt"
         SelectObj myObj.model & "." & inName, "BRANCH", True
      case 5 ' "Alt/Shift"
         'check the object isn't already selected
         if checkCollision(myObj.model.FindChild(inName)) = False then
            AddToSelection myObj.model & "." & inName, "BRANCH", True
         end if
      case 6 ' "Alt/Ctrl"
         ToggleSelection myObj.model & "." & inName, "BRANCH", True
      case 7 ' "Alt/Shift/Ctrl"
         RemoveFromSelection myObj.model & "." & inName
   end select

end function

tanis_69

Re: synoptic view
« Respuesta #3 en: 14 Mayo 2004, 19:51:05 »
Muchas gracias tio!!!!!!!!!!!
 O0
Porfin puedo dejar de darme golpes con el monitor
Has sido muy rapido, gracias, de verdad
Si alguien pudiera decirme donde estaba el fallo en mi script, ....pos ya seria la ostia.
 ;D

Aliaz

  • *
  • 25
  • XSI 4 ever
Re: synoptic view
« Respuesta #4 en: 14 Mayo 2004, 19:59:30 »
El fallo principal esta en esta linea

set myObj = oRoot.FindChild("inName")

la correction es

set myObj = oRoot.FindChild(in_obj)

tanis_69

Re: synoptic view
« Respuesta #5 en: 14 Mayo 2004, 21:52:03 »
Gracias por toda la ayuda!!!!!!!
 ^-^