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 <[email protected]>
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
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
--------------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python