/// Getting RotationValue
string $jointSS[]=`ls -sl`;
float $rX_value=`getAttr($jointSS[0]+".rotateX")`;
float $rY_value=`getAttr($jointSS[0]+".rotateY")`;
float $rZ_value=`getAttr($jointSS[0]+".rotateZ")`;
////
if($rX_value!=0){
string $Xrange=`shadingNode -asUtility clamp -n "Xrange"`;
connectAttr -f ($jointSS[0]+".rotateX") ($Xrange+".inputR");
setAttr ($Xrange+".minR") ($rX_value -90);
setAttr ($Xrange+".maxR")($rX_value +90);
// change Range of Value
string $Xrange_change=`shadingNode -asUtility plusMinusAverage -n "Xrange_change"`;
setAttr ($Xrange_change+".operation") 2;
connectAttr -f ($Xrange+".outputR") ($Xrange_change+".input1D[0]");
setAttr ($Xrange_change+".input1D[1]") $rX_value;
//////
string $Xrange_change2=`shadingNode -asUtility multiplyDivide -n "Xrange_change2"`;
setAttr ($Xrange_change2+".operation") 2;
connectAttr -f ($Xrange_change+".output1D") ($Xrange_change2+".input1X");
setAttr ($Xrange_change2+".input2X") 90;
/// limite of range to negative 1 to positive 1
string $Xrange_limited=`shadingNode -asUtility clamp -n "Xrange_limited"`;
connectAttr -f ($Xrange_change2+".outputX") ($Xrange_limited+".inputR");
setAttr ($Xrange_limited+".minR") -1;
setAttr ($Xrange_limited+".maxR") 1;
// change sign of Value
string $Xrange_changeSign=`shadingNode -asUtility plusMinusAverage -n "Xrange_changeSign"`;
setAttr ($Xrange_changeSign+".operation") 2;
setAttr ($Xrange_changeSign+".input1D[0]") 0;
connectAttr -f ($Xrange_limited+".outputR") ($Xrange_changeSign+".input1D[1]");
/// choose positive value
string $ConditionGreaterZero=`shadingNode -asUtility condition -n "ConditionGreaterZero"`;
setAttr ($ConditionGreaterZero+".operation") 2;
connectAttr -f ($Xrange_limited+".outputR") ($ConditionGreaterZero+".firstTerm");
connectAttr -f ($Xrange_limited+".outputR") ($ConditionGreaterZero+".colorIfTrueR");
connectAttr -f ($Xrange_changeSign+".output1D") ($ConditionGreaterZero+".colorIfFalseR");
}