set path [get3DEInstallPath] source $path/user_data/tcl_archive/veclib.tcl post3DEInfoRequester " \n3DEtoNuke Export Script, Version 1.0\n" set fobj [getSelectedFobj] if {$fobj==0}\ { post3DEInfoRequester "\nError, there is no Sequence/Ref. Frame selected.\n" return } set pg [getSelectedPGroup] if {$pg==0}\ { post3DEInfoRequester "\nError, there is no Pointgroup selected.\n" return } set zooming [getFobjZoomingFlag $fobj] set camera [getFobjCamera $fobj] set horiz [getCameraHorizAngle $camera] set horiz [expr ($horiz*180.0)/3.1415] set verti [getCameraVertiAngle $camera] set verti [expr ($verti*180.0)/3.1415] set no_frames [getFobjNoFrames $fobj] set seqname [getFobjName $fobj] set filename [post3DEFileRequester "Export Nuke Script file..." "*"] if {$filename!=""}\ { set file [open $filename w+]; # header... puts $file "#! nuke4.3 -nx" puts $file "version 4.3035" puts $file "Root {" puts $file " inputs 0" puts $file " name $filename" puts $file " window {4 44 1266 969 1 -300 -366 1}" puts $file " curve_editor {-2147483648 -2147483648 600 300 0 0 0 0}" puts $file " frame 1" puts $file " format \"640 480 0 0 640 480 1 PC_Video\"" puts $file " proxy_format \"640 480 0 0 640 480 1 PC_Video\"" puts $file " lookup {lookup {to_sRGB(x) C 0 255}}" puts $file "}" # scene node... puts $file "push 0" puts $file "Axis {" puts $file " name Scene3DE" puts $file " xpos 636" puts $file " ypos -217" puts $file " icon node_axis.xpm" puts $file " panel {324 404 426 236 0 2}" puts $file "}" puts $file "set N870d298 \[stack 0\]" # camera node... puts $file "Camera {" puts -nonewline $file " translate {" # translate curve x... puts -nonewline $file "{curve i " for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set pos3d [getPGroupPosition3D $pg $fobj $frame] set c [lindex $pos3d 0] puts -nonewline $file "x$frame $c" } puts -nonewline $file "} " # translate curve y... puts -nonewline $file "{curve i " for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set pos3d [getPGroupPosition3D $pg $fobj $frame] set c [lindex $pos3d 1] puts -nonewline $file "x$frame $c" } puts -nonewline $file "} " # translate curve z... puts -nonewline $file "{curve i " for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set pos3d [getPGroupPosition3D $pg $fobj $frame] set c [lindex $pos3d 2] puts -nonewline $file "x$frame $c" } puts -nonewline $file "} " puts $file "}" puts -nonewline $file " rotate {" # rotate curve x... puts -nonewline $file "{curve i " for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set mtx [getPGroupRotation3D $pg $fobj $frame] set rot3d [mat3rotangles $mtx 1 0 2] set c [lindex $rot3d 1] set c [expr ($c*180.0)/3.1415] puts -nonewline $file "x$frame $c" } puts -nonewline $file "} " # rotate curve y... puts -nonewline $file "{curve i " for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set mtx [getPGroupRotation3D $pg $fobj $frame] set rot3d [mat3rotangles $mtx 1 0 2] set c [lindex $rot3d 0] set c [expr ($c*180.0)/3.1415] puts -nonewline $file "x$frame $c" } puts -nonewline $file "} " # rotate curve z... puts -nonewline $file "{curve i " for {set frame 1} {$frame<=$no_frames} {set frame [expr $frame+1]}\ { set mtx [getPGroupRotation3D $pg $fobj $frame] set rot3d [mat3rotangles $mtx 1 0 2] set c [lindex $rot3d 2] set c [expr ($c*180.0)/3.1415] puts -nonewline $file "x$frame $c" } puts -nonewline $file "} " puts $file "}" puts $file " haperture $horiz" puts $file " vaperture $verti" puts $file " win_scale {1 1}" puts $file " name $seqname" puts $file " xpos 530" puts $file " ypos -111" puts $file " icon node_camera.xpm" puts $file " indicators 1" puts $file " panel {775 610 435 236 0 1}" puts $file "}" # points... set xpos 636 for {set point [getFirstPoint $pg]} {$point!=0} {set point [getNextPoint $pg $point]}\ { if {[isPointCalculated3D $pg $point]}\ { set pos3d [getPointCalcPosition3D $pg $point] set name [getPointName $pg $point] puts $file "push \$N870d298" puts $file "Axis {" puts $file " translate {$pos3d}" puts $file " name P$name" puts $file " xpos $xpos" puts $file " ypos -111" puts $file " icon node_axis.xpm" puts $file " panel {819 694 426 236 0 2}" puts $file "}" set xpos [expr $xpos+100] } } close $file }