Notifications
Clear all

[Closed] rotate object only, but not axis

I need a script to rotate selected bones on set angle, but axis shouldn’t move/rotate.
From different sources I collect 3 variants of script, but all of them rotating not only bones but also axis.
So could anyone help me find a solution.

variants:

$.boneEnable=false
toolMode.coordsys #local
maxops.pivotmode = #objectonly

rotate $ (angleaxis -90 [0,0,1])
$.boneEnable=false
toolMode.coordsys #local
maxops.pivotmode = #objectonly

currentMatrix = $.transform
preRotate currentMatrix (eulertoquat (eulerAngles 0 0 -90))
$.transform = currentMatrix
------------------------------------------------------
-- Set the given object's rotation to the given values
------------------------------------------------------

$.boneEnable=false
toolMode.coordsys #local
maxops.pivotmode = #objectonly

fn SetObjectRotation obj rx ry rz =
(
	-- Reset the object's transformation matrix so that 
	-- it only includes position and scale information. 
	-- Doing this clears out any previous object rotation.
	local translateMat = transMatrix obj.transform.pos
	local scaleMat = scaleMatrix obj.transform.scale
	obj.transform = scaleMat * translateMat
   
	-- Perform each axis rotation individually
	rotate obj (angleaxis rx [1,0,0])
	rotate obj (angleaxis ry [0,1,0])
	rotate obj (angleaxis rz [0,0,1])
)

-- Set currently selected Object's rotation to 80 50 100
SetObjectRotation selection[1] 0 0 -90

important qualification: after rotating (or before, it doesn’t matter) i need to make small all selected bones, for example

$.width = 0.125
$.height = 0.125
$.length = 0.125