Make a model have a specific position

Another method you can use is Welding the model to the PrimaryPart and then move set the CFrame of the PrimaryPart
Example:

local function WeldModelToPrimaryPart(model)
	local primaryPart = model.PrimaryPart
	
	for _, part in next, model:GetDescendants() do
		if (part ~= primaryPart and part:IsA("BasePart")) then
			local weld = Instance.new("Weld")
			weld.Part0 = primaryPart
			weld.Part1 = part
			weld.C0 = primaryPart.CFrame:inverse() * part.CFrame
			weld.Parent = part
			part.Anchored = false
		end
	end
end

local model = workspace.TestModel
WeldModelToPrimaryPart(model)
model.PrimaryPart.CFrame = CFrame.new(0, 0, 0)

Using this method will prevent this from happening

1 Like