So I know that the C1 and C0 have to be the inverse of the different parts, but I need to add the size of the part into account so it positions exactly how it was before it was welded
I don’t know what you mean, but if you want to weld a part to other and keep its cframe then do this
local Weld = Instance.new("Weld")
local Offset = Part0.CFrame:ToObjectSpace(Part1.CFrame)
Weld.Part0 = Part0
Weld.Part1 = Part1;
Weld.C0 = Offset
Weld.Parent = Part0