Sorry, I probably should have been a little more clear. What I meant is 
basically using the GUI itself as a front-end for user input and confirmation 
only, and then gathering its values after the fact. Very simple example:

class ImportCameraDialog(nukescripts.PythonPanel):
    def __init__(self):
        super(ImportCameraDialog, self).__init__('import camera')
        self.fbxFile = ''
        self.fbxFileKnob = nuke.File_Knob('fbx_path', 'fbx path')
        self.addKnob(self.fbxFileKnob)

    def knobChanged(self, knob):
        if knob is self.fbxFileKnob:
            self.fbxFile = self.fbxFileKnob.value()


d = ImportCameraDialog()
if d.showModalDialog():
    fbxPath = d.fbxFile.strip()
    if fbxPath:
        # Validate path, create your node here, etc.
        pass


I don’t necessarily know if this will make a difference, but I think it’s worth 
a try.

-Nathan



From: Simon Björk 
Sent: Sunday, November 04, 2012 1:35 PM
To: Nuke Python discussion 
Subject: Re: [Nuke-python] Import fbx via PythonPanel

Hi Nathan, 

thanks for your reply. I'm not really sure I understand how you mean, but I 
tried this and got the same results (not working).

class import_camera(nukescripts.PythonPanel):
    def __init__(self):
        nukescripts.PythonPanel.__init__(self, 'import camera')
        self.import_camera = nuke.PyScript_Knob("import_camera", "import 
camera")
        self.addKnob(self.import_camera)

    def knobChanged(self, knob):
        if knob is self.import_camera:
            test()

import_camera().show()

def test():

    filepath = "C:/Users/Simon/Desktop/A018_C001_05075H_baked.fbx"
    cam_name = "Camera_A018_C001_05075H"
    c = nuke.createNode('Camera2', 'file "%s"  read_from_file True'  % filepath)
    c.forceValidate()
    c["fbx_take_name"].setValue("Take 001")
    c["fbx_node_name"].setValue(cam_name)

Cheers,
Simon










2012/11/4 Nathan Rusch <nathan_ru...@hotmail.com>

  Have you tried using your PythonPanel subclass the same way you’re using the 
simple Panel, as opposed to encapsulating your node creation code in the class 
itself?

  -Nathan



  From: Simon Björk 
  Sent: Sunday, November 04, 2012 11:04 AM
  To: Nuke Python discussion 
  Subject: [Nuke-python] Import fbx via PythonPanel

  I'm trying to import an fbx file using a PythonPanel, but for some reason it 
doesn't work. Using forceValidate() the camera loads, but it doesn't set 
animation, focal etc. Strange thing is it works perfectly if I use a simple 
panel istead (I don't even have to use forceValidate()). Anyone have any idea 
why this is? I've found old treads where people had problems loading an fbx 
from a terminal session.

  Example code PythonPanel (does not work):

  class import_camera(nukescripts.PythonPanel):
      def __init__(self):
          nukescripts.PythonPanel.__init__(self, 'import camera')
          self.import_camera = nuke.PyScript_Knob("import_camera", "import 
camera")
          self.addKnob(self.import_camera)

      def knobChanged(self, knob):
          if knob is self.import_camera:

              filepath = "C:/Users/Simon/Desktop/A018_C001_05075H_baked.fbx"
              cam_name = "Camera_A018_C001_05075H"

              c = nuke.createNode('Camera2', 'file "%s"  read_from_file True'  
% filepath)
              c.forceValidate()
              c["fbx_take_name"].setValue("Take 001")
              c["fbx_node_name"].setValue(cam_name)

  import_camera().show()

  Example code simple panel (works):

  p = nuke.Panel("import camera")
  result = p.show()
  if result:

      filepath = "C:/Users/Simon/Desktop/A018_C001_05075H_baked.fbx"
      cam_name = "Camera_A018_C001_05075H"

      c = nuke.createNode('Camera2', 'file "%s"  read_from_file True'  % 
filepath)
      c["fbx_take_name"].setValue("Take 001")
      c["fbx_node_name"].setValue(cam_name)

  Cheers,
  Simon

------------------------------------------------------------------------------
  _______________________________________________
  Nuke-python mailing list
  Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
  http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python


  _______________________________________________
  Nuke-python mailing list
  Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
  http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python





--------------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
Nuke-python@support.thefoundry.co.uk, http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to