How do I make the RootPart revolve around an attachment

I have the following code:

game:GetService("RunService").RenderStepped:Connect(function()
    if Balanceando then
        local rootPart = Humanoid and Humanoid.RootPart

        if rootPart and ManoDerechaAttachment and ManoIzquierdaAttachment then
       

            AnguloBalanceo = math.sin(tick() * VelocidadBalanceo) * LimiteBalanceo

            print("Ángulo de balanceo:", AnguloBalanceo)

            rootPart.CFrame = CFrame.new(rootPart.Position) *
                             CFrame.Angles(math.rad(AnguloBalanceo), 0, 0)
        end
    end
end)

So, as you will notice, when the character turns, what it does is move the entire body and everything based on the HumanoidRootPart, which is a problem since the objective is to make the hands always be at the same point, that is, that the HumanoidRootPart rotate through an attachment (it would be one that is at the end of the Y axis of the HumanoidRootPart) which would ensure that when the player swings, the hands do not detach from the main position
edit:
image

just delete the weld form the rootpart and then move it, when it finish moving then create the same weld to fix it

First of all I don’t use solder or anything. I did everything by code. The humanoidrootpart is pinned. I don’t understand which solder you mean.

Help me please please, for please thanks

just disable the weld inside the HRP inside the weld when it’s activated