Tweening weld to form a spinning didn't move as I expected

Hi devs, I’m trying to make a helicopter for a cutscene for my game. Well, i want its rotor to spin while the whole model move, basically tween a model and its submodel while keep the submodel’s position relative to the model. So I did it by weld all the rotor’s parts to that rotor’s primaryPart by using weld constrains, and used a normal weld to weld the rotor’s primaryPart and the helicopter’s primaryPart.

And I used this script to spin the rotor.

wait(3)

local tweenservice = game:GetService("TweenService")

while true do
	wait()
	script.Parent.TailRotorPrimary["TailRotorPrimary 🡪 Primary"].C0 = script.Parent.TailRotorPrimary["TailRotorPrimary 🡪 Primary"].C0 * CFrame.fromEulerAnglesXYZ(0.05, 0, 0)
end

However this is the result.

I don’t know what is the issue, please help, thanks in advance.

You aren’t using tween

You’re just adding onto the rotation, specifically the X rotation:

look at this part and try adjusting it til it works:

Also, if you’re going to use wait()
use task.wait() instead

CFrame.fromEulerAnglesXYZ(0.05, 0, 0) -- Don't put in the X value since it isn't the one you want to rotate as shown

tried adjusting x, y, z and it still spin very weird.
I also tried using tween like this:

wait(3)

local tweenservice = game:GetService("TweenService")


while true do
	task.wait()
	tweenservice:Create(script.Parent.TailRotorPrimary["TailRotorPrimary 🡪 Primary"], TweenInfo.new(1), {C0 = script.Parent.TailRotorPrimary["TailRotorPrimary 🡪 Primary"].C0 * CFrame.fromEulerAnglesXYZ(0, 0 , 180)}):Play()
end

However it spin the same as I did.

bump the topic. Still need help!