I got 3 parts here. Without making them one part, I’d like to rotate the middle part.

Would like the other 2 parts to rotate with it.

Tried everything I can think of nothing seems to work.
Want to make a function I can send an angle to the middle part.
Really don’t understand why this is so hard to figure out.

This is the real item welded together …
Two rockets and a Axel, 3 parts …

Group all parts into a model, select the middle as primaryPart and use PivotTo to the model to do whatever you want with.

Weld all these parts together and use CFrame to manipulate one of them, so all the other parts will still be welded. Using Vector3 Position or orientation is destroying welds.

The post don’t work … it movesthe part on the wrong axis and it isn’t moving all them.
looks just like all the scripts and ways I tried … it would be (Value, 0, 0) if it worked.

In case anyone is interested … finished function()
I was so close …

task.wait(3) -- so i can see it happen
local Model = workspace.Rocket
local TweenService = game:GetService("TweenService")
function rot(rockets, speed, angle)
local targetRotation = Vector3.new(angle, 0, 0)
local tweenInfo = TweenInfo.new(speed, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0)
local tween = TweenService:Create(rockets.PrimaryPart, tweenInfo,
{CFrame = rockets.PrimaryPart.CFrame * CFrame.Angles(math.rad(targetRotation.x), 0, 0)})
tween:Play()
end
rot(Model, 3, 90)
task.wait(4)
rot(Model, 3, -90)