Is there a way to change the orientation of a whole model without using SetPrimaryPartsCFrame

I want to change the orientation not cframe nor using cframe.Angles. CFrame Angles change each axis
so if I had the Y axis at 45 degrees and changed the X to 50 it changes the Y axis again but with orientation this doesn’t happen. So is there a way to do this? Any Help is appreciated!

Why not model:SetPrimaryPartCFrame(CFrame.new(model.PrimaryPart.CFrame.Position) * CFrame.fromOrientation(math.rad(50), math.rad(45), 0). This removes the orientation that the model already has then applies your own.

that’s gonna be a slight problem, I do not want to remove the old orientation, say for example the model is tipped up 60 degrees on the X axis, when I rotate it on the Y axis I don’t want it to be the Y axis relative to the model, but instead relative to the world.

Sorry, I was busy.

Try something along these lines:

local Model = workspace.Model
local Rot = CFrame.Angles(0,math.rad(90),0) 
local Part = Model.PrimaryPart 
local globalSpace = Rot:ToObjectSpace(Part.CFrame) 
Model:SetPrimaryPartCFrame(CFrame.fromMatrix(Part.CFrame.Position, globalSpace.XVector, globalSpace.YVector, globalSpace.ZVector))

This will rotate Model 90 degrees relative to the global Y Axis regardless of it’s current orientation.

is there a way to remove the X axis

so i tried adding the Z axis but when rotating at a certain angle it changes the X axis too