A little help with a basic TCL script

Hi all. I am a quite new to scripting in any form and was just looking for a bit of a hand. I am attempting to set up a projection camera gizmo that sets itself by frame (based on the camera tracker) as well as sets up a Project3d node and associated Card.

I am running into a bit of trouble in that the node does what I want it to until I have multiple instances, then the variables I am setting are over riding the previously set variables.

So what I am asking in sort is there any way to set unique variable names automatically based on the node name (or some other method) then call those names later in expression links?

Additionally is there any way to create a floating point slider with a range that can be controlled via expression? For example if I wanted to set the limits to Read1.first and Read1.last?

Anyway, here is the code so far. Cheers!!

Code:


set cut_paste_input [stack 0]
version 6.3 v1
push $cut_paste_input
Camera {
 display textured
 translate {{CameraTracker1.camTranslate(proFrame)} {CameraTracker1.camTranslate(proFrame)} {CameraTracker1.camTranslate(proFrame)}}
 rotate {{CameraTracker1.camRotate(proFrame)} {CameraTracker1.camRotate(proFrame)} {CameraTracker1.camRotate(proFrame)}}
 focal {{CameraTracker1.focalLength(proFrame)}}
 haperture {{CameraTracker1.aperture.x(proFrame)}}
 vaperture {{CameraTracker1.aperture.y(proFrame)}}
 win_translate {{CameraTracker1.windowTranslate(proFrame)} {CameraTracker1.windowTranslate(proFrame)}}
 win_scale {{CameraTracker1.windowScale(proFrame)} {CameraTracker1.windowScale(proFrame)}}
 name Projector
 label "\[value proFrame]"

 addUserKnob {20 ProjectionSetup l "Projection Setup" t "Auto Setup Project3d and ProjCard Nodes "}
 addUserKnob {32 ProjHere l "Select This Frame" T "set projCurFrame \[value this.frame]" +STARTLINE}
 addUserKnob {3 proFrame l "Projection Frame" t "Select Projection Frame by Value or Set Here Button"}
 proFrame {{"\$projCurFrame"}}
 addUserKnob {32 setProj l "Projection Setup" T "set projNode \[value this.name]\n\nset cut_paste_input \[stack 0]\nversion 6.3 v1\npush \$cut_paste_input\npush 0\nProject3D \{\n inputs 2\n name Project3D\n selected true\n\n\}\n\nset cut_paste_input \[stack 0]\nversion 6.3 v1\npush \$cut_paste_input\nCard2 \{\n translate \{0 0 0\}\n rotate \{\{parent.\$projNode.rotate i\} \{parent.\$projNode.rotate i\} \{parent.\$projNode.rotate i\}\}\n\n\n name ProjCard\n\}\n" +STARTLINE}
}


No Responses to “A little help with a basic TCL script”

Post a Comment