Need help with local axis and rotating

i wrote this for a part when its facing the X axis

Tween:Create(Elevator.PrimaryPart.DoorLeft, TweenInfo.new(3, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, false, 0), {C0  = CFrame.new(Elevator.PrimaryPart.DoorLeft.C1.X * -2,0,0)}):Play()

before script;

afterscript ;

trying this on a part when its facing a different way ends up in this ;
image
the metal parts are the doors and are supposed to be spread open

is there a way to make this detect what axis its looking and open based on that?

You can grab the original CFrame object, and multiply it by an offset.

local NewCFrame = Object.CFrame * CFrame.new(2,0,0) -- Change this to the part you want to change

This ensures that when you plug this variable inside the Tween, it will move 2 studs on its local axis.
You might need to tinker around the second CFrame if those offsets are not what you wanted.

Is there an automatic way to do this? can toobjectspace be used for this?