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 <bjork.si...@gmail.com> > *Sent:* Sunday, November 04, 2012 11:04 AM > *To:* Nuke Python discussion <nuke-python@support.thefoundry.co.uk> > *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